Describing Testing as Quality Assurance has always struck me as a misnomer. There is just no way that Testing can assure quality all on its own.
Personally, I like to call a tester, a tester. If you want to dress up in fancy clothes, then maybe "Quality Assessment" would be more appropriate, but I just can't agree with "'Quality Assurance".
What do I mean? Well, imagine your testers have executed a test-pack, and everything failed. Then, management decides to go live anyway (who knows why).
In that case, testing did its job, but testing didn't assure quality.
Testers Are Information Providers
I’ve been involved in software testing for 20+ years, working on major software implantations right across the globe, from England to New Zealand, India and Mexico. Over that time I’ve seen testing evolve and go through various facelifts, but one thing is always true – you can’t have a good project without good testing!
During my 2 decades in testing, I've realised something fundamental: Testers are information providers.
Testing will never fix problems itself, but good testing will:
- Accurately relay the status of a given solution at a given stage of development
- Provide development with target areas to focus their efforts
- Let the business know if the project is on track, or not
- Let training get their ducks in a row ahead of the roll-out
I want to stress; you can achieve this with good testing. That means the right tools, correct coverage, appropriate test conditions, efficient prioritisation, and robust strategy.
What you also need, crucially, is good test reporting.
How to Improve Software Quality with Simple Information
With good testing in place, you can provide valuable information to the whole project. What the project does with that information is the key to achieving high-quality solutions.
Now, I don't mean that everyone needs to refocus on quality as a number one priority. Rather, other teams should work closely with the testers to understand the information and what to do with it. Despite what a lot of you think, testers aren’t the enemy. Other teams can and should use their information to make their own lives easier.
Let’s look at 3 specific teams, and how they can drive software quality by utilising simple test information:
1. How Your Delivery Team Can Use Test Data
Defect Reports are key to helping your delivery team drive quality. But it’s not just having the reports, it’s how you use them – and that’s in Defect Triage.
How many times have you seen the siloed approach to delivery/test? – The classic ‘throw it over the fence’ and let the other team deal with it.
This approach is never going to get anywhere. It’s a fundamental breakdown in communication and quality will undoubtedly suffer.
You just can’t expect the other parties to know the subtleties of the defects, understand the patterns or appreciate the differences.
Working through Defect reports together allows effective triage.
It brings together test and delivery. Effective triage gets rid of Chinese whispers and cuts straight through to the facts:
- Where are your high-defect areas/functionality?
- What are your recurring issues?
- Where does delivery need extra/less focus?
2. How Project Management Can Use Test Data
I’ve been on so many projects with let’s say, optimistic, project management. Even when a project is failing, they don’t adjust their expectations accordingly.
When a project doesn’t meet deadlines, they seem genuinely surprised or just release low-quality solutions.
It can be maddening, but if you take a step back and think about it... Maybe it's because they don’t have access to the right information.
The best place to get project information is the test team.
The right test progress charts will quickly highlight areas of concern. It’s not filtered through team leads or development. Progress charts are so simple, but they give management great insight and control. Project Management can use that control to:
- Adjust resource or alter release dates.
- Set realistic expectations with the project stakeholders.
- Pull the plug before costs and durations spiral out of control.
3. How Training Can Use Test Data
High-Quality software requires effective training material. If users can’t use your solution, is it really any good?
Unfortunately for training, they’re often the ‘poor man’ of a project. I used to think testing got the rough end of the stick until I saw what training have to deal with.
Training time is squeezed as much as test, but they’re often shut out of the project communications. Never-mind the challenge of working with end-users at various levels of experience and proficiency.
You must keep training informed on test progress and I share as much as you can. It’s invaluable for the whole project, and lets training:
- Understand which areas are complete and ready to be documented
- Avoid developing redundant material for broken functionality
- Line up training courses at the right times – after test/before go-live
Why Quality is Everyone's Responsibility
Testers alone can’t assure quality… but good testing can highlight low-quality.
Through their various reports, testers provide the rest of your project with information needed to drive a quality solution:
- The whole project can understand the status of your given solution at any time
- Delivery can focus their efforts
- Management can steer the project
- Training can create and deliver material effectively
Testers are information providers – they’re not the enemy.
Teams should utilize their reports, make the most of their information and let the whole project drive software quality.