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