Most commonly used testing techniques and methodologies are described as part of the organization’s test strategy. Test Manager should be able to decide on a suitable testing strategy for the project based on the project requirements as well as the organizations needs.
In simple terms, test strategy contains the following information:
- How to use testing for managing project and product risks?
- How to divide testing process into different test levels?
- What are the high level testing activities?
- Which testing strategy should be used in which situation? Strategies can differ based on project requirements like regulatory requirements, risk levels and different methodologies of software development.
- General test entry and test exit conditions
- The activities and processes mentioned in the Test Strategy should be align with the organizations Test Policy.
Table of contents
Types of testing strategies
Some of the testing methodologies that may be part of an organization’s testing strategy are:
- Analytical strategy
- Model based strategy
- Methodical strategy
- Standards compliant or Process compliant strategy
- Reactive strategy
- Consultative strategy
- Regression averse strategy
Analytical strategy
For example risk based testing or requirements based testing. Here the testing team defines the testing conditions to be covered after analyzing the test basis, be it risks or requirements, etc.
So, in case of testing based on requirements, requirements are analyzed to derive the test conditions. Then tests are designed, implemented and executed to meet those requirements.
Even the results are recorded with respect to requirements, like requirements tested and passed, those that were tested but failed and those requirements which are not fully tested, etc.
Model based strategy
In this technique, testing team chooses an existing or expected situation and creates a model for it, taking into account inputs, outputs, processes and possible behavior.
The models are also developed according to existing software, hardware, data speeds, infrastructure, etc.
Let us consider the scenario of mobile application testing. To carry out its performance testing, models may be developed to emulate outgoing and incoming traffic on mobile network, number of active/inactive users, projected growth, etc.
Methodical strategy
Here test teams follow a predefined quality standard (like ISO25000), checklists or simply a set of test conditions. Standard checklists can exists for specific types of testing (like security), application domains.
For instance, in case of maintenance testing, a checklist describing important functions, their attributes, etc. is sufficient to perform the tests
Standards or process compliant strategy
Medical systems following US Food and Drugs Administration (FDA) standards are good examples of this technique.
Here the testers follow the processes or guidelines established by committee for standards or panel of industry experts to identify test conditions, define test cases and put testing team in place.
In the case of a project following Scrum Agile technique, testers will create its complete test strategy, starting from identifying test criteria, defining test cases, executing tests, report status etc. around each user stories.
Reactive strategy
Here tests are designed and implemented only after the real software is delivered. So testing is based on defects found in actual system.
Consider a scenario where exploratory testing is being used. Test charters are developed based on the existing features and functionalities. These test charters are updated based on the results of the testing by testers. Exploratory testing can be applied to Agile development projects as well.
Consultative strategy
As the name suggests, this testing technique uses consultations from key stakeholders as input to decide the scope of test conditions as in the case of user directed testing.
Let us consider a situation where the compatibility of any web based application with possible browsers is to be tested. Here the application owner would provide a list of browsers and their versions in order of priority.
They may also provide a list of connection types, operating systems, anti malware software, etc. against which they want the application to be tested.
The testers may then use different techniques like testing pair wise or equivalence partitioning techniques depending upon priority of the items in the provided lists.
Regression averse strategy
Here testing strategies focus on reducing regression risks for functional or non-functional product parts.
Continuing our previous example of web application, if the application needs to be tested for regression issues, testing team can create test automation for both typical and exceptional use cases.
They can even use GUI based automation tools so that the tests can be run whenever the application is changed.
It is not necessary to use any one of the techniques listed above for any testing project. Depending on product and organization’s requirements, two or more techniques may be combined.
Details included in test strategy
The final test strategy should include details about these factors:
- Test levels
- Entry as well exit conditions for each test level
- Relationships between the test levels
- Procedure to integrate different test levels
- Techniques for testing
- Degree of independence of each test
- Compulsory as well as non-compulsory standards that must be adhered
- Testing environment
- Level of automation for testing
- Tools to be used in testing
- Confirmation and regression testing
- Re-usability of both software and testing work products
- Controlling testing
- Reporting on test results
- Metrics and measurements to be evaluated during testing
- Managing defects detected
- Managing test tools and infrastructure configuration
- Test team members roles and responsibilities
Test strategy selection
The testing strategy selection may depend on these factors:
- Is the strategy a short term or long term one?
- Organization type and size
- Project requirements – Safety and security related applications require rigorous strategy
- Product development model
You can review how Test Strategy was covered as part of the Foundation Level syllabus.
We will examine Master Test Plans and Level Test Plan in the next topic.
Other popular articles:
- What are Master Test Plans & Level Test Plan? Examples, When to use
- Test selection techniques – Requirements based, Model based, Checklists, Reactive testing
- What are Test Conditions & Test Analysis? Advantages, Disadvantages & Level of Detail
- What are the Software Development Models?
- Software testing process improvement models – TMMi, TPI Next, CTP, STEP
Leave a Reply