Smoke testing (software)


Smoke Testing is a type of software testing which is use to determine whether the given build or software is stable or not. The purpose of Smoke testing is to confirm that the testing team can proceed to further testing.

Here is the video to demonstrate smoke testing


What is Smoke Testing?

Testing the basic and critical features of an application before doing through or regorus testing (that means functional testing) is called as smoke testing. Smoke testing is also called as Sanity Testing, Dry Run Testing, Skim Testing, Build Verification Testing, Health check of the product and Confident Testing.

Let's take an example what will happened if we don't do the smoke testing. Suppose flipkart is customer. He will give requirement for (A,B,C,D) module developer will write the code for (A,B,C,D) module and do white box testing and give the build or software to test engineer.

Now test engineer will do through functional testing for (A,B,C,D) module for 1st 3 days. In 4th day test engineer will click on module 'D' it will go to blank page test engineer will communicate this blocker defect to developer and developer will tell he wants 3 to 4 days time to fix the defect. 

Because of this first test cycle postpone 3-4 days and release get delayed so customer will charge penalty for company to overcome this kind of problem in every company as soon as they get the build or software they start with smoke testing.

Smoke Testing vs Sanity Testing

Smoke Testing:

1. Smoke Testing is Shallow and wide testing (It means it is high level testing and also basic and critical).
2. It is positive testing (It means here we test for only positive test scenarios).
3. We write smoke test scenario and test cases.
4. We go for automation.
5. Developer and test engineer will do smoke testing.

Sanity Testing:

1. Sanity Testing is narrow and deep testing (It means here we take one feature and go deep inside the feature and test it throughly).
2. It is both positive and negative testing (It means here we test for both positive and negative test scenarios).
3. We don't document scenarios and test cases.
4. We don't go for automation.
5. Only Test Engineer will do sanity testing.

Advantages of Smoke Testing

1. Test Engineer can find all blocker defect in early stage itself.
2. Developer will get sufficient time to fix the defect.
3. Test Cycle will not be postpone and release will not be delayed.

Note:
1. While doing smoke testing we should test only basic and critical features.
2. We will take every basic and critical feature and test for one or two important scenarios.
3. Here we should do only positive testing.
4. For the first time we will not be able to identify basic and critical features we will learn it after getting very good product knowledge.

How to do smoke testing for real time application

To do smoke testing for real time application first we have to make a list features to be tested and features not to be tested. Let's take an example of club factory application.


Club Factory

Feature to be tested 
Cart,Men's Clothing,women's Clothing, Home & Living etc..

Feature not to be tested
News, About us, support, privacy,Help Center etc...
This is how we should write smoke scenarios for the feature we will test as a part of smoke testing.

Scenario
Cart
1. To check that when user click on cart, cart page should be displayed.
2. To check that when user click on remove product should be removed from cart.

Men's Clothing
1. To check that when user take the cursor into men's clothing all the categories should be displayed.
2. To check that when user click on any categories the selected category page should be displayed.

Women's Clothing
1. To check that when user take the cursor into women's clothing all the categories should be displayed.
2. To check that when user click on any categories the selected category page should be displayed.

Home & Living
1. To check that when user take the cursor into home & living all the categories should be displayed.
2. To check that when user click on any categories the selected category page should be displayed.

When to do Smoke Testing?

1. As soon as we get the build we should do smoke testing.
2. When developer give the build to the customer chances are there developer might miss to copy few of the file so customer will do smoke testing to check whether build or software is installed properly or not.
3. Release engineer or build engineer will do smoke testing to check whether build is installed properly in testing server and production server.
4. Developer will do smoke testing after doing white box testing before giving build or software to test engineer.

Why we should do Smoke Testing?

1. To ensure that software is testable or not (Testable or not means: As soon as developer give the build to test engineers they will test basic and critical features by doing smoke testing and if they find more number of defects it means product is not eligible for testing, they can stop the testing and give the product back to the developers).
2. First day itself while doing smoke testing if you find defect communicate to developer so that developer will get sufficient time to fix the defect.
3. We are doing smoke testing means indirectly we are ensuring build is installed properly or not.
4. Developer is giving new build means he will be doing some code changes chances are there it might effect old basic and critical features, in order to find that we should do smoke testing.
5. Smoke testing is like a health checkup off the product so smoke testing should be done.
6. Smoke testing is a build verification testing we should check build is broken or not (It means if build is having more number of defects or not).

Types of Smoke Testing

1. Formal Smoke Testing: Test lead will assign feature to test engineers and ask them to do smoke testing. Every test engineer will do smoke testing for their respective assigned features prepare smoke test report and communicate to test lead and test engineer will consolidate all the reports and send it to development lead this entire process is done formally through emails or meeting so it is called formal smoke testing.

2. Informal Smoke Testing: Test lead will assign feature to test engineer and test lead will not ask test engineer to do smoke testing even though test engineer will do smoke testing they will not prepare smoke test report and they will not communicate to test lead this is called informal smoke testing.
Previous
Next Post »