Published by
There’s a lot of excitement prior to a large-scale tech product launch or update, as devs look forward to seeing all their hard work in action and users anticipate the new benefits and/or experience. The last thing anyone wants—whether it’s someone on the dev team or an end user—is to discover bugs, inefficiencies or security flaws in a newly launched or updated product.
To avoid this, a robust quality assurance system is vital. Below, 19 members of Forbes Technology Council share essential pre-release QA steps for dev teams and why it’s so important not to skip them.
1. Test Data Integrity
A thorough test of data integrity is a critical step. This involves ensuring the accuracy, completeness and consistency of the data used in the deployment. By addressing data integrity, the dev team can mitigate risks associated with deploying large-scale machine-learning models. This step ensures that the models are built on accurate and consistent data, leading to more reliable predictions and insights. – Shahar Chen, Aquant
2. Have The Dev Team Test The Product
Prior to a product launch or update, a robust quality assurance system is crucial. Actively involving the dev team by having them use the update in the way genuine customers do uncovers weaknesses and drives essential updates. Phased testing, starting with internal QA and expanding to a broader audience, ensures optimal velocity, prevents excessive versions and guarantees rigorous testing for a flawless product. – Murtaza Amirali, DataPillar
3. Have Members Of Other Teams Try To ‘Break’ It
The QA team should be well-integrated with not only the dev team, but also the customer success and sales teams. Often, dev teams use a feature in a prescribed way. Handing the feature over to the business or sales side of the organization will ensure that it’s used in weird, non-normal ways. These are test cases you should bring into your QA process. If sales can’t break it, it’s ready to launch. – Lewis Wynne-Jones, ThinkData Works
4. Run A Security Scan On The Code
Running a security scan on the code is a must to check for any vulnerabilities in the code base. Application testing is vital so you can eradicate threats through the solution and ensure there are no compromises in the application. Additionally, user acceptance testing is crucial before deployment—that should be done in a separate environment from the production environment. The testing must conform to the acceptance criteria. – Nihinlola Adeyemi, ErrandPay Limited
5. Carry Out A Thorough UAT Process
User acceptance testing is critical. You must put your software into the hands of your intended user base in as close to a real-world scenario as possible. Actual users will exercise the system in unique ways that aren’t typically captured in unit or regression testing. It also ensures your software runs reliably across a wide range of operating systems, browser versions, hardware and so on. – Matt Dickson, Eclipse Telecom
6. Assess The Market Response
Market testing is an essential step before a product launch. It involves conducting various tests, such as surveys, focus groups, prototype testing or limited product releases, to assess consumer preferences, demand, pricing, positioning and overall market viability. By assessing market response, you can evaluate the potential success of your product, ensuring a smooth launch and mitigating risks. – Rick Kelly, Fuel Cycle
7. Verify All Code Has Been Checked In
Verify all code for your major release has been checked in. Sometimes, there are stragglers submitted to the code base that haven’t been approved yet. It’s better to catch these earlier than later, so have your dev team be on the lookout for them—before a client has a chance to see them! – Syed Ahmed, Act-On Software
8. Run Comprehensive System Tests
One critical quality assurance step before a large-scale deployment is comprehensive system testing, which ensures hardware and software loads and all the individual components of the software interact correctly and function as intended under various conditions. This validates overall system reliability and performance. – Amitkumar Shrivastava, Fujitsu
9. Fully Test Both Functional And Nonfunctional Requirements
Make sure you have full test coverage of all your functional and nonfunctional requirements. Functional requirements include artifacts such as user stories, features and epics, while nonfunctional requirements refer to qualities such as performance, security and usability. You should include a mixture of manual and automated tests that together will verify that the requirements are fully covered and working. – Adam Sandman, Inflectra Corporation
10. Load Test Your Infrastructure
One critical quality assurance step that must be taken before a large-scale deployment is load testing your infrastructure. Before anything else, you need to know if your systems can even handle the deployment. Another important step is regression testing, as you must know if your deployment is going to be successful running in various environments. – Christopher Rogers, Carenet Health
11. Develop A List Of Repeatable Tests For An Independent QA Team
It’s simple in principle, but I think one of the most important things to do is to have a documented set of repeatable test procedures executed by independent QA team members. All tests must be passed, and a release or project manager should verify that all boxes were checked as passed. Oh, and keep updating that list of things to test—keep the list fresh! – Paul Perrone, Perrone Robotics
12. Integrate AI-Based Anomaly Detection
Before a large-scale deployment, the integration of an AI-based anomaly detection system is crucial. Such a system can predict and catch any unanticipated system behaviors in the prerelease phase, beyond the typical manual or automated testing procedures. Combining human skill with AI predictive analysis ensures a well-rounded, forward-thinking approach to quality assurance. – Andres Zunino, ZirconTech
13. Carry Out Regression Tests
My advice to any dev team: Don’t ever skip regression testing. Set aside plenty of time for it before you launch, even if everything seems to be working perfectly. Make sure you have robust testing suites and that your team is trained to understand what to look for and how to fix any issues that pop up. – Sandro Shubladze, Datamam
14. Bring In Pen Testers
Implement security penetration testing. Engage ethical hackers or security experts to identify vulnerabilities in the system and attempt to exploit them. This helps uncover potential security risks and allows for timely remediation before deployment. – Jagadish Gokavarapu, Wissen Infotech
15. Verify That The Customer’s Objectives Have Been Met
It’s important to be extremely specific about customer objectives and lay them out at their most discrete levels. The dev should also be able to quantify them in a way that accurately measures the degree to which they are met. A clear breakdown of objectives and their metrics allows the testing process to be as razor-sharp and accurate as possible. – AJ Abdallat, Beyond Limits
16. Review Disaster Recovery And Rollback Procedures
Test your disaster recovery and rollback procedures. Human error and system failures can often result in the loss of substantial amounts of data. Ensure your snapshots are working and the data can be recovered. Test the process regularly to ensure it’s still working, especially after updates to working dependencies. The last thing you want is to find out that your backups can’t be recovered. – Luke Wallace, Bottle Rocket
17. Test Data Movement Scenarios
QA has become even more complicated since data isn’t in just one place anymore. With the massive growth in edge computing, dev teams need to take extra steps to test these complex data movement scenarios—edge to cloud, edge to data center, edge to edge and so on—and spend more time and money on security and pen testing. – Bruce Kornfeld, StorMagic
18. Carry Out A Second Round Of Tests
One quality assurance step you should take before a large-scale deployment is a second round of testing after the initial run. You may think you have squashed all of the bugs, but if you don’t go through multiple rounds of testing, you may accidentally break something while implementing the first set of fixes, which could lead to a poor user experience and more problems post-launch. – Thomas Griffin, OptinMonster
19. Ensure QA Is Top Of Mind Throughout The Development Process
If you’re thinking about quality assurance just before a release, it’s too late. Quality assurance begins before a single line of code is written by creating user stories that form the basis of team communication. It continues by writing clear test plans and automated unit and integration tests, manually testing each story, and ensuring the product owner reviews and accepts (or rejects) everyone. – Dave Todaro, Ascendle