This article was automatically translated from the original Turkish version.
Smoke Testing is a preliminary and superficial testing method applied in software testing processes to quickly verify whether a software build's core functions are operating correctly. This method, also commonly referred to as Build Verification Test (BVT) or Confidence Testing, serves as a threshold stage to determine the feasibility of more in-depth testing.
Smoke testing is applied to rapidly determine whether a software build is in a testable state. Its primary objectives can be detailed as follows:
The smoke testing process is a step-by-step procedure designed to quickly verify the core functionality of a software build. Its fundamental stages are detailed below:
In the first stage, the most essential and critical functions of the software component to be tested are identified. These functions typically form the foundation of the system and are dependencies for other modules.
Examples:
Once the critical functions are identified, short and clear test scenarios are prepared to validate them. The scope of these scenarios typically includes:
The build is deployed to the QA or staging environment where it will be tested. The environment must include the following:
The prepared scenarios are executed manually or automatically. During testing, the following are monitored:
Test outcomes are observed to make the following decisions:
Failed scenarios are documented in detail:
After the development team fixes the defects, a new build is created. The same smoke tests are then reapplied to this new build. The cycle continues until the process is successfully completed.
Smoke tests vary according to their execution method, scope, and application environment. The main types are described below:
Test scenarios are executed manually by QA engineers. This approach is preferred in smaller projects. Its advantage is the involvement of human intuition; its disadvantage is that it is time-consuming. Typically:
Test scenarios are automated using tools such as Selenium, Cypress, or Robot Framework. These can be integrated into CI/CD pipelines. Advantages include:
This approach combines manual and automated testing. Typically, core tests are automated while UI/UX-focused tests remain manual. It can be adjusted based on project size and testing scope.
Executed on daily builds. Triggered automatically after each build in CI systems. It ensures that critical system functions are healthy every day.
This test quickly verifies whether the software meets customer or acceptance criteria. It is commonly applied during MVP product deliveries.
It verifies whether core user interface elements such as input fields, buttons, menus, and navigation are functioning. It can be supported by visual regression testing.
Smoke testing is not limited to a single testing level; it can be applied at various stages of the software testing lifecycle. At each level, it helps determine whether it is appropriate to proceed to the next stage by quickly verifying the correctness of core functions.
Smoke tests written by developers to validate the basic functionality of the smallest units of the system (e.g., functions or classes). The goal is to confirm that the module operates as intended.
Applied in scenarios where multiple units interact together. Smoke testing verifies whether the basic communication and data flow between these units are functioning correctly.
The entire system is treated as a single build, and it is tested whether critical functions operate correctly across the system. Operations such as user login/logout, main menu functionality, and data logging are included in the test scope.
Performed before delivering the software to the customer or end user. The application’s core functions are verified against the minimum acceptance criteria defined by the customer.
Smoke testing applied at these four levels ensures early defect detection and resource optimization at every stage.
Bergs, Emils. "What is Smoke Testing in Software Testing? Pros, Cons & Key Benefits Explained". TestDevLab. Accessed May 27, 2025. Accessed Adresi.
BrowserStack. "What is Smoke Testing?". Accessed May 27, 2025. Accessed Adresi.
GeeksforGeeks. "Smoke Testing - Software Testing." Accessed May 27, 2025. Accessed Adresi.
Gillis, S. Alexandar. "Smoke Testing." TechTarget. Accessed May 27, 2025. Accessed Adresi.
Global App Testing. "The Ultimate Guide to Smoke Testing." Accessed May 27, 2025. Accessed Adresi.
Reshma, S. G., H. P. Mohan Kumar, and A. G. Manu. "Smoke Test Execution in Software Application Testing." In *Proceedings of the 4th International Conference on Emerging Research in Electronics, Computer Science and Technology, ICERECT, Mandya, India*, pp. 26-27. 2022. Accessed Adresi.
Sabirov, Rustam. "A complete guide to smoke testing". Qase. Accessed May 27, 2025. Accessed Adresi.
TutorialsPoint. "Software Testing - Smoke Testing." Accessed May 27, 2025. Accessed Adresi.
Objectives of Smoke Testing
Stages of Smoke Testing
Identification of Critical Functions
Creation of Test Scenarios
Preparation of the Test Environment
Execution of Testing
Evaluation of Results
Reporting of Defects
Build Update and Retesting
Types of Smoke Testing
Manual Smoke Testing
Automated Smoke Testing
Hibrid Smoke Testing
Daily Smoke Testing
Acceptance-Oriented Smoke Testing
UI (User Interface) Smoke Testing
Smoke Testing by Application Level
Unit Testing Level
Integration Testing Level
System Testing Level
Acceptance Testing Level
Advantages of Smoke Testing
Limits and Challenges of Smoke Testing