Smoke testing

Smoke testing a car

Smoke testing is used to check that the system’s core functionality works. If the product “doesn’t smoke” (meaning key features run without errors), you can move on to the next testing stages. Otherwise, the build should be sent back for rework.

Let’s look at how to perform smoke testing:

Smoke testing a website

Pick the most critical pages to check, for example: the homepage, login, sign-up, and the cart.

  • Availability check: Open the site in several supported browsers.
  • Navigation check: Go through the main pages using the site navigation menu.
  • Form testing: Check that the key forms work (for example, login, sign-up, and payment).
  • Integration check: Make sure connections to critical integrations (for example, the database, payment systems, and auth services) are configured correctly.
Example: the login form always returns “Invalid username or password” because there is no connection to the database.
Invalid username or password on Login

Smoke testing a mobile/desktop app

  • Installation check: If the app needs to be installed, make sure the installation completes without errors.
  • Launch check: Start the app and make sure it launches without crashes or errors.
  • UI check: Make sure the key screens are displayed correctly, as well as the UI elements.
  • Interaction with the UI: Perform the key actions (for example, entering data and clicking buttons) and make sure they work as expected.
  • App close: Make sure the app closes without errors.
Example: the app crashes on launch.
Application crashed on launch

Smoke testing a backend service

  • Availability check: Send a GET request to the service health endpoint (for example, /health), and make sure it returns status code 200.
  • Core operations check: Verify that key endpoints work correctly (for example, creating, reading, updating, and deleting a user).
  • Integration check: Make sure connections to external services (for example, databases and message brokers) are configured correctly. More about logs in the next section.
Example: the application failed to connect to the database Postgresql because the port was set incorrectly and wrote an ERROR.
Postgresql connection attempt failed log
Task

Run smoke testing for a fresh build of the cat-astronaut website.

  1. Check availability of the site using the link
  2. Check navigation on the site: all links in the navigation menu should work.
  3. Form testing: Check that the merch order form works.
Task available to premium users!
Sidebar arrow