Difference between Smoke Testing and Regression Testing

Prerequisite – Software Testing
1. Smoke Testing :
Smoke Test refers to an initial testing which is performed on newly developed software build . By this kind of software testing it is cleared that that the core functionalities of software product is working perfectly without any issues. If any case the software fails to pass the smoke testing then it is treated as broken builds and forwarded back to developers .

Some testing is done before any functional testing any detailed functional tests are done on the software. This smoke testing is carried out during initial development stage of Software Development Life Cycle (SDLC). Smoke Testing is also referred as ‘Surface Level Testing’ as it takes place before actual process testing and does not perform deep testing just verifies that core functionalities working fine or not. Smoke Testing is not only called as Surface Level Testing but also calls ‘Build Verification Testing’ as it verifies the initial builds of software.

Example –
Think about Bus Ticket Reservation Site, in this Smoke Tests examples are the tester will ensure that Site Signin function, Changing Password, Booking Seat, Cancel Seat, Booking notification functionalities etc are working fine.

2. Regression Testing :
Regression Testing refers to an in depth and through examination of software to ensure that recent code change has not adversely affected the existing features. Means it is the verification of changes in software after bug fixes or changes in requirement. After completion of Sanity Testing for changed requirements, Regression Testing is carried out to know all the impacted features.

Hence Regression Testing mainly carried out after any bug fixes, code modification, requirement changes, defect fix or any new module development. This is done for impact analysis of software after any changes.



Example –
If we will take the above same example Regression Testing examples include not only the basic functions that make the Bus Ticket Reservation site work but allow us to test more complicated use cases for seat bookings, like location of travel, promo codes for booking, international tax etc.



Difference between Smoke Testing and Regression Testing :

S.No. Smoke Testing Regression Testing
01. Smoke Testing is the Surface Level Testing to verify stability of system. Regression Testing is the Deep Level Testing to verify the rationality of system.
02. Smoke Test is always followed by Regression Test. Regression Test is always carried out throughout the testing phase.
03. Test Cases of Smoke Test is a part of Regression Testing and covers only the core functionalities. Regression testing is obtained from functional specification or Software Requirement Specification (SRS).
04. Smoke tests are performed by the developers. Regression tests are performed by the professional testers.
05. Smoke tests are performed quickly to confirm whether to accept or reject the build. Regression tests are not accountable for accepting or rejecting a software build for further testing procedures.
07. Cost of Smoke testing is low. Cost of Regression testing is little bit high.
08. This testing isd ocumented or scripted. This testing is not documented or scripted.
09. It is also know as Build Verification Testing. It is not known by any other name.
10. Requirement of time and manpower is less than Regression Testing. Requirement of time and manpower is less more than Smoke Testing.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.