How to Write Better QA Tests
Without competent QA, so much effort goes to waste — not just in initial coding, but in dev time lost to debugging a process that could be optimized. Read on to learn about writing test cases with the right scope and procedural flow.
Join the DZone community and get the full member experience.Join For Free
Today, we’re sharing our approach to test writing and how you can use it to get better results from your QA tests.
Crafting well-written test cases is critical to getting reliable, fast results from your manual QA tests. But learning to write better QA tests can take a bit of practice. That’s why when we onboard new customers, each one gets paired with a customer success manager who gives them a crash course in writing kickass tests.
Whether you use Rainforest or not, the QA test writing strategies that we teach our users provide a solid foundation for writing QA tests that get reliable results.
Better Quality Products Start With Better QA Tests
Clearly written, singularly-focused tests make your testing process run a lot more smoothly. You’ll be better able to communicate your expectations to your testers, leading to more deterministic feedback. And your tests can be executed more quickly – and scale up easily – because there’s no confusion about what needs to be done for any given test case.
Trouble with test writing can also be a good indicator of larger problems with your product or interface. Engineer Max Spankie at ConsumerAffairs discovered that the hyper-focused format of Rainforest test cases serves as its own smoke test for quality:
We realized that if it takes too much effort to write a test that testers will understand, that’s a red flag for us about the usability of that feature.
As any developer knows, writing good tests forces you to think through exactly how you want something to work. This can have a real impact on the quality of your product, and keeps your team from wasting time chasing down rabbit-holes when what the product really needs is a holistic overhaul.
What Does a Good QA Test Look Like?
To achieve the end goal of clear, repeatable test results, test cases in the Rainforest platform are written in a simple action-question format.
Rainforest tests allow you to confirm at-a-glance that key processes work as intended through a simple series of instructions which we call steps. Each step consists of an action and a question about the results of that action. The action must be a simple and complete, and the question should have a “yes” or “no” answer. The format is designed to make QA test results as clear and unambiguous as possible.
One of our customer success managers, Lita, gives the following insight on why writing tests in this format produce great results:
It’s best to direct testers through unambiguous steps that can be immediately associated with success or failure by your team. This takes the burden of interpretation off the testers, while providing crystal clear answers about whether your process worked. The great thing about this approach to writing tests is that you complete control the performance of the testers, whether or not they’re familiar with the product or feature being tested. By distilling a test case down to the essential actions required to complete a process, and tracking success and failure along the way, the action-question method of test writing helps pinpoint bugs quickly and precisely.
Finding the Right Test Scope
Another important aspect of writing good QA tests is to make sure that the scope of your tests is aligned with the feedback you care about.
Oftentimes when our customers first start writing tests in Rainforest, they try to cram too much into a single test case, or into a single action-question pair.
This is part of the reason why we require questions to be formatted for a “yes” or “no” answer in Rainforest. By constraining the results of each step in the test to a simple “it worked” or “it didn’t work,”
Ideally, the scope of a single test case should represent a complete (but simple) user activity. For example, a common test case in Rainforest is to create a new user profile. Another test case might be to log in to an existing account. While testing these two activities in one long test case might seem like it will save time, ultimately each set of actions represents a different activity, and should be separated into two test cases.
Troubleshooting Bad QA Tests
In most cases, a well-written test should be easy to execute, even for someone who doesn’t have any special knowledge of the product. Rainforest customers have this benefit baked into their manual testing flows, since our network of testers can flag poorly-written tests as confusing. You can get some of this benefit at your organization by having a third-party review your tests for clarity, although this is a much slower, less scalable alternative.
Share Your QA Test Writing Strategy!
Writing better tests is one of the most significant ways that you can improve your QA results without investing more time, energy and resources into your workflow. Do you have a test-writing strategy that works for you? Tweet @rainforestqa and let us know!
Published at DZone with permission of , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
The SPACE Framework for Developer Productivity
Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline
Database Integration Tests With Spring Boot and Testcontainers