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
   185   186   187   188   189   190   191   192   193   194   195