System Testing: Prof. Durga Prasad Mohapatra Professor Dept - of CSE, NIT Rourkela
System Testing: Prof. Durga Prasad Mohapatra Professor Dept - of CSE, NIT Rourkela
◦ Beta Testing
◦ Acceptance Testing
Alpha Testing
System testing carried out by the test team, within
the developing organization.
◦ Test cases are designed based on the SRS
document
The test environment can be controlled a little in
this case.
Entry Criteria to Alpha
All features are complete/testable (no urgent bugs).
High bugs on primary platforms are fixed/verified.
50% of medium bugs on primary platforms are
fixed/verified.
All features have been tested on primary platforms.
Performance has been measured/compared with previous
releases (user functions).
Usability testing and feedback (ongoing).
Alpha sites are ready for installation.
Exit Criteria from Alpha
After alpha testing, we must:
Get responses/feedbacks from customers.
Prepare a report of any serious bugs being
noticed.
Notify bug-fixing issues to developers.
Beta Testing
System testing performed by a selected group of
friendly customers, normally at customer site.
The development team does not have any control
over the test environment.
Entry Criteria to Beta
Positive responses from alpha sites.
Customer bugs in alpha testing have been addressed.
There are no fatal errors which can affect the functionality
of the software.
Secondary platform compatibility testing is complete.
Regression testing corresponding to bug fixes has been
done.
Beta sites are ready for installation.
Guidelines for Beta Testing
Don’t expect to release new builds to beta testers
more than once every two weeks.
Don’t plan a beta with fewer than four releases.
If you add a feature, even a small one, during the
beta process, the clock goes back to the beginning
of eight weeks and you need another 3– 4
releases.
Exit Criteria from Beta
After beta testing, we must:
Get responses/feedbacks from the beta testers.
Prepare a report of all serious bugs.
Notify bug-fixing issues to developers.
Acceptance Testing
System testing performed by the customer himself:
◦ To determine whether the system should be
accepted or rejected.
Acceptance Testing cont…
Acceptance testing is the formal testing conducted to determine
whether a software system satisfies its acceptance criteria and to
enable buyers to determine whether to accept the system or not.
Acceptance testing must take place at the end of the
development process.
It consists of tests to determine whether the developed
system meets the predetermined functionality, performance,
quality, and interface criteria acceptable to the user.
Acceptance Testing cont…
Therefore, the final acceptance acknowledges that the entire
software product adequately meets the customer’s requirements.
User Acceptance Testing (UAT) is different from system testing.
System testing is invariably performed by the development team
which includes developers and testers.
User acceptance testing, on the other hand, should be carried out
by end-users.
Acceptance Testing cont…
Thus, acceptance testing is designed to:
Determine whether the software is fi t for the user.
Making users confident about the product.
Determine whether a software system satisfies its
acceptance criteria.
Enable the buyer to determine whether to accept the
system or not.
Acceptance Testing cont…
The final acceptance marks the completion of the entire
development process.
It happens when the customer and the developer has no
further problems.
Acceptance test might be supported by the testers.
It is very important to define the acceptance criteria with the
buyer during various phases of SDLC.
A well-defined acceptance plan will help development teams
to understand users’ needs.
The acceptance test plan must be created or reviewed by the
customer.
Acceptance Testing cont…
The development team and the customer should work
together and make sure that they:
Identify interim and final products for acceptance,
acceptance criteria, and schedule.
Plan how and by whom each acceptance activities will be
performed.
Schedule adequate time for the customer to examine and
review the product.
Prepare the acceptance plan.
Perform formal acceptance testing at delivery.
Make a decision based on the results of acceptance testing.
Entry Criteria to Acceptance
35
References
1. Rajib Mall, Fundamentals of Software Engineering,
(Chapter – 10), Fifth Edition, PHI Learning Pvt.
Ltd., 2018.
2. Naresh Chauhan, Software Testing: Principles and
Practices, (Chapter – 7), Second Edition, Oxford
University Press, 2016.
Thank You