Prerequisite – Types of Software Testing
INTRODUCTION:
Smoke testing, also known as “Build Verification Testing” or “Build Acceptance Testing,” is a type of software testing that is typically performed at the beginning of the development process to ensure that the most critical functions of a software application are working correctly. It is used to quickly identify and fix any major issues with the software before more detailed testing is performed. The goal of smoke testing is to determine whether the build is stable enough to proceed with further testing.
Smoke Testing is a software testing method that determines whether the employed build is stable or not. It acts as a confirmation of whether the quality assurance team can proceed with further testing. Smoke tests are a minimum set of tests run on each build. Smoke testing is a process where the software build is deployed to a quality assurance environment and is verified to ensure the stability of the application. Smoke Testing is also known as Confidence Testing or Build Verification Testing.
In other words, we verify whether the important features are working and there are no showstoppers in the build that is under testing. It is a mini and quick regression test of major functionality. Smoke testing shows that the product is ready for testing. This helps in determining if the build is flawed so as to make any further testing a waste of time and resources.
Characteristics of Smoke Testing:
Following are the characteristics of the smoke testing:
- Smoke testing is documented.
- Smoke testing may be stable as well as unstable.
- Smoke testing is scripted.
- Smoke testing is a type of regression testing.
Smoke Testing is usually carried out by quality assurance engineers.
Goal of Smoke Testing:
The aim of Smoke Testing is:
- To detect any early defects in a software product.
- To demonstrate system stability.
- To demonstrate conformance to requirements.
- To assure that the acute functionalities of the program are working fine.
- To measures the stability of the software product by performing testing.
- To test all over the function of the software product.
Types of Smoke Testing:
There are three types of Smoke Testing:
- Manual Testing: In this, the tester has to write, develop, modify or update the test cases for each built product. Either the tester has to write test scripts for existing features or new features.
- Automated Testing: In this, the tool will handle the testing process by itself providing the relevant tests. It is very helpful when the project should be completed in a limited time.
- Hybrid Testing: As the name implies, it is the combination of both manual and automated testing. Here, the tester has to write test cases by himself and he can also automate the tests using the tool. It increases the performance of the testing as it combines both manual checking and tool.
Applying Smoke Testing at different levels:
It is applicable at 3 levels of testing. They are
- Acceptance Testing Level
- System Testing Level
- Integration testing Level
Tools used for Smoke Testing:
- Selenium
- PhantomJS
These tools are used while implementing the automated test cases.
Advantages of Smoke Testing:
- Smoke testing is easy to perform.
- It helps in identifying defects in the early stages.
- It improves the quality of the system.
- Smoke testing reduces the risk of failure.
- Smoke testing makes progress easier to access.
- It saves test effort and time.
- It makes it easy to detect critical errors and helps in the correction of errors.
- It runs quickly.
- It minimizes integration risks.
Disadvantages of Smoke Testing:
- Smoke Testing does not cover all the functionality in the application. Only a certain part of the testing is done.
- Errors may occur even after implementing all the smoke tests.
- In the case of manual smoke testing, it takes a lot of time to execute the testing process for larger projects.
- It will not be implemented against the negative tests or with the invalid input.
- It usually consists of a minimum number of test cases and hence we cannot find the other issues that happened during the testing process.
IMPORTANT POINTS:
- Smoke testing is a type of software testing performed early in the development process
- The goal is to quickly identify and fix major issues with the software
- It tests the most critical functions of the application
- Helps to determine if the build is stable enough to proceed with further testing
- It is also known as Build Verification Testing or Build Acceptance Testing.
REFERENCE:
There are several reference books that provide information on smoke testing and software testing in general. Some popular ones include:
- “Effective Software Testing: 50 Specific Ways to Improve Your Testing” by Elfriede Dustin
- “Software Testing: A Guide to the TMap® Approach” by Joost Schouten
- “Testing Computer Software” by Cem Kaner, Jack Falk, Hung Q. Nguyen
- “A Practitioner’s Guide to Software Test Design” by Lee Copeland
- “Agile Testing: A Practical Guide for Testers and Agile Teams” by Lisa Crispin, Janet Gregory
These books provide detailed information on various testing methodologies, techniques and best practices and are considered as good references for software testing professionals and students.