The task of quality assurance testing can be complexed, but even when you’re up against short release iterations, accuracy can’t be compromised or negotiated. Given the agile nature of the modern day development sphere, release criteria is a must. Not only does it elicit increased efficiency, but it serves as something of a contract that outlines objectives and ensures continuity among all involved parties. It’s also a great way to make sure all deliverables are being attended to, and alleviates any possibility of frustration or disagreement in regards to what the initial objectives were.
To make sure you’re optimizing the effort you’re putting in to your QA initiatives, consider these pointers from industry experts. The team over at TechBeacon shares three impactful insights.
Prioritize testing in areas of the codebase with high activity
During development iterations, our agile team meets with project stakeholders to try to better estimate the potentially affected areas of the product, so that we can focus our efforts in the testing phase. This also helps us plan the next release, including specifying the release criteria before the development cycle even starts.
With any large-scale R&D project, it’s important to look beyond the current structure of the code. You need strategies to identify challenges and bottlenecks that inevitably come up in any product development and release. In his article “Code as a Crime Scene,” Adam Tornhill compares software bugs to criminals. Just as we want to hunt down defects in the real world, we need to find the bugs and the offending developer to make the codebase more resilient and help the developer make better decisions. I like this comparison because it encourages us to ask the right questions when planning our tests.
Quality is not a 'yes or no' feature, it's a threshold
QA can use various methods to determine if the user flow makes sense, including using feature toggling, which allows us to reveal the new functionality to only a few selected customers (i.e., our beta testers). The basic idea of feature toggling is to have a configuration file that defines various toggles for pending features. The running application then uses these toggles in order to decide whether or not to show the new feature.
Security must also be considered. A special QA team should be designated to run penetration tests, code analysis, and third-party review.
As far as the performance is concerned, the release criteria take into account the service-level agreement (SLA) that the product guarantees to our customers; for example, uploading a 3 MB file should take only 10 seconds at most in a modern network environment. The last step is test tagging, which provides a final sanity test in a simulation of the customer environment before release.
Behind the scenes, QA is the star of the show
The QA team sits between the customer and development, which allows test engineers to see the entire picture. When a customer has an issue or problem related to quality, it always falls on the shoulders of QA. Questions will arise about why QA didn’t find the problem earlier, or how a particular usability issue occurred. Therefore, it is only natural that QA should be the primary team involved in defining the release criteria.
For any large-scale project, the question “Is this software ready for release?” will inevitably come up. Asking the right questions and clearly laying out your release criteria in advance will help you solve this riddle. The key takeaway is that your QA team should know what success means for the product and then quantify how you recognize that success. Once you’ve done that, you can implement release criteria and benefit from having a repeatable standard for quality in all your product releases going forward.