Page 155 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 155

Software Testing and Quality Assurance




                                      Testing Phase Criteria
                                      Two important concepts connected with the test phases  are the entrance and exit
                                      criteria. Each phase must have a defined criterion that objectively and  absolutely
                                      declares whether the phase is over and the next one has begun.

                          The tests to be carried out are also planned during the test phase. The tests to be planned involve:
                           1.   Unit Tests: Deal with small units or modules of software.
                           2.   Integration Tests: Deal with several units or modules that combine to form a subsystem.

                           3.   System Tests: Deal with testing the entire software system.
                          It is obligatory upon planners to consider the following issues before beginning a specific test plan:
                           1.   What to test?
                           2.   Which sources should be used for test cases?
                           3.   Who should perform the tests?
                           4.   Where to perform the tests?
                           5.   When to terminate the tests?
                          A straightforward approach to test software recommends developing a complete and comprehensive
                          software test plan that requires performing unit tests for all the individual units, integration tests for all
                          the unit integrations,  and a  system test to test the software system as a  whole. By adopting this
                          approach, one can ensure top quality software. However, this requires the investment of vast resources
                          and an extended timetable.
                          10.4   Strategy

                          The test strategy is a document that describes the approach that the test team  adopts  to test the
                          software, both overall and for each phase. Assume that you have been given a code that needs to be
                          tested. There may be  times  when it  might be  better  to test some part of the  code manually and the
                          remaining  part of the code with tools and  automation. If  you decide to use tools,  then it should be
                          ascertained whether the tools  need to  be developed or  if  existing commercial solutions  can  be
                          purchased. It may also be more efficient to outsource the entire testing process to a specialized testing
                          company and commission only a small testing team to supervise the work.
                          Deciding on the strategy is a complicated task. This needs to be decided by experienced testers because
                          it can determine the success or failure of the testing process. It is critical for everyone in the team to
                          understand and be in agreement with the proposed plan. The test environment is finalized at this stage.
                          The test environment includes the platforms on which testing should be performed.
                          10.5   Resource Requirements
                          Planning the resource requirements is the  activity of deciding  the  requirements  to accomplish the
                          testing strategy. Everything that could possibly be needed throughout the testing process needs to be
                          considered here. Some of the resource requirements that must be considered during the testing process
                          are given below:
                           1.   People: Number, experience, expertise; should they be full-time, part-time, contract, and so on.

                           2.   Equipment: Computers, test hardware, printers, tools, and so on.
                           3.   Office and Lab Space: Location, size/area, arrangement.
                           4.   Software:  Word processors,  databases, custom tools. What needs to be purchased  and what
                               needs to be written.
                           5.   Outsource Companies: Will they be employed? What will be the basis for choosing them? How
                               much will they cost?



                          148                     LOVELY PROFESSIONAL UNIVERSITY
   150   151   152   153   154   155   156   157   158   159   160