The construction of the approach to testing begins with a study of each stage of the development life cycle in order to select tests for static and dynamic analyses, which can be used at an appropriate stage. At that it does matter which model of the life cycle is used: waterfall, spiral or iterative model – to select effective tests, you can examine the stages of any of the listed models. As an example, let us consider a Waterfall model and find out what it is used for.
The requirements determination phase. Identify all documents that contain requirements and are generated at this stage, as well as all documents containing the static testing results. If you are developing a test plan at the stage of formulating requirements, this step can help to draw up a plan and schedule of the necessary inspections. Appoint the people to participate in the inspections. Choose the repository in which you can store the test results.
System design stage. Identify all the project documents that are being developed at this stage and the guidelines for the testing team to conduct related inspections. The product requirements documents (terms of reference documents) specify test targets, and the project design documents will help to get an idea of how to conduct testing. Mobile application testing services are needed to correct the behavior of any mobile app that does not want to run smoothly on a chosen device.
Software design testing, program code testing, unit testing and system testing. If the testing team performs static or dynamic testing of any of the above activities, appropriate test plans will be required. From time to time the testing team runs tests to identify memory leaks or measure the cyclomatic complexity in unit and system testing phases. If this is the case, then such test plans should included in the general test plan. If the responsibility for these stages lies solely with the development team, they should make assumptions about test approach.
System tests. Describe intended testing activities: functional tests, load tests, stress tests, security tests, expandability tests, usability tests and others. Formulate high-level goals for these tests and describe how to map them to the requirements they are derived from as well as to the functional specifications. If some tests are skipped, give a rationale for making such a decision and analyze the associated risks.