The Quality Triad: the makings of a great software quality testing team
A software testing team that is consistently successful in the area of quality is made up of countless tangible and intangible things. However, there are three elements that are the cornerstones of a top-notch testing team who maintains excellent quality and test coverage.
These three elements compel the Quality Triad. With the Quality Triad in place, there will be a highly effective team who can ensure comprehensive test coverage, solve issues creatively, and be extremely adaptable.
Quality Triad Element One: People
Any given person can test a piece of functionality, but any given person cannot test a piece of functionality well. This is a commonly misunderstood principle. Of course, you can give someone software and ask them to use it and exercise functionality and “try to break it.” They can likely do all of those things, but that does not ensure that true software testing practices are being implemented.
A great tester has an in-depth understanding of multiple software development methodologies along with most all aspects of quality assurance and testing. Testers understand the entire software development lifecycle. If a tester does not have direct experience with waterfall methodologies, then they should understand the difference between it and agile. They should understand when Kanban is useful and why.
Testers need to know the significance of the various levels of testing whether it is unit testing, system testing, or regression testing. When a tester is well-versed in these fundamentals, they have the ability to be flexible and they can adapt to the environment in which they are a part of.
Testers must be great writers and communicators. This is a key factor for getting things done efficiently. Almost a third of a testers time can be spent writing test cases, defects, and communicating feedback and questions. Test cases and defects are consumed by product managers, developers, automators, other testers, and many times by technical writers and client facing teams. An extreme amount of time is wasted when defects are not clearly explained with the problem, replication steps, and expected behavior. The same goes for unclear test cases that don’t define the purpose of the test and what the expected outcome is. Every good tester should have a bit of technical writer in their tool chest.
The best testers are instinctively curious. When we test something or see issues, we want to know as much as we can about it. Why it works as it does? What is causing a particular result. What happens if you try something different? We take that information and feed it back into the daily work we are doing. Rarely do we not delve deeper into something we are testing.
Quality Triad Element Two: Test cases
Regardless of what software development methodology you employ, you will certainly need one thing for sure: test cases and automation.
Test cases in any form — highly detailed with steps for every action, or broad test scope definition, or user stories — it doesn’t matter significantly. You will have test cases. Define something once and it lives forever. Ensure that it’s maintainable and you’ve struck gold.
Test cases become the roadmap to how testing is planned and executed. You can see in front of you all that you have in the form of test cases and coverage, and you can select from your test bed only what you want or need at the time. High-risk changes or most-used features will utilize a certain blend of test cases, while a less impactful change can use a different blend of test cases.
Well documented test cases free up the brain to explore other and new areas to test, as well as more complicated exploratory testing.
Test cases are the surest gateway to test automation because the expected behaviors are vetted and defined. Once test cases are automated, then the automation becomes the new test case. Test cases can be archived as automation is completed.
Quality Triad Element Three: Product knowledge
A highly-effective and valuable tester is a subject matter expert (SME) of the application. Testers are using the application every single day. One day we may be dissecting a particular feature or workflow. Another day we may be executing a high-level end-to-end integration test. The fact of the matter is that we are (or strive to be) intimate with every area of the application.
When a tester is an SME of the product, it creates the opportunity to think of new scenarios to explore and test. This increases test coverage, and more bugs can be found. It can also spark new ideas among other team members because they are now exposed to those same new explorations.
Testers are the first users of an application or piece of functionality. We are typically the first people to see all of the parts put together. This allows us to share new and different feedback that may not have come up before.
Being an expert in the product enables broader and more creative thinking, which allows us to carry out the fundamentals of our job more effectively.
There is without a doubt an undefinable list of skills and experience that goes into a great software testing team.
The Quality Triad defines the common thread of a solid and legitimate testing team; the undeniable and required baseline.
People, Test Cases, and Product Knowledge are the three key elements of a great quality test team because each enables other parts of the software development workflow to take flight.