Defining the Right Testing StrategyWritten by Halyna on January 2nd, 2016
If you are thinking about the testing strategy within the development process, you have passed a point of no return. This is how to make one.
It all starts with the strategy
The Software Development Cycle for any project needs to be viewed holistically, as a whole, encompassing every step from analysis to implementation. Each part of the software development process is only as good as its neighbouring part. If one area is weak, the whole project will be weak.
One key area often taken on too late in the Software Development Cycle, therefore potentially becoming a weak link in the chain, is the testing strategy. Often overlooked or given scant attention to, it is not unusual for some software developers to ‘tack on’ testing at the last possible stage, often when testing itself is already underway.
In a continuous integration process, testers don’t have the luxury to test everything they want due to the fast pace environment. That’s the time when we need to reach a testing strategy.
What to include in the testing strategy
At Romexsoft, we believe that testing strategy is crucial during the analysis and information gathering stage. It should be up there as a priority from the beginning of every single software project. By formulating and bringing on board a testing strategy at stage one, it can be tailored to the specific needs and risks of the client.
In order to define what is the right testing strategy, we need to look at our final goals based on our initial needs. The concept of the strategy is to be able at an early stage to see “the big picture” of what should be implemented and to decide the testing scope and what testing approaches and techniques should be used.
The second objective of setting up the testing strategy is to bring everyone from the team on the “same page”. It will help understanding how the testing process will be conducted, as it directly influences the work of project managers, engineers and testers.
A testing strategy needs to include the objective, methods, a time scale, the resources needed and testing environment. Additionally, it needs to include clearly defined responsibilities. Each area needs to be given due attention to ultimately be able to translate the testing strategy into the testing plan, which will later be implemented. The testing strategy needs to look at how we mitigate risk and what types of testing should be performed. In a nutshell, for each design area and stage there should be a related testing strategy.
Based on our experience, we find Agile Testing Quadrants (from the book by Lisa Crispin & Janet Gregory “Agile Testing: A Practical Guide for Testers and Agile Team”) highly beneficial in the process of building testing strategy.
Looking at the image below, you can find a checklist for testing activities based on four axis representing four essential test groups: technology facing, supporting the team, business-facing, critique product.
Owing to this checklist, we see a holistic development process that is able to encompass the testing needs of the project. By formulating the testing strategy and subsequent testing plan at the final stage of the Software Development Cycle, we are simply looking at the test implementation: a smooth transition that enables a seamless end to the project and assures the clients of the integrity of their software.
As you may see at the quadrants, a key part in it plays the automation testing, which, in fact, reveals the time for most thoughtful exploratory testing.
We are technical experts responsible for development, but our clients are their own business experts. To marry these together, the testing strategy must be matched by us with the overall business requirements that the client knows best. The merge of those two is evident on agile quadrants. This means a highly individualised and tailored service with users and business needs at the fore.
The ultimate benefits of a well-defined testing strategy is a unified approach to the software development. The results are seen in the bottom-line, in the user-friendly system application and in a shorter timescale. By incorporating the testing strategy from the very beginning, tests are easily audited and improvement is an easy, natural next step.