Managing and preparing a strategy before executing the process of testing is a beneficial activity that should be practised by all software engineers. By doing so, team of testers can decide a single method, approach and technique that will be used for testing a software. With proper management and strategy, one can easily point out the areas that require special attention as well as ensure that the client’s demands and requirements are fulfilled. By preparing a strategy, the tester can further set a target of testing and ensure that it is achieved with careful programming and coding. To know more about test strategy and test strategy document, here is a detailed description of the two.
To simplify the process of testing a software application, team of testers plan a test strategy, which defines the testing approach that will be used to test the software. In test strategy, the targets are set by the team regarding what needs to be accomplished and how it will be accomplished. It consists a description of all the test cases and data that will be required for testing. Moreover, test strategy is a guideline to be followed to achieve the test objective and execution of test types mentioned in the testing plan. It is one of the most important documents for Quality Assurance (QA) team and writing it effectively is a skill every tester should achieve in their career. In short, test strategy covers following aspects of a software:
Before initiating any major or minor process related to software development, it is vital to check and consider all the risks related to it. This allows software engineers to take all the necessary precautions while executing the development and testing process. Similarly, while preparing test strategy one should consider the risks associated to it, which will ensure that no unwarranted hurdles are in the way of implanting the test strategy. To avoid such a scenario, the below mentioned risks are considered while preparing test strategy:
Test Strategy Document is developed by the Project Manager in the early stages of software development and is maintained throughout the process. Test Strategy Document is a high level document that is immensely important to the QA team. This document defines the software testing approach that is used to achieve testing objectives and is generally derived from the Business Requirement Specification Document.
As it sets the standards for testing process and other activities, the test strategy document remains a static document and no frequent and unnecessary modifications are made in it throughout the development process, because frequently changing plan affects the quality of the testing and makes it difficult to follow a particular plan. Hence, whenever small requirements are needed to be changed during the development process, they are usually updated in the test plan, which allows the test strategy to remain the same.
The Test Strategy Document is created in the project’s Requirements Definition phase, after the requirements have been specified. It describes the scope, approach, resources and schedule for the testing activities of the project. Furthermore, it defines what will be tested, who will perform testing, how testing will be managed, and the associated risks and contingencies. As per IEEE Software Engineering Standards, a test strategy document should consist following components.
The project overview along with information on who should approve, review and use the document is included. The phases of the project are defined in accordance with timelines specified in the test plan. Testing activities and phases that are required to be carried out are also defined in the testing strategy document.
Defines testing process, level of testing, roles and responsibilities of every team member. For every type of test defined in test plan (e.g. unit, integration, system, regression, installation/uninstallation, usability, load, performance, and security testing) there is a description of why it should be conducted along with the details like when to start, test owner, responsibilities, testing approach and details of automation strategy and tool if applicable. The change management process is also defined, which includes change request submission, template to be used, and process to handle the request. Most importantly, these should be developed properly, as they can lead to error or mistakes in future if not documented accurately.
The information regarding the number of environment and the setup required for each of these environment is provided. Defining test data requirements is extremely important, therefore clear instructions on how to prepare test data are included in this set of test strategy document. Backup and restore strategy is also provided, which ensures that there is no loss of any data due to code issues.
Provides comprehensive information about the test management and automation tools that are required for test execution. For performance, load and security test, the required approaches and tools are described along with the details of open source or commercial tool and the number of users that can be supported by it.
To ensure proper and successful test execution, release management plan should be created thoroughly. Furthermore, by setting up build management process, one can get information on when, where and how the new build should be made available and deployed.
All possible risks related to the project that can become a hurdle in test execution are defined in test strategy document. In addition to listing these risks, a clear plan is also created to ensure that they are tackled appropriately. A contingency plan is also developed in case these risks are encountered by the development team in reality.
Once all the activities are defined in test strategy document, it is reviewed for sign-off by the people involved, such as the project management, business team, development team and system administration team. Along with the proper date, comment and approver name, the summary of the reviewed changes should be tracked since the beginning of the document. Also, it should be continuously reviewed and updated with the testing process enhancements.
Test strategy is a high level management method that validates adequate confidence in the software product being tested. It ensures that the cost efforts and timelines of the software development is within acceptable limits and that the end product is compatible to the requirements stated by the clients. Furthermore, the Test Strategy Document is a reflection of all the activities performed by the Quality Assurance (QA) Team during the Software Development Life Cycle (SDLC). With the assistance of this document, the process of software development is monitored by all the stakeholders of the project. It includes details about all the important components of software development, such as, the test environment, risk analysis of the project, tools used for testing, and more. Hence, software release goes through Test Strategy Documents time to time, which maps the progress of testing in the right direction.