Software testing has its own life cycle that intersects with every stage of the SDLC. The basic requirements in software testing life cycle is to control/deal with software testing – Manual, Automated and Performance
Software testing life cycle in detail
This is the phase where Project Manager has to decide what things need to be tested, do I have the appropriate budget etc. Now here proper planning at this stage would greatly reduce the risk of low quality software. This planning will be an ongoing process without end point.
Activities at this stage include preparation of high level test plan according to Software Test Plan (STP) is designed to prescribe the scope, approach, resources, and scheduler of all testing process activities. The plan must addressed the items to be tested, the all features to be tested, all the types of testing to be performed, the personnel responsible for testing, the resources and schedule required to complete testing, and the risks associated with the plan. Almost all of the activities done during this stage are included in this software test plan & revolve around a test plan.
Once test plan is designed and decided upon, next step is to delve little more into the project and decide what types of testing activities should be performed at different stages of SDLC and Software Testing life cycle.
Proper meetings between testing teams, project managers, development teams, Business Analysts to check the progress of things which will give a fair idea of the movement of the project and ensure the completeness of the test plan created in the planning phase and start creating test case formats and test cases itself. In this stage we need to develop all functional validation matrix as per requirements to ensure that all system requirements are covered by one or more test cases, identify which test cases to automate, review of documentation, i.e. Functional Design, Business Requirements, Product Specifications.
Test plans and test cases which were developed in the analysis phase are revised. Functional validation matrix is also revised and finalized. In this stage risk assessment criteria is developed. If any require automation then you have to select require test cases to automate and start writing scripts for them and also prepared Test data. Standards for unit testing and pass fail criteria are defined here. Schedule for testing is revised and finalized and test environment. This is very important stage in the Software testing life cycle.
Construction and verification
In this phase we have to complete the entire test plans, test cases, complete scripting of the automated test cases, need to support the development team in their unit testing and ensure that bug reporting would be done as when the bugs are found. Integration tests are performed and errors are reported.
In this stage need to complete testing cycles until test cases are executed without errors or a predefined condition is reached. Run test cases –> Report Bugs –> revise test cases –> add new test cases –> bug fixing –> retesting or regression testing. This is main phase in Software testing life cycle.
Final Testing and Implementation
In this stage need to execute remaining stress and performance test cases, completed and updated documentation for testing, provide and complete different matrices for testing. Acceptance, load and recovery testing will be conducted and the application needs to verify under production
In this stage, the testing process is evaluated and lessons learnt from that testing process are documented. Line of attack to prevent similar problems in future projects is identified and creates new plans to improve the existing processes. The recording of new errors, issues and enhancements is an ongoing process. Cleaning up of test environment is done and test machines are restored to base lines.