Spending an appropriate amount of time on Quality Assurance (QA) prior to release will save significant time over the life of a project. However, making sure we have the time needed to raise amendments is a different story altogether. How can you make sure that your project gets the most out of its time spent in QA?
Here are 5 tips for getting the most out of QA:
1. Get QA involved early
There’s more to releasing software than “build and test”. There are a lot of moving parts, people, and processes that go into the release. Multiple people from different departments work on the product throughout its lifecycle. And each person, be it designers, project managers, or web developers, has a different interpretation of the clients’ wants and needs.
QA needs to know that these interpretations are what the client actually wants. That way, we ensure the end product is not only functional but also fit for purpose. It’s easier to understand the client's expectations if QA are involved earlier in the project. Understanding the original brief and any potential changes can go a long way to ensuring success in the final product.
2. Take a step back
When I first started working in QA one statement that stuck with me was that “we tell you your baby is ugly”. Whilst amusing, it does raise a good point. Whoever worked on this project has put a vast amount of time and effort into it. It’s understandable to be frustrated when someone approaches the work you’re emotionally invested in and points out the defects.
QA is always one step removed. It’s what allows us to provide an unbiased viewpoint and notice amendments that would otherwise have been overlooked. We will always make sure we’re as constructive as possible, but when you get our feedback try seeing it from our perspective. Take a step back and remember that our observations will help you make a much better end product.
3. If it needs more time, give it more time
In 2010 the US Government introduced the Affordable Care Act aimed at allowing American citizens to shop online for healthcare insurance. However, out of the tens of thousands who attempted to register during its first week, only 1% were successful. Federal government officials later admitted they’d rushed through testing too fast and tried to do too much, too late. For a multiyear project this is worrying. What’s even more worrying is a report stating that the total cost of the project was $1.7 billion.
It’s easy to judge a failed project you had no part in, but had the development team communicated efficiently and secured sufficient testing time this outcome could have been avoided. Consider how poor time management or setbacks might impact testing procedures and allocate more time in response - before the worst happens.
4. An absence of errors isn’t necessarily a good thing
When we fail to discover any defects during testing, we have to fall back onto the absence of errors fallacy. This is one of the seven fundamental principles of software testing and states that just because no defects were found it doesn’t mean the software is ready to go. Was the product truly ready for testing? Were the tests designed just to find bugs or to ensure the product matches user expectations?
5. Find your optimal amount of testing
While testing is beneficial it’s also time consuming and expensive. At some point the cost of finding bugs will be higher than the cost of releasing them into a live environment. This ‘law of diminishing returns’ has got to be accepted, as you can never expect to find every bug. You have to keep in mind that exhaustive testing is, quite literally, exhaustive and there has to be a trade off between cost and the level of defects found. Conduct a risk assessment before you start to find your optimal amount of testing.
In short, QA is a vital step in building a product. Everyone involved deserves the best possible results from the project. So it’s only fair you make it achievable by making the most of your product’s time in QA.