Вы находитесь на странице: 1из 7

http://www.softwaretestingmentor.

com/articles/difference-between-smoke-and-sanity-testingity-testing/
Object1

Smoke testing is done to check the normal health of the build and make sure if it is possible
to continue testing. It is done in the beginning of the software testing cycle.
A subset of most basic and important test cases is selected and run to make sure that most
basic and crucial functions of the software are working fine.
In some organizations smoke testing is also known as Build Verification Test(BVT) as this
ensures that the new build is not broken before starting the actual testing phase.

http://www.guru99.com/smoke-sanity-testing.html

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.

http://www.softwaretestinghelp.com/smoke-testing-and-sanity-testing-difference/

A Smoke test is designed to touch every part of the application in a cursory way. Its shallow and
wide.
Smoke testing is conducted to ensure whether the most crucial functions of a program are working,
but not bothering with finer details. (Such as build verification).
Smoke testing is normal health check up to a build of an application before taking it to testing in
depth.

http://testingbasicinterviewquestions.blogspot.ro/2012/01/what-is-smoke-testing-explain-itwith.html#more

Smoke testing is the surface level testing to certify that build provided by development to QA
is ready to accept for further testing.

What is Smoke Testing?


Smoke testing is non-extensive software testing, which makes sure that the most crucial functions of a
program work, but not bothering with finer details because in smoke testing we only checks the

major functionality of the software.


Smoke testing is performed by developers before releasing the build to the testing team and after
releasing the build to the testing team it is performed by testers whether to accept the build for further
testing or not.
http://softwaretestingfundamentals.com/smoke-testing/
ELABORATION
Smoke testing covers most of the major functions of the software but none of them in depth.
The result of this test is used to decide whether to proceed with further testing. If the smoke
test passes, go ahead with further testing. If it fails, halt further tests and ask for a new build
with the required fixes. If an application is badly broken, detailed testing might be a waste of
time and effort.
Smoke test helps in exposing integration and major problems early in the cycle. It can be
conducted on both newly created software and enhanced software. Smoke test is performed
manually or with the help of automation tools/scripts. If builds are prepared frequently, it is
best to automate smoke testing.
As and when an application becomes mature, with addition of more functionalities etc, the
smoke test needs to be made more expansive. Sometimes, it takes just one incorrect
character in the code to render an entire application useless.
ADVANTAGES
It exposes integration issues.
It uncovers problems early.
It provides some level of confidence that changes to the software have not adversely
affected major areas (the areas covered by smoke testing, of course)

http://www.softwaretestingclass.com/smoke-testing/

Smoke testing is the initial testing process exercised to check whether the software under test is ready/stable
for further testing. - See more at: http://www.softwaretestingclass.com/smoke-testing/#sthash.iizv0LWT.dpuf

Prior to start Smoke testing few test cases need to created once to use for smoke testing. These test cases
are executed prior to start actual testing to check critical functionalities of the program is working fine. This
set of test cases written such a way that all functionality is verified but not in deep. The objective is not to
perform exhaustive testing, the tester need check the navigations & adding simple things - See more at:
http://www.softwaretestingclass.com/smoke-testing/#sthash.iizv0LWT.dpuf

The test cases can be executed manually or automated; this depends upon the project requirements. In this
types of testing mainly focus on the important functionality of application, tester do not care about detailed
testing of each software component, this can be cover in the further testing of application.
The Smoke testing is typically executed by testers after every build is received for checking the build is in
testable condition. This type of testing is applicable in the Integration Testing, System Testing and Acceptance
Testing levels.
Advantages of Smoke testing:

It helps to find issues introduced in integration of modules.


It helps to find issues in the early phase of testing.
It helps to get confidence to tester that fixes in the previous builds not breaking major features (off
course, only features exercised by smoke testing).
- See more at: http://www.softwaretestingclass.com/smoke-testing/#sthash.iizv0LWT.dpuf

Sanity test
After receiving a Software build with the minor issues fixes in code or functionality, Sanity testing is carry out
to check whether the bugs reported in previous build are fixed & there is regression introduced due to these
fixes i.e. not breaking any previously working functionality. The main aim of Sanity testing to check the
planned functionality is working as expected. Instead of doing whole regression testing the Sanity testing is
perform.
Sanity tests helps to avoid wasting time and cost involved in testing if the build is failed. Tester should reject
the build upon build failure
Sanity testing is narrow & deep approach of testing, it needs to concentrate limited & main features of testing
in detailed.
Here are the few consolidated points of Sanity testing:
Sanity testing follows narrow and deep approach with detailed testing of some limited features.
Sanity testing is typically non-scripted.
Sanity testing is a sub-set of regression testing.
Sanity testing is cursory testing to prove software application is working as mention in the
specification documents & meets the user needs.
Sanity testing is used to verify the requirements of end users are meeting or not.
Sanity testing to check the after minor fixes the small section of code or functionality is working as
expected & not breaking related functionality.

http://www.softwaretestingmentor.com/articles/difference-between-smoke-and-sanity-testingity-testing/
Sanity Testing

1.When there are some minor issues with software and a new build is obtained after
fixing the issues then instead of doing complete regression testing a sanity is performed
on that build. You can say that sanity testing is a subset of regression testing.
2.Sanity testing is done after thorough regression testing is over, it is done to make sure
that any defect fixes or changes after regression testing does not break the core
functionality of the product. It is done towards the end of the product release phase.
3.Sanity testing follows narrow and deep approach with detailed testing of some limited
features.
4.Sanity testing is like doing some specialized testing which is used to find problems in
particular functionality.
5.Sanity testing is done with an intent to verify that end user requirements are met on
not.
6.Sanity tests are mostly non scripted.
http://www.guru99.com/smoke-sanity-testing.html

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.
http://www.softwaretestingstuff.com/2009/12/difference-between-smoke-sanity-testing.html
Sanity testing: After receiving a build with minor changes in the code or functionality, a subset of regression test
cases are executed that to check whether it rectified the software bugs or issues and no other software bug is
introduced by the changes. Sometimes, when multiple cycles of regression testing are executed, sanity testing of
the software can be done at later cycles after through regression test cycles. If we are moving a build from staging /
testing server to production server, sanity testing of the software application can be done to check that whether the
build is sane enough to move to further at production server or not.

http://www.softwaretestinghelp.com/smoke-testing-and-sanity-testing-difference/
SANITY TESTING:
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.
A sanity test is usually unscripted.
A Sanity test is used to determine a small section of the application is still working after a minor
change.
Sanity testing is a cursory testing, it is performed whenever a cursory testing is sufficient to prove

the application is functioning according to specifications. This level of testing is a subset of


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

http://testingbasicinterviewquestions.blogspot.ro/search/label/Sanity%20Testing%20Example.
Sanity Testing is the subset of Regression Testing and it is performed when we do not have enough
time for doing testing.
Sanity testing is the surface level testing where QA engineer verifies that all the menus, functions,
commands available in the product and project are working fine.
http://www.guru99.com/smoke-sanity-testing.html
Smoke Vs Sanity Testing - Introduction and Differences

The key differences between Smoke and Sanity Testing can be learned with the help of
following diagram -

http://www.softwaretestingstuff.com/2009/12/difference-between-smoke-sanity-testing.html
Difference between Smoke & Sanity Software Testing:
Smoke testing is a wide approach where all areas of the software application are tested without getting into too
deep. However, a sanity software testing is a narrow regression testing with a focus on one or a small set of areas
of functionality of the software application.
The test cases for smoke testing of the software can be either manual or automated. However, a sanity test is

generally without test scripts or test cases.


Smoke testing is done to ensure whether the main functions of the software application are working or not. During
smoke testing of the software, we do not go into finer details. However, sanity testing is a cursory software testing
type. It is done whenever a quick round of software testing can prove that the software application is functioning
according to business / functional requirements.
Smoke testing of the software application is done to check whether the build can be accepted for through software
testing. Sanity testing of the software is to ensure whether the requirements are met or not.

Smoke Testing Vs Sanity Testing - Key


Differences
Smoke Testing
Smoke Testing is performed to ascertain that the
critical functionalities of the program is working
fine
The objective of this testing is to verify the
"stability" of the system in order to proceed with
more rigorous testing
This testing is performed by the developers or
testers

Sanity Testing
Sanity Testing is done to check the new
functionality / bugs have been fixed
The objective of the testing is to verify the
"rationality" of the system in order to proceed with
more rigorous testing
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 Sanity testing exercises only the particular
to end
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
http://testingbasicinterviewquestions.blogspot.ro/2015/02/sanity-testing-vs-regression-testing.html

Difference between Sanity and Regression Testing


Distinction between Sanity and Regression Testing
Sanity Testing

Regression Testing

1. Sanity testing is a surface level testing


where QA engineer verifies that all the
menus, functions and commands
available/presented in the product are
working fine.

1. Regression testing is not a surface level


testing.

2. Sanity testing is considered as a subset


of regression testing.

2. Regression testing is not considered as a


subset of any.

3. This testing is performed/executed when


testers have not much/enough time for
doing testing.

3. This testing is performed/executed when


testers have enough time for testing.

4. Sanity testing is usually conducted


manually not by using any automation
tools.

4. Regression testing may be


conducted/consider manually or using
automated tools.

5. Performing this type of testing will not


5. Performing this type of testing definitely will
enlarge the product/project cost and budget enlarge the product cost and budget because
because it didn't require much manpower
it requires more manpower and time.
and time.
6. Not complete test cases are executed/
performed in the product during sanity
testing.

6. During this testing complete test cases are


executed/ performed in the product.

7. During this testing tester test the


application or product with finer details.

7. During this testing tester test the


application or product with more details.

8. We do not use script for sanity testing.

8. We use script for regression testing.

Вам также может понравиться