Smoke testing is one of the most common terms in a QA vocabulary. It involves doing light (and often ad-hoc) tests of major features, typically right before or after a release. While smoke testing is one of the quickest and most basic forms of QA testing, it’s also one of the most important when time is tight.
To understand the purpose, it can be helpful to think of the phrase, “when there’s smoke, there’s fire.” A big part of smoke testing is keeping an eye out for red flags, which could indicate other instabilities in the software.
Smoke Testing Examples
Ideally, a mobile app or website will have also gone through more rigorous testing. But smoke testing is used as a back-up, to be extra cautious, or when there’s not enough time for the ideal level of QA testing.
For example, say that you’re about to launch a new version of an app. It already passed QA, but you want some quick last-minute testing done before you publish to the App Store, just to be safe. If you ask QA to smoke test the login feature, they might check that logging in with valid credentials works. They would also likely verify that attempting to log in with an incorrect password brings up an error message.
However, with smoke testing, QA would not be nearly as thorough as other types of testing. Regression testing, on the other hand, would likely incorporate testing case sensitivity, switching between different users, etc.
When is Smoke Testing Done?
Timing plays a big role. As mentioned, one of the common scenarios is when regression testing has already been completed, and just to be safe, QA is doing one more last minute sweep of essential areas.
Some of the other major cases include:
- When timing is tight, and product owners have to or insist on getting a release out on a certain date. Developers commonly go over their deadlines, in which case there isn’t always enough time to do complete regression testing without delaying a release. In this case, QA has to do the best they can with risk assessment. This can help ensure that essential features like logging in, signing up, making a purchase, etc. are passing at least basic tests.
- Right after a release. When a new version goes out, QA needs to make sure that the deployment didn’t cause any issues. It’s typical for QA to smoke test a new release for this purpose.
- When QA gets a brand new build. Maybe the developer(s) finished their initial pass at a new feature, and are sending it to QA for a first look. By smoke testing, QA can give faster feedback for any obvious issues.
Agile Smoke Testing
Because the Agile QA process involves fast-moving pieces and tight timelines, smoke testing has become even more common in modern QA. It’s rare to find an Agile Engineering team that doesn’t use it on a regular basis.
Automated Smoke Tests
Smoke testing is usually considered a manual testing endeavor. But ideally, there will be automation too, to validate any significant money-making flows of the app. Running automation scripts before starting manual smoke tests can also save time. If the automation finds any major bugs, it can go back to development before manual testers waste any time.
Smoke Testing Risks
Smoke testing is about minimizing risk — but it’s doesn’t come anywhere close to eliminating it completely. This may seem like common sense. However, it’s not unusual for QA to get blamed for missing bugs.
So how do you set expectations in this scenario? If you get tasked with smoke testing a release that has not gone through regression testing, it’s a good idea to double-check that your QA manager is clear on the risks entailed. You can stay professional and bring it up from the standpoint of being helpful.
For example, you could tell your boss, “Sure! I’m happy to smoke test it. Given that it will only be getting basic testing, there’s a risk of bugs slipping through. I know the timeline is tight, so I’ll cover as much ground as possible within the limited time.”
What is Smoke Testing?
As you can see, smoke testing is actually pretty simple. The app or site is vulnerable to a higher level of bugs if it’s the only type of testing done. But it’s a great process to use as an extra precaution – as long as management understands the risks involved.
Do you need some extra QA for your app or website? Check out our QA testing services.