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
Expert Gerie Owen discusses the differences between a startup culture and an established company's work environment. Learn more about which would ... Continue Reading
Does the development team determine the software test schedule? Find out why working with DevOps can alleviate some time and test constraints. Continue Reading
The Agile team collaborates closely and makes a lot of changes. What does the ideal Agile tester possess in technical and people skills? 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.