Software testing is performed along three levels i.e. unit, integration and system testing with unit testing chiefly a domain of developers and the latter two, responsibility of the test specialists. The test strategy informs of the level on which the software product needs to be performed.
This includes a clear and well defined mention of all the members in the testing teams, team leaders, project managers with their responsibilities at each stage of testing. This segment of planning has to be reviewed and approved not only by the managerial heads but also the developers.
Test Environment covers the type of platform on which the product needs to run on. The platform can be a particular operating system, devices, the most commonly used browsers or networks with their different bandwidths.
It is one of the most carefully thought out aspects of test strategy. Depending on the scale and the complexity of the project, the economics involved and the time constraints, the project has to make a crucial choice between manual testing and automated testing. It has been well documented that a combination of manual and automated testing suits most of the organisations in their testing endeavours.
Sometimes during the course of testing there is a likelihood of minor alterations in the codes of the product being tested. A good test strategy takes into account the measures which can mitigate such risks.
The testing process consists of many requirements to be fulfilled before completion. The faults detected after running of all test cases have to be rectified by the developers. This is followed by a retest of the rectified version and regression testing to see to it that the developers didn't harm the codes at the time of correction. All this needs to be taken into account before making a final estimate of the time taken to complete the testing process. Another way to compute this time is to look into the previous version of the software and come out with a time which is roughly the double of the previous period.
Some of the functionalities pertaining to software are similar in nature and keeping in mind this similarity; test cases can be built by combining these similar aspects together. For example, a test case can be built for testing all functionalities related to ticket purchase in a railway app such as ticket status, price,etc.
Some test cases are critical to the success of the application. Such test cases should get marked with the tag of highest priority in the strategy, as in the product won't get the green light for launch, without their completion.
The team leaders must report to their managers where the project stands as far as the testing activities go. A status report which informs about how many test cases completed, passed/ failed and time consumed in running them and the like.
A test summary is prepared with the help of status reports on a monthly or weekly basis. In case the project is of critical importance, then a daily summary is prepared.