Page 190 - DCAP405_SOFTWARE_ENGINEERING
P. 190
Unit 11: Testing Strategies
Beta testing comes after alpha testing. Versions of the software, known as beta versions, Notes
are released to a limited audience outside of the programming team. The software is
released to groups of people so that further testing can ensure the product has few faults or
bugs. Sometimes, beta versions are made available to the open public to increase the
feedback field to a maximal number of future users.
Finally, acceptance testing can be conducted by the end-user, customer, or client to validate
whether or not to accept the product. Acceptance testing may be performed as part of the hand-
off process between any two phases of development.
Task Visit a software testing website and analyze the limitations of alpha and beta
testing.
Regression Testing
After modifying software, either for a change in functionality or to fix defects, a regression test
re-runs previously passing tests on the modified software to ensure that the modifications
haven’t unintentionally caused a regression of previous functionality. Regression testing can be
performed at any or all of the above test levels. These regression tests are often automated.
More specific forms of regression testing are known as sanity testing, when quickly checking for
bizarre behavior, and smoke testing when testing for basic functionality.
Benchmarks may be employed during regression testing to ensure that the performance of the
newly modified software will be at least as acceptable as the earlier version or, in the case of
code optimization, that some real improvement has been achieved.
Finding Faults
It is commonly believed that the earlier a defect is found the cheaper it is to fix it. The following
table shows the cost of fixing the defect depending on the stage it was found. For example, if a
problem in requirements is found only post-release, then it would cost 10-100 times more to fix
it comparing to the cost if the same fault was already found by the requirements review.
Time Introduced Time Detected
Requirements Architecture Construction System Test Post-Release
Requirements 1 3 5-10 10 10-100
Architecture - 1 10 15 25-100
Construction - - 1 10 10-25
Self Assessment
Fill in the blanks:
7. Unit testing tests the …………………… software component, or module.
8. ………………………. testing verifies that a system is integrated to any external or third
party systems defined in the system requirements.
9. Alpha testing is simulated or actual operational testing by potential users/customers or
an ……………………. test team at the developers’ site.
10. It is commonly believed that the earlier a defect is found the ………………….. it is to fix it.
LOVELY PROFESSIONAL UNIVERSITY 183