Skip to main content

What is Smoke Testing ?

Smoke testing is a relatively simple check to see whether the product "smokes" when it runs. Smoke testing is also sometimes known as ad hoc testing, i.e. testing without a formal test plan.

With many projects, smoke testing is carried out in addition to formal testing. If smoke testing is carried out by a skilled tester, it can often find problems that are not caught during regular testing. Sometimes, if testing occurs very early or very late in the software development life cycle, this can be the only kind of testing that can be performed.

Smoke testing, by definition, is not exhaustive, but, over time, you can increase your coverage of smoke testing.

A common practice at Microsoft, and some other software companies, is the daily build and smoke test process. This means, every file is compiled, linked, and combined into an executable file every single day, and then the software is smoke tested.

Smoke testing minimizes integration risk, reduces the risk of low quality, supports easier defect diagnosis, and improves morale. Smoke testing does not have to be exhaustive, but should expose any major problems. Smoke testing should be thorough enough that, if it passes, the tester can assume the product is stable enough to be tested more thoroughly. Without smoke testing, the daily build is just a time wasting exercise. Smoke testing is the sentry that guards against any errors in development and future problems during integration. At first, smoke testing might be the testing of something that is easy to test. Then, as the system grows, smoke testing should expand and grow, from a few seconds to 30 minutes or more.

Comments

Popular posts from this blog

Manual testing - Brief Summary

Manual testing is a type of software testing in which testers execute test cases without the use of automation tools or scripts. Instead, testers follow a series of predefined steps to verify that a software application or system functions correctly and meets its requirements. Manual testing is an essential part of the software testing process and is typically performed alongside automated testing, where applicable. Here are some key aspects of manual testing: Test Case Design : Testers create test cases based on the software's requirements, specifications, and design documents. These test cases outline the steps to be followed, the expected results, and any necessary preconditions. Test Execution: Testers manually execute the test cases by interacting with the software just like a user would. They input data, navigate through the user interface, and observe the system's behavior. Exploratory Testing: In addition to predefined test cases, manual testers often perform ex...

What is Installation testing?

Installation testing is done to verify whether the hardware and software are installed and configured properly. This will ensure that all the system components were used during the testing process. This Installation testing will look out the testing for a high volume data, error messages as well as security testing

Software testing guide - Testing tutorial

Introduction There are many potential pitfalls to manual software testing, including: 1. Manual testing is slow and costly. 2. Manual tests do not scale well. 3. Manual testing is not consistent or repeatable. 4. Lack of training. 5. Testing is difficult to manage. This article will cover five "best practices" recommendations to help avoid the pitfalls associated with manual software testing. Be Thorough in Test Design and Documentation In designing the tests, there should be agreement among the business staff, product and project managers, developers, and testers on test coverage. This can be documented as test requirements in a test plan. With this documentation, management can have visibility of the test coverage and know that the right areas are being tested. This then becomes an important management tool in managing testing. The goal is to find the easiest way to document as many test cases as possible without having the test effort turn int...