So, you know how when you leave a camp site you put out the fire, then do a double check as you walk away, and sometimes go back and put your hand over it again, just to make sure? Well, that’s pretty much what smoke testing is. Checking to see if, at the end, something has gone wrong, or is “smoking”.
At work sometimes we have data issues in our test environments. When you don’t have accurate data it’s hard to know if your tests are valid, and many times it turns out that they aren’t, but you couldn’t tell because you didn’t have correct data. Stage, one place where a smoke test is done, is a replica of your production environment – which means there should not be data issues. A smoke test here has saved my ass more than once when everything I did showed things were working, yet it turned out they were only working due to a lack of data.
Smoke testing is testing that is done to look for “smoke”, meaning looking for anything that is broken. Normally your smoke test is done in STG (before you go to Prod) as well as Prod (production) after you deploy/after your changes go out to Prod. You will go through the application and make sure the areas that would impact the business and customers the most function as they should, as well as the areas around the feature/changes that were just released.
This test is broader than Functional testing and Integration testing, as you are going through the whole application looking for smoke, and because of that you have more opportunities to catch issues that are not working as they should. Smoke testing is meant to be a pretty quick test that ensures nothing “catches on fire”, or “causes smoke” with the new changes/feature.
If your feature you were testing in Functional Testing was the facebook login, then for your smoke test you would verify:
- Login functionality works and you can login successfully
- Before logging in you can request a password reset email and receive it correctly
- Once logged in you can scroll through your feed
- You can like a post
- You can create a post with a photo/video/text, and any combination of those
- You can delete a post
- You can search and get relevant results
- You can change profile settings
- Your liked pages and groups still show
- Your profile settings/security is still correct
- You can request a password reset
- Verifying the API calls – is the password encrypted? Are you going to the right endpoint?
- After logging out are you logged out
- When logged out can you navigate to a url from when you are logged in (such as to a group) successfully?