software testing genius

Sanity Testing

Welcome to “Software Testing Genius”. Subscribe to my RSS feed for latest content on Software Testing.

Sanity Testing:
A sanity test or sanity check is a basic test to quickly evaluate the validity of a claim or calculation. In mathematics, for example, when dividing by three or nine, verifying that the sum of the digits of the result is a multiple of 3 or 9 (casting out nines) respectively is a sanity test.

In computer science it is a very brief run-through of the functionality of a computer program, system, calculation, or other analysis, to assure that the system or methodology works as expected, often prior to a more exhaustive round of testing

In software development, the sanity test (a form of software testing which offers "quick, broad, and shallow testing" determines whether it is reasonable to proceed with further testing.

Software sanity tests are commonly conflated with smoke tests. A smoke test determines whether it is possible to continue testing, as opposed to whether it is reasonable. A software smoke test determines whether the program launches and whether its interfaces are accessible and responsible (for example, the responsiveness

of a web page or an input button). If the smoke test fails, it is impossible to conduct a sanity test. In contrast, the ideal sanity test exercises the smallest subset of application functions needed to determine whether the application logic is generally functional and correct (for example, an interest rate calculation for a financial application). If the sanity test fails, it is not reasonable to attempt more rigorous testing. 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. Many companies run sanity tests on a weekly build as part of their development process.

The Hello world program s often used as a sanity test for a development environment. If Hello World fails to compile the basic environment (or the compile process the user is attempting) has a configuration problem. If it works the problem may be a bug in the specific application being compiled.

Many More Articles on Types of Testing 

Largest Database of Sample Papers - 1000+ Unique Questions for ISTQB Foundation Exam

ISTQB Foundation Exam - Full Crash Course for Download

ISTQB Advanced CTAL Test Analysts Exam - Full Crash Course for Download

ISTQB Advanced CTAL Test Manager Exam - Full Crash Course for Download

Consolidated Study Material - All ISTQB Certification Exams

What Successful Testers say about the Quality of this website

If you want to keep track of further articles on Software Testing,
I suggest you to subscribe my
RSS feed

You can also Subscribe by E-mail
and get All New articles delivered directly to your Inbox.

Quick Navigation of Software Testing Genius

Get your Absolutely Free Copy of Several MS PowerPoint Presentations & E-Books related to ISTQB, HP Load Runner, IBM RFT, HP QTP & QC Certification Exams, prepared by Popular Writers & Trainers, by writing to:

Study Material for Certification Exams on Other Automation Tools:

Download Full Study Material - HP QTP & QC Certification Exams

Practical Roadmap to QTP Certification

Rehearsal of QTP in 1 Hr. -  Interview Questions

Study Material - HP LoadRunner Certification Exams for All Modules

Rehearsal of LoadRunner in 1 Hr. -  Interview Questions

Study Material - IBM RFT Certification Exam

Study Material to prepare for Manual Testing & QA:

Practical Roadmap to CSTE Certification

Consolidated Study Material - Testing & QA


Comments :


# 1 Rajesh on 2012-01-26 08:02:35
Can anyone please explain me the difference between smoke and sanity testing please?

# 2 Yogindernath on 2012-01-26 08:09:13
Hi Rajesh,

Smoke Testing: When a build is received, a smoke test is run to check if the build is stable and it can be considered for further testing or not.Smoke testing can be done for testing the stability of any interim build. Smoke testing is also known as build verification testing.

Sanity Testing: Once a new build is obtained after some defect fixes,then, instead of doing a through regression testing, a sanity check is performed so as to ascertain the build has indeed fixed the issues and no new defects have been introduced by the fixes. You can consider sanity tests as a subset of regression testing.

# 3 Srilaxmi on 2012-01-26 08:15:11
Thanks for the detailed explanation. However I am still confused between regression and retesting. Can you please explain the difference between the two?

# 4 Justin R on 2012-01-26 08:17:58
Testing the same defect to verify if it has been fixed or not is known as retesting while testing the other areas of the application that might get impacted after the fixes is known as regression testing.

# 5 Vidya Singh on 2012-01-26 08:23:35
Hi All,

Let me share the difference between smoke and sanity testing from my experience.

Smoke Test:

When a build is received, a smoke test is run to ascertain if the build is stable and it can be considered for further testing.

Smoke testing can be done for testing the stability of the received build.

Smoke tests can be executed for platform qualification tests.

Sanity testing:

Once a new build is obtained with minor changes, instead of doing a complete regression tests, a sanity is performed so as to ascertain the build has indeed rectified the issues and no further issue has been introduced by the fixes. Its generally a subset of regression testing.

# 6 Vidya Singh on 2012-01-26 08:25:33
1. Smoke testing originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch fire and smoke. In software industry, smoke testing is a shallow and wide approach whereby all areas of the application without getting into too deep, is tested.
A sanity test is a narrow regression test that focuses on one or a few areas of functionality. Sanity testing is usually narrow and deep.

2. A smoke test is scripted–either using a written set of tests or an automated test.
A sanity test is usually unscripted means not automated.

3. A Smoke test is designed to touch every part of the application in a cursory way. It’s is shallow and wide.
A Sanity test is used to determine a small section of the application is still working after minor changes.

# 7 Vidya Singh on 2012-01-26 08:27:33
4. Smoke testing will be conducted to ensure whether the most critical areas of the application are working fine, but does not go into much details.
Sanity testing is a cursory testing; it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications. Sanity testing is a subset of regression testing.

5. Smoke testing can be considered as normal health check up to a build of an application before taking it to testing in depth.

Sanity testing is to verify whether requirements are met or not, checking all features breadth-first.

# 8 kartik on 2012-01-26 08:35:30
I have been working as a developer in my present company. I have done a software testing course. Now I am looking to shift from Software Development to Software Testing. Can anyone please share how to do this?

# 9 Ricky on 2012-01-26 08:38:53
Can anyone please explain me the difference between priority and severity?

# 10 Sunny Kathuria on 2012-01-26 08:45:34
Hi Ricky,

Let me try to explain you the difference between Priority and Severity.

The term "priority" is associated with scheduling, and the word "severity" is associated with standards. "Priority" means something is afforded or deserves prior attention; a precedence established by urgency or order or importance.

Severity is the state or quality of being severe; severe implies adherence to rigorous standards or high principles and often suggests harshness; severe is marked by or requires strict adherence to rigorous standards or high principles. For example, a severe code of behavior.

# 11 Sunny Kathuria on 2012-01-26 08:48:29
Most importantly, the words priority and severity do come up in bug tracking tools. A variety of commercial, problem-tracking / management software tools are available for example Bugzilla or mantis. These tools, with the detailed input of software test engineers, give the team complete information so developers can understand the bug, get an idea of its severity, reproduce it and fix it. The fixes are based on project priorities and severity of bugs. The severity of a problem is defined in accordance to the end client’s risk assessment, and recorded in their selected tracking tool. A buggy software can severely affect schedules, which, in turn can lead to a reassessment and renegotiation of priorities.

# 12 Niharika Rai on 2012-01-26 08:59:10
I will try to explain Smoke Testing and Sanity Testing with a practical example:

Consider you have a hollow pipe and you intend to check if it is fit to use or not.

Smoke Testing:

We will do an initial end to end check if the pipe really allows the flow from one end to other end. For example, pass the smoke inside the pipe and check if the smoke is coming out come out from other end.

If the smoke comes out, we can certify that the pipe can be used as Testable pipe. Hence we can say that the pipe has passed our Build verification test. Now this pipe can actually be tested for other scenarios as it has passed the most critical test.

Sanity Testing:

Now lets flow some liquid say any fluid to flow in the pipe and we will check if there is any leakage in the pipe. If we detect any leakage, we will log a defect and assign to developer for fixing it. We can assign high priority and high severity for this defect.

I hope the difference is now clear.

# 13 Vijay Malhotra on 2012-01-26 09:05:44
Hi Niharika,

Thanks for sharing the practical example to explain us the difference between smoke and sanity testing. I have a doubt in this.

You mentioned "If the smoke comes out, the pipe can be used as Testable pipe". Now my question here is what we will do if the smoke does not come out of the pipe at all? What we will do in such a case?

# 14 Niharika Rai on 2012-01-26 09:11:15
Hi Vijay,

In such a case, we will fail the build and we will not do any testing on the build as the most basic test failed. Build is not fit for testing. There is no point in doing any further testing and we will wait for a new build and then we will run this basic test on our new build.

# 15 Rahul on 2012-01-26 09:12:32
what is the difference between functional testing and automation testing?

# 16 Vridhiman Saha on 2012-01-26 09:14:54
Thanks for the nice explanation friends. Now I have clearly understood the exact differences between
sanity testing and smoke testing.

# 17 Jyoti Sagar on 2012-01-26 09:16:17
This is a fantastic website on Software Testing which has cleared so much of concepts. I owe all my success to you!

# 18 Yogindernath on 2012-01-28 11:19:43
Thanks for the excellent feedback Jyoti!

# 19 Khan on 2012-05-16 11:40:08
Hi there,

I dont understand the sanity test...some tell it as subset of regression test and some as test to pass (breadth wise) ..and some tell as test to pass...similar to smoke test...what does sanity test actually means....please clarify.....!!

Leave Your Comments: (*) Marked Fields are Mandatory

You can apply basic formatting to the text

Name *
Email Address *
Speak your mind
sex hikayeleri