Your fundamental software testing process is the cornerstone of your entire software testing team. It defines your effectiveness as a test manager. If your process does not map to your quality expectations, definitely it will hamper your test productivity and make it more cumbersome.
In an effort to try and help test managers around the globe, we have identified few steps that will help you enhance your test process and make it robust.
While being part of an ISO preparation for our organization, the first principal learnt was “Document what you are going to do, and DO what is DOCUMENTED“.
This principal changed how we looked at the software testing process too. For everything we started applying the principal and the results were phenomenal.
So lets start with the 4 step improvement approach for our software test process:
Logical Identification of Current Software Testing Process
Lets look at how testing is carried out today in your organisation. Write it down on a piece of paper with each and every bit of information detailed out. Identify things like:
- build release documentation,
- test documentation,
- test reporting,
- release management,
- defect lifecycles,
- responsibility sharing,
- code versioning,
- software testing cost management and calculation,
- total quality management and so on.
This will be a very important step considering the revisions to be done. Make sure that you do a SWOT for your software testing process here.
Once your identification is complete, you can benchmark it and then start with step 2.
Map your process to the Fundamental Software Testing Process
The Fundamental Software Testing Process as identified by Dorothy Graham in her books is a major tool for setting up expectations for any test effort. Its a simple 5 step process that involves:
- Planning and Control
- Analysis and Design
- Implementation and Execution
- Evaluating Exit Criteria and Reporting
- Test Closure
The planning phase is the most important part of this process. If you plan well, Im sure your timelines and cost will be intact. Subsequently, each and every phase is important within the fundamental software testing process.
Now, we need to map this fundamental software testing process to the list of identified processes and find GAPS.
Sample examples of gaps could be:
- Test cases are not reviewed before execution. This leads to a lot of unexecuted test cases.
- Defects are not reviewed before reporting. Leads to a lot of unattended defects.
- Missing deadlines due to over expectations out of the test team abilities.
- Improper configuration management leading to mishandling of test artefacts.
- Eventually, a poor Quality product.
As we move ahead with the identification of process gaps we will realize our targets for improvement.
Set Realistic Targets of Improvising your Software Testing Process
Now, keep a realistic target that can be achieved and implemented within your organization in a span of 30 days.
Change is a gradual thing. Dont expect it to happen overnight.
Prioritize the list of changes and their order. See what needs to be implemented on the first shot. Gradually keep integrating each change to your team and measure the difference in quality.
Each step will surely bring either an improvement or a disfigurement. Either way, measure the change. Document it and take corrective actions if required.
An incremental strategy of changing a software testing process is crucial for its success. If processes are changed overnight, it may lead to colossal losses.
Monitor the Change and Look Out for Continuous Improvements
So far, you have:
- Identified your existing software testing process
- Mapped the shortcomings of the existing process to the fundamental software testing process
- Prioritized the list of changes and implemented each change gradually
The next step is to keep on continuously monitoring the revised software testing process and loop through the previous steps until you find a measurable change in your productivity.
You may generate statistics and ask yourselves questions like:
- We mandated test case review for each test case – this added 12 additional hours of review and fix time – What is the number of test cases which are not executed any more?
- If you see an improvement of a quantifiable value, keep continuing test case review and train your testers to avoid the common issues in future.
- Start Bug triage meetings instead of one on one defect explanation to developers
- You will see that now the transparency in process has improved and no unnecessary negotiations are happening between direct devs to QA
- Daily Stand Up meetings must not be more than 15 mins each session
- Testers are prepared in advance for the meeting and are quick to adapt to customer requirements
The list can go on.
In order to help you develop a charter of software testing process improvement, we have prepared a sample checklist. Feel free to contact us if you wish to get it for FREE.
Thank you for reading the article.
To summarize, the software testing processes are ever-changing and ever-growing. If you feel there is something that I have missed out, feel free to write the same to us at firstname.lastname@example.org or comment here below. I would be obliged to add it to the blog.