Detailed description of software Smoke Testing

Source: Internet
Author: User

Recently I have seen and heard several statements about smoke testing, and I have been asked several times by consultants about smoke testing. It seems that the concept of Smoke Testing is quite vague. It is said thatSoftware TestingThe smoke testing in was first originated fromMicrosoftIn practice, I once asked several developers from Microsoft in the United States about this. Based on some information I collected and Microsoft's actual testsWorkFor more information, see smoke testing.

[Misunderstanding]

Let's talk about the problems in understanding smoke testing. I checked the information about Smoke Testing on the Internet and found that all the information about Smoke Testing comes from two sources:

Translated definitions-the definitions of smoke testing can be found quite a lot, and the content is basically the same, but the definitions are quite outdated, it is not very consistent with the smoke testing practices of major international software companies.

For example:

It fully follows the original meaning of Smoke Testing-a common mistake in understanding some foreign special terms.

Taking it for granted, the concept is "a test that can be completed with smoking"-it seems reasonable, but it is the most ridiculous, because Smoke Testing does not necessarily take less time than a regular test, no one is smoking in the formal software testing environment.

In general, all superficial tests are used as Smoke Testing. This is obviously because of a thorough understanding of simple tests or preliminary tests in the definition of Smoke Testing.

It is considered that smoke testing is BVT -- this is because the fuzzy and outdated definitions of Smoke Testing.

So what does the real Smoke Testing mean?

[Definition of Smoke Testing]

The concept of Smoke Testing was first originated from the manufacturing industry and used to test pipelines. During the test, the blower is used to add smoke to the pipe to check whether there is smoke outside the pipe wall, so as to check whether there is a gap in the pipe. This test is obviously relatively preliminary. For a deeper test, at least the oil leakage test and pressure test are required. Smoke Testing is only a preliminary and intuitive test.

In software testing, Smoke Testing actually uses its extended meaning, and has extended more than one meaning. Here, smoke testing is actually a slangOthersThe term originated from the software industry in the United States is the same.

In the past, I did not know that smoke testing had a proper Chinese translation.Smoke testThis word is still in my advisor. According to my understanding, this translation is only a literal translation. Obviously, it cannot represent the true meaning of Smoke Testing. In other words, the smoke test is only a translation of Smoke Testing, not a free translation.

The purpose of Smoke Testing in software testing is to take the purpose of its original concept rather than the means. Through smoke testingCodeBefore the formal compilation and delivery of the test, try to eliminate its Surface Errors and reduce the burden of subsequent testing. Therefore, smoke testing is a pre-test.

[Execution of Smoke Testing]

According to the existing definition, the execution of Smoke Testing seems to be performed at the completion of the daily build (daily build). From this point of view, it seems to be called BVT. As a result, some people in China have further extended their understanding and considered Smoke Testing to do some incomplete integration tests.

In fact, the execution of Smoke Testing is about the work completed after code review and before daily build, it is not difficult to find a description about Smoke Testing in other countries.

[Smoke Testing for different stages of Software Development]

In actual software testing, smoke testing has different stages in software development. It can be divided into three types:

Before the formation of the integrated test version, smoke testing was a must-do task with the continuous development of the Code, the purpose is to verify that each unit can be successfully executed, and ensure that the test version can be smoothly integrated.

After the integrated test version is formed, execute smoke testing before the code check in to daily build to ensure that the new or changed Code does not compromise the completeness and Stability of the integrated version.

Post-testBugWhen daily build is relatively stable in the later stage, the bug fix for each bug must first be Smoke Testing in a clean build, the bug fix that passes the test can be checked in to the new daily build.

[Smoke Testing and BVT]

From the definition of Smoke Testing, bvt seems to be regarded as smoke testing, but in reality, BVT is completely independent of smoke testing, which is based on the following aspects:

The execution phase of Smoke Testing is different from that of BVT.

The content of Smoke Testing is different from that of BVT.

The effects of Smoke Testing and BVT results on subsequent work are different.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.