Smoke and Sanity testing are the most misunderstood topics in
Software Testing. There is enormous amount of literature on the subject, but
most of them are confusing. The following article makes an attempt to address
the confusion.
The key differences between
Smoke and Sanity Testing can be learned with the help of following diagram –
what
is a Software Build?
If you are developing a simple computer program which consists of
only one source code file, you merely need to compile and link this one file,
to produce an executable file. This process is very simple.
Usually this is not the case. A typical Software Project consists of hundreds or even thousands of source code files. Creating an executable program from these source files is a complicated and time-consuming task.
You need to use "build" software to create an executable program and the process is called "Software Build"
Usually this is not the case. A typical Software Project consists of hundreds or even thousands of source code files. Creating an executable program from these source files is a complicated and time-consuming task.
You need to use "build" software to create an executable program and the process is called "Software Build"
what
is Smoke Testing?
Smoke Testing is performed after software build to ascertain that the critical functionalities of the program is working fine.It is executed "before" any detailed functional or regression tests are executed on the software build.The purpose is to reject a badly broken application, so that the QA team does not waste time installing and testing the software application.
In Smoke Testing, the test cases chosen cover the most important functionality or component of the system. The objective is not to perform exhaustive testing, but to verify that the critical functionalities of the system is working fine.
For Example a typical smoke test would be – Verify that the application launches successfully, Check that the GUI is responsive ... etc.
what
is Sanity Testing?
After receiving a software build, with minor changes in code, or functionality, Sanity testing is performed to ascertain that the bugs have been fixed and no further issues are introduced due to these changes.The goal is to determine that the proposed functionality works roughly as expected. If sanity test fails, the build is rejected to save the time and costs involved in a more rigorous testing.
The objective is "not" to verify thoroughly the new functionality, but to determine that the developer has applied some rationality (sanity) while producing the software. For instance, if your scientific calculator gives the result of 2 + 2 =5! Then, there is no point testing the advanced functionalities like sin 30 + cos 50.
Smoke
Testing Vs Sanity Testing - Key Differences
Smoke Testing
|
Sanity Testing
|
Smoke Testing is performed to ascertain that the critical
functionalities of the program is working fine
|
Sanity Testing is done to check the new functionality / bugs
have been fixed
|
The objective of this testing is to verify the
"stability" of the system in order to proceed with more rigorous
testing
|
The objective of the testing is to verify the
"rationality" of the system in order to proceed with more rigorous
testing
|
This testing is performed by the developers or testers
|
Sanity testing is usually performed by testers
|
Smoke testing is usually documented or scripted
|
Sanity testing is usually not documented and is unscripted
|
Smoke testing is a subset of Regression testing
|
Sanity testing is a subset of Acceptance testing
|
Smoke testing exercises the entire system from end to end
|
Sanity testing exercises only the particular component of the
entire system
|
Smoke testing is like
General Health Check Up
|
Sanity Testing is like specialized health check up
|
Points
to note.
·
Both sanity tests and smoke tests are ways to avoid wasting time
and effort by quickly determining whether an application is too flawed to merit
any rigorous testing.
·
Sanity Testing is also called tester acceptance testing.
·
Smoke testing performed on a particular build is also known as a build
verification test.
·
One of the best industry practice is to conduct a Daily build and
smoke test in software projects.
·
Both smoke and sanity tests can be executed manually or
using an automation tool. When automated tools are used, the tests
are often initiated by the same process that generates the build itself.
·
As per the needs of testing, you may have to
execute both Sanity and Smoke Tests on the software build. In such cases you
will first execute Smoke tests and then go ahead with Sanity Testing. In
industry, test cases for Sanity Testing are commonly combined with that for
smoke tests, to speed up test execution. Hence it's a common that the terms are
often confused and used interchangeably
ReplyDeleteI have read your blog, it was good to read & I am getting some useful info's through your blog keep sharing... Informatica is an ETL tools helps to transform your old business leads into new vision. Learn Informatica training in chennai from corporate professionals with very good experience in informatica tool.
Informatica training center chennai|Informatica training chennai
Nice BLOG!!
ReplyDeleteRobotics training in chennai
Internship for cse students in chennai
iot internship in chennai
Kaashiv infotech in bangalore
Free internship in chennai for mechanical engineering students
Inplant training
ECE internship in chennai
Internship for cse students in bangalore
Free internship for cse students in chennai
Internship for eee students in chennai
trhtryhjtyjgjkhgkjhk
ReplyDeleteصيانة افران
rtyjhrjykjtuykuykyui
ReplyDeleteصيانة افران