Skip to content

Make Selenium Easy

And Keep It That Way

  • Home
  • Share
  • Toggle search form

Smoke , Sanity And Regression Testing: Story Of Siblings

Posted on 03/21/2025 By admin

There are three most confusing terms for Testers including both beginner and experienced:

  1. Smoke Testing or suite
  2. Sanity Testing or suite
  3. Regression Testing or suite

We always use these words wrongly but we do work correctly. People understands what they need to test and they do it but confuse with words. I will try best to keep my points here to make people understand above points.

Let’s start from scratch.

A project is generally divided in to different modules or multiple groups of set of requirements. We will take an example of developing an online shopping application. We will divide this project in following modules:

  1. User access or Registration , login and logout ——– > Release 1 or Sprint 1
  2. Listing of products , search, sort, filter——————> Release 2 or Sprint 2
  3. Add to card and checkout——————————-> Release 3 or Sprint 3

Now, both developer and tester will start their work. Developer will start developing and tester will start writing test cases for Release 1. Suppose tester writes 10 test cases including all positive and negative for Release 1. They give priority to each test case and generally positive test cases has higher priority. This suite will contain at least 1-2 test cases on which remaining test cases will be dependent. For example: When user hits the URL, login page of application must be open. If this test case fails, do we proceed to execute further test cases? Obviously No. This test case is called as Smoke Test. Smoke test must be passed to proceed for further testing when developer pushed functionality to QA for testing. This is the reason Smoke testing is also called as “Build Verification testing”.

Assume, smoke test is passed and you accept build for further testing and completed execution of all test cases and log bugs if found. Now work on Release 2 will start. Tester wrote again 20 test cases for Release 2 and mark some basics functionality as Smoke tests for Release 2. Some bugs of Release 1 are also fixed and pushed with Release 2 and also it will be integration of both modules. Now collectively, you need to test Release 2 and Release 1. You have an option of running all test cases from both releases again which will be time consuming. So what you do, you execute all test cases of Release 2 and will pick some test cases based on priority and bug impact areas from Release 1 and execute. Say, you selected 4 test cases out of 10 to execute. These 4 test cases are part of Sanity Suite or Sanity Test. So Sanity is sub set of all test case written for a Release 1 here. Assume Release 2 ends.

In Release 3, again you will find Smoke suite for Release 3 and combined Sanity suite for Release 2 and Release 3.

When all releases are completed or between the releases, you make a suite which generally includes test cases from all modules and have good coverage of functionalities. This suite is bigger than your combined sanity suite. This suite is Regression Suite or Regression Tests.

So generally Smoke, Sanity and Regression are test suits which are executed considering situation, time and resource availability. We can also say that Smoke and Sanity are sub set of Regression suite. Once project is completed, tester also create Smoke, Sanity and Regression considering all modules as a system. As a part of maintenance, tester team executes Smoke test on daily basis to ensure basics functionalities are up and running fine.  Similarly Sanity and regression are also scheduled.

All these suits could be run manually or automated scripts. Hope, I was able to keep my points clearly. Refer below pic for more clarity:

If you have any doubt, feel free to comment below.
If you like my posts, please like, comment, share and subscribe.

#ThanksForReading
#HappyTesting

Uncategorized

Post navigation

Previous Post: How PageFactory Could Help to Handle StaleElementReferenceException
Next Post: MSE-ReadyToUseSeleniumCode – Storing Web Table Data Into List Of Map – Java

Related Posts

Interview Experience At Morgan Stanley Mumbai For SDET – Sep – 2020 Uncategorized
February 3, 2019 – Make Selenium Easy Uncategorized
October 10, 2019 – Make Selenium Easy Uncategorized
ExceptionRegClasses – Make Selenium Easy Uncategorized
September 5, 2018 – Make Selenium Easy Uncategorized
February 24, 2019 – Make Selenium Easy Uncategorized

Recent Posts

  • Getting Started with Selenium 4: What Is New and How to Upgrade from Selenium 3
  • Manual Testing
  • Baby Steps To Become Efficient Selenium-Java Automation Tester
  • Features of Selenium 4.0.0 Release – Java Binding
  • Part 1: Handling Drop-down Created Using SELECT Tag In Selenium

Recent Comments

No comments to show.

Archives

  • April 2026
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • April 2024
  • March 2024
  • February 2024
  • December 2023
  • October 2023
  • August 2023
  • November 2022
  • September 2022
  • August 2022
  • July 2022
  • May 2022
  • March 2022
  • October 2021
  • April 2021
  • March 2021
  • January 2021
  • December 2020
  • October 2020
  • September 2020
  • August 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • May 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • January 2018

Categories

  • Getting Started
  • Uncategorized

Copyright © 2026 Make Selenium Easy.

Powered by PressBook Masonry Dark