vali_111 - Fotolia
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 test types
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading