It's launch day. The application that has taken your company 10 months and $3 million to develop goes live in 15 minutes. If your quality assurance team used simulation testing, you can rest easy. Here's why.
Done well, continuous and automated testing can avoid embarrassing application failures. While there are a handful of testing methods available, an emerging technology called simulation testing is a better choice because it allows you to simulate the system under real-world conditions.
Here’s what simulation testing can do for you:
1) Test your entire system in a short time. Quality assurance (QA) teams have 3 testing options: 1) Traditional testing that is costly and time consuming; 2) minimal testing before launch that puts the burden on customers to find and flag problems as they use the system; or 3) simulation testing, which can test an entire system in a matter of hours.
Simulation testing acts like an intelligent user, pursuing only valid actions a real user could take. So it eliminates testing for countless system actions that would not happen in the real world. For example, it recognizes a customer can’t buy a product from your ecommerce system without logging into your website. It’s smart testing that considers the context of user actions.
2) Uncover blind spots. In simulation testing, every session is randomized, so you can test various navigation paths people might take. Software developers anticipate a single user’s path through the system but may not always think about other things that could happen, such as a user opening multiple tabs or using the “back” button. Sometimes, those unexpected paths can slow down – or bring down – your application.
I saw this problem in practice when I worked with a team on a new e-commerce platform for a national retail chain. We did more load testing than I’d ever done before or have done since, and we crashed 30 minutes after launch due to load. All of our scripted load tests were too predictable. They weren’t as random as real users.
3) Catch problems your QA team will miss. (Only because they’re human.) Simulation testing assesses an application in a virtual real-world environment. It mimics hundreds of thousands of user sessions in every way you can imagine – and ways you can’t imagine – in a short time and with extraordinary accuracy. For bankers, that’s down to the penny.
In a simulation test I worked on for another national retail chain, we caught problems that four dedicated quality assurance team members didn’t catch with another test.
4) Measure performance. With simulation testing, you see the kind of response times your users will experience and measure your performance against your service-level agreements (SLAs). We know how strongly response time correlates to conversion rates and return visits. You also can track how well your system scales to meet demand and retracts as demand drops off.
5) Achieve better ROI. Simply put, you get better quality per dollar of investment than you would with other testing methods. Simulation testing allows you to look at both the individual elements in a system and the system as a whole to identify global properties.
Many businesses lose orders in their first year of e-commerce due to data corruption. Almost always, the business was unaware of the lost revenue and many disappointed customers the problem created. With simulation testing, you can identify problems earlier, before they impact your customers or your brand.
Michael T. Nygard is Vice President at Cognitect, whose products and services allow companies to build applications and move data securely to the cloud with ease, speed and few resources. He also served as technical director for Verizon Business, leading its “Innovation Incubator” team in its heyday. He has authored and contributed to books about applying technology to reduce effort, boost productivity and optimize financial outcomes. He is a regular speaker at QCon, GOTO and No Fluff Just Stuff conferences.