I’m sure you’ve seen this scenario before. The dev team is building momentum toward a release in the coming week, but software testers still don’t have a build. When they finally get that build, there is far too much work for far too many people. This leads to the common complaint that the testing department is delaying the release.
How can we solve this problem? Follow these 5 methods to speed your QA process:
Reduce Waste
In most traditional testing departments, there are several kinds of waste that can be cut. Heavy test cases are a good example— why say “double click on Internet Explorer” when light documentation of test ideas would work just as well? After all, highly detailed test scripts restrict creativity and require time to write and maintain.
Rather than creating highly detailed test cases, try out more general guidelines that facilitate testing rather than slow and constrain it.
Rethink Regression Testing
Regression testing is how we check for problems that changes may have introduced. Before a release, this can sometimes mean running all previous tests and take weeks or months.
One way to think about regression testing is like a knob that can be turned up or down, depending on what changed in the software. With a little system knowledge and understanding, you can turn the regression testing down from the maximum to something that takes less time but still reveals the most likely problems.
Search Out Bottlenecks
What happens when you are driving home from work during rush hour, and a car ahead gets a flat tire?
Everything comes to a complete stop.
This is the effect bottlenecks can have on our work. Things are flowing through at max capacity, and then, something happens that restricts flow. Removing these restrictions accelerates the flow to software development and release.
Common sources of bottlenecks are relying on individual people for things like code or test review, requiring complete regression cycles when more tailored testing would work, and getting the testable code at the very last minute.
Pair Up
Pairing was formalized in the 90s with the advent of extreme programming. The idea was that each person can check the other’s work immediately and introduce fewer problems into the code base.
That helps for coding errors; things like buffer overflows and remembering to check for null.
Pairing a developer with a tester prevents errors from ever making it into the build. One way to approach dev/tester pairing is to spend a few minutes performing quick attacks using a build on the programmer’s computer. These are tests that can be performed quickly and don’t require much setup time.
At a minimum, finding bugs at this point will save the time it takes to deploy the initial build, report, and fix bugs, and then spin up the second build. That adds up to a lot of time for each build and fix cycle.
Automate Less
Most teams use tools and automated checks based on the premise that they make testing go much faster. The reality is that excessive automation can slow your process to crawl.
Automation takes the time to develop and maintain. Frameworks are finicky and require careful selection. Sometimes, automated solutions simply don’t work out, and teams abandon them altogether. And unless you have a dedicated team, there is also the matter of context switching between automation work and other activities that take even more time.
Focus on developing automation in select cases where it makes the most sense.
These are just five ways you can become more efficient and accelerate the flow of software QA. Take a look around your organization and you’ll find many more.