What soak testing and should we be doing it?
We all know that a smoke test is a type of test that is designed to find obvious flaws that prevent us from moving forward with a particular build.
Soak testing might be described as the opposite approach, in that we let the software run under test for a relatively long time -- 24 hours or more. The purpose of soak testing is to find issues that may not manifest themselves until the application has been running for hours or days.
For example, in an e-commerce application, you might execute tests that call for random browsing and purchasing over a period of a day or more. Problems with database updates, memory and object leaks, threading, or other long-running processes will become more apparent after the application has been running for a relatively long period of time.
Clearly, you can't conduct a soak test every time you integrate and build, especially if you are in a continuous integration/continuous deployment environment. But if your application is designed to run continuously without reboot, you should absolutely be conducting soak tests before deployment. Even if you are in an Agile or DevOps environment, I would recommend scheduling time after significant sprints to assess the effects of new features on application performance and availability over time.
You should also be monitoring the application after deployment. While many testers think their job is done after deployment, smart testers will continue to execute tests on an application in production. After all, production is the ultimate soak test; it's where the application has to run indefinitely, without significant error. A few recorded tests running common application transactions can provide an early warning system for problems.
Continue on with your daily smoke testing. But also squeeze in soak testing here and there to test for issues you won't find in short, discrete tests.
Where is your software test career headed?
What data science might be in your testing future?
What skills will you need in the future?
Dig Deeper on Software Testing Methodologies
Related Q&A from Gerie Owen
As a junior tester, I think learning scripting languages could make me more valuable to my team and enhance my career. But how do I pick the ... Continue Reading
DevOps teams use chaos engineering, but at what cost? Learn how this testing method secures applications in ways that traditional testing can't. Continue Reading
You want to attend a software testing conference, but your employer said it's too expensive. Here are some ways to improve your chances to attend. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.