What is smoke testing

Question 1: Difference between smoke testing and regression testing Regression testing is the process of modifying old code and then re-testing it to confirm that the modifications have not introduced new bugs or caused other code to generate errors. Automated regression testing will dramatically reduce the cost of system testing, maintenance upgrades and other phases. Regression testing, as an integral part of the software life cycle, occupies a large proportion of the workload in the entire software testing process, and multiple regression tests are performed at various stages of software development. In incremental and rapid iterative development, successive releases of new versions make regression testing more frequent, and in extreme programming methods, several regression tests are required every day. Therefore, it makes sense to improve the efficiency and effectiveness of regression testing by choosing the right regression testing strategy.

Smoke testingSmoke testing is the process of finding a problem in a test, finding a bug, and then the developer fixing the bug.To see if the fix really solves the program's bugs, or if it affects other modules, you need to conduct a specialized test for the problem, a process known as a Smoke Test. In many cases, Smoke Test is a process where the developer tries to solve a problem, which causes a series of chain reactions in other functional modules. The reason may be that the developer only focuses on the problem at the beginning, and ignores other problems, which may cause new bugs. The disadvantage is that the coverage is still relatively low.

Smoke Tes is a type of free testing.

Question 2: What is software smoke testing, I hope there is a practical example of smoke testing, is the basic functionality of the software test, the object of the test is a new compilation of each need to test the software version of the formal test, the purpose is to confirm that the basic functionality of the software is normal, to ensure that the software system can be run, you can carry out the subsequent work of the formal test.

A simple example: the new development of an addition software, the wrong answer will show the correct answer. The tester intentionally lost the wrong answer but did not show the correct answer, it is returned directly to the developer, do not have to consider other reasons. This is the smoke test.

Question 3: What is a smoke test A smoke test is when you change or fix a piece of hardware or hardware component and then power up the device directly. If there is no smoke, the component passes the test. In software, the term "smoke testing" describes the process of verifying code changes before embedding them in the product's source tree. After examining the code, smoke testing is the most cost-effective way to identify and fix software defects. Smoke testing is designed to confirm that changes in the code will work as expected and will not destabilize the entire release.

Question 4: What is smoke testing and how does it work in practice In plumbing applications, smoke testing is the process of checking for water seepage by penetrating the entire plumbing system with actual smoke before the water flows through the system. In the repair of wooden musical instruments, the smoke test is performed by plugging the open end of the instrument and then blowing smoke in from the other end to check for leaks (this test is not commonly used). In the field of electronic engineering applications, the smoke test is when the circuit design is good, the first power self-test to detect whether there are defects in the design or line, if there are defects will often appear on the board smoke phenomenon. In entertainment applications, smoke testing uses a large amount of drill smoke to ensure that smoke detectors at the scene of the crime will not be triggered to explode during an incident. Application of tt in software engineering: Smoke testing refers to the pre-testing of software submitted for testing prior to detailed and in-depth testing, where the primary purpose of the pre-testing is to expose serious problems such as basic functionality failures that lead to the re-release of the software. Smoke tests can be performed by developers or by testers. That is, it is performed by the developer before the version is compiled and formally submitted for testing; or it is performed by the tester after the development of the release version and before accepting this version as an official release for further testing. Microsoft suggests that after reviewing the changed code, smoke testing is the most cost-effective way to confirm whether the fixed defects and functional changes are effective. The smoke test can be executed manually or automated after the version is compiled. It is a confirmation of basic functionality, not an in-depth test, but it should cover the surface, i.e., all change points should be confirmed. The use of automated execution is, can be combined with the daily building blocks after the automated daily smoking test, if the test passes, the changed code is automatically merged into the trunk code repository, as a formal submission of the version of the test. For the application of smoking test in the software development process, the following steps are proposed to be implemented: 1. According to the changes of the software, including the realization of new requirements, bug fixes, design a functional level checklist for changes to meet expectations. 2. Prepare the test environment. For example, if the running environment of the software is embedded products, such as cell phones, digital cameras, medical instruments, etc., the real running environment used by users should be prepared. If it is a windows platform running environment, please prepare a clean operating system. 3. Execute the checklist to confirm that the basic functions are valid and sufficient to support further detailed and comprehensive testing. Article from Lead Testing Software Testing Network

Question 5: What is the smoke test also known as The smoke test is when you make changes or repairs to a piece of hardware or hardware component, and then power up the device directly. If there is no smoke, the component passes the test. In software, the term "smoke testing" describes the process of verifying code changes before embedding them in the product's source tree. After examining the code, smoke testing is the most cost-effective way to identify and fix software defects. Smoke testing is designed to confirm that changes in the code will work as expected and will not destabilize the entire release.

Question 6: At what stage of software testing is smoke testing typically tested? Smoke testing is done when just after development.

Smoke testing is a concept that was first introduced by Microsoft, and is closely related to the daily builds that Microsoft has been advocating. Specifically, a smoke test is a simple test of the basic functionality of a system after the daily build has been created. This type of testing emphasizes functional coverage without verifying the correctness of the functionality.

Question 7: Difference between smoke testing and regression testing Regression testing is the process of modifying old code and then re-running the test to verify that the changes did not introduce new bugs or cause errors in other code. Automated regression testing will dramatically reduce the cost of system testing, maintenance upgrades, and other phases. Regression testing, as an integral part of the software life cycle, occupies a large proportion of the workload in the entire software testing process, and multiple regression tests are performed at various stages of software development. In progressive and rapid iterative development, successive releases of new versions make regression testing more frequent, and in extreme programming methods, it is even more important to perform regression testing several times a day. Therefore, it makes sense to improve the efficiency and effectiveness of regression testing by choosing the right regression testing strategy.

Smoke testingSmoke testing is the process of finding a problem in a test, finding a bug, and then the developer fixing the bug.To see if the fix really solves the program's bugs, or if it affects other modules, you need to conduct a specialized test for the problem, a process known as a Smoke Test. In many cases, Smoke Test is a process where the developer tries to solve a problem, which causes a series of chain reactions in other functional modules. The reason may be that the developer only focuses on the problem at the beginning, and ignores other problems, which may cause new bugs. The disadvantage is that the coverage is still relatively low.

Smoke Test is a type of free testing.

Question 8: Test Classification of Software Testing Methods Beta testing, in English, is Beta testing. also known as Beta testing, User Acceptance Testing (UAT). beta testing is the testing of software by multiple users in an actual use environment by one or more users. The developer is usually not present at the test site and Beta testing cannot be done by programmers or testers. When development and testing are to complete the tests done and the final bugs and problems need to be found before the final release. This kind of testing is usually done by end users or other people and cannot be done by programmers or testers.Alpha Testing_Alpha TestingAlpha testing, in English, is Alpha testing. also known as Alpha testing.Alpha testing is testing done by one user in a development environment, or it can be a controlled test done by users within the company that simulates an actual operating environment. Alpha testing cannot be done by the programmers or testers of the system. Testing of an application system when system development is near completion; after testing, there are still a small number of design changes. This type of testing is generally done by end users or others and cannot be done by programmers or testers. Portability Portability testing, English is Portability testing. also known as compatibility testing. Portability testing is to test whether the software can be successfully ported to the specified hardware or software platform. User interface testing, also known as UI testing. User interface refers to the visible appearance of the software and the underlying parts of the software that interact with the user (menus, dialog boxes, windows, and other controls). User interface testing refers to testing whether the style of the user interface meets the customer's requirements, whether the text is correct, whether the page is beautiful, whether the combination of text and images is perfect, whether the operation is friendly, etc. The goal of UI testing is to make sure that the user interface will provide the user with the appropriate access or browsing functions through the function of the test object. The goal of UI testing is to ensure that the user interface will provide the appropriate access or browsing functionality to the user through the functionality of the test object. Includes user-friendliness, humanization, and ease-of-use tests. User interface testing analyzes whether the design of the software's user interface meets the user's expectations or requirements. It often includes testing of menus, dialog boxes and all buttons on the dialog box, text, error messages, and help information (Menu and Help content). For example, testing the size of the dialog box used for the Insert Symbol function in Microsoft Excel, whether all the buttons are aligned, the font size of the string, the content and font size of the error message, the location of the toolbar / icon, etc.. Smoke testing, the English is Smoke testing, the name of the smoke test can be understood as the test time-consuming short, only a bag of cigarettes enough effort. Some people think it is an analogy to the basic function check of a new circuit board. After any new circuit board is soldered, it is first energized for inspection, and if there is a design flaw, the board may short-circuit, and the board will smoke. The object of the smoke test is a new compilation of each version of software that needs to be formally tested, the purpose is to confirm that the basic function of the software is normal, you can carry out the subsequent formal testing work. The executor of the smoke test is the version compiler. Ad hoc testing is testing without written test cases, documented expected results, checklists, scripts, or instructions. It is mainly based on the experience of the tester who performs random checks on the functionality and performance of the software. Random testing is an important complementary means of performing use case testing according to test instructions, and is an effective way and process to ensure the completeness of test coverage. Random testing is mainly for some important functions of the software under test for retesting, but also includes testing those current test samples (TestCase) does not cover the part. In addition, for software updates and newly added features to focus on testing. Focus on some special points of the situation, special use of the environment, concurrency, to check. In particular, the major bugs found in previous tests are tested again, which can be combined with regression testing (Regressive testing) together.

Question 9: What are the goals and guidelines for software testing? What are the testing methods? What are the testing steps? Specifically, testing generally seeks to achieve the following goals:

1. Ensure that the product accomplishes what it promises or announces, and that all user-accessible functionality is clearly documented ------ in a sense that is the same idea as ISO9001.

The lack of clear written documentation for a product is a sign of short-term behavior on the part of the vendor and a sign of irresponsibility. The so-called short-term behavior, is the lack of clear written documents are not conducive to the final smooth delivery of the product, it is easy to conflict with the user, affecting the reputation of the manufacturer and the future relationship with the user; at the same time is not conducive to the maintenance of the product, but also to make the manufacturer to spend an excessive amount of user training and technical support costs. From the long-term interests, this is very uneconomical. Leader test that the contact of the software products, very few to the Founder of such a large product, thin documents.

Of course, the writing and maintenance of written documentation for the use of rapid prototyping (RAD) development projects is the most important, the most difficult, but also the most easily ignored.

Finally, poor or even incorrect written documentation is one of the biggest and most painful problems encountered in testing, and its direct consequence is inefficient testing, unclear test objectives, and inadequate test scope, which leads to the final test not being able to fully utilize its role and test results.

2, to ensure that the product meets the performance and efficiency requirements

The use of the system to run inefficiently (low performance), or the user interface is not friendly, the user is not easy to operate (low efficiency) of the product can not be said to be a competitive product.

The user is most concerned about is not how advanced your technology, how powerful the function, but how much benefit he can get from these technologies, these features. In other words, the user cares about how much he can take out of it, not how much you have put in.

3. Make sure the product is robust and adapted to the user's environment

Robustness, that is, stability, is a basic requirement for product quality, especially for a business-critical or time-critical work environment.

The other thing is not to assume the user's environment (with the possible exception of some projects), e.g., many of the configurations of the newspaper users are relatively low and are used in conjunction with some third-party products.

Principles of testing - Good Enough

For relatively complex products or systems, zero-bug is an ideal, good-enough is our principle.

The good-enough principle is a trade-off between input/output: insufficient testing is irresponsible; excessive testing is a waste of resources and equally irresponsible. Our operational difficulty lies in how to define what kind of testing is inadequate and what kind of testing is excessive. The only available answer to the current situation is: to set a minimum test passing standards and test content, and then analyze specific problems. The most obvious example is FIT3.0 Chinese newspaper version of the product testing.

The law of testing ---- the barrel principle and the 80-20 principle

1, the barrel principle.

In terms of software product production is the concept of Total Quality Management (TQM). The key factors of product quality are analysis, design and implementation, testing should be integrated into the supplementary means of inspection, other management, support, and even cultural factors will also affect the quality of the final product. It should be said that testing is a necessary condition for improving product quality, and it is also the most direct and fastest means to improve product quality, but it is never a fundamental means. On the contrary, if the weight of improving product quality all bet on the test, it will be a horrible and long disaster.

2, Bug's 80-20 principle.

In general, in the analysis, design, implementation phase of the review and testing can find and avoid 80% of the bugs, and system testing can find the rest of the bugs in 80% of the last 5% of the bugs may only be in the user's wide range of prolonged use of the bugs will be exposed. Because testing can only guarantee that it will find as many bugs as possible, it cannot guarantee that it will find all of them.

Software testing methods:

1, according to whether to see the internal structure of the program is divided into:

(1) black-box testing (black-box testing): only concerned about the input and output results

(2) white-box testing (white-box testing): to study the source code and program structure inside

2.

2, according to whether to run the program is divided into:

(1) static testing (static testing): refers to not actually run the software under test, but only static ...... >>

Question 10: The difference between smoke testing and regression testing Regression testing refers to the modification of old code and then re-testing to confirm that the modifications did not introduce new errors or cause other code to produce errors. Automated regression testing will dramatically reduce the cost of system testing, maintenance upgrades, and other phases. Regression testing, as an integral part of the software life cycle, occupies a large proportion of the workload in the entire software testing process, and multiple regression tests are performed at various stages of software development. In incremental and rapid iterative development, successive releases of new versions make regression testing more frequent, and in extreme programming methods, several regression tests are required every day. Therefore, it makes sense to improve the efficiency and effectiveness of regression testing by choosing the right regression testing strategy.

Smoke testingSmoke testing is the process of finding a problem in a test, finding a bug, and then the developer fixing the bug.To see if the fix really solves the program's bugs, or if it affects other modules, you need to conduct a specialized test for the problem, a process known as a Smoke Test. In many cases, Smoke Test is a process where the developer tries to solve a problem, which causes a series of chain reactions in other functional modules. The reason may be that the developer only focuses on the problem at the beginning and ignores the other problems, which may cause new bugs. The disadvantage is that the coverage is still relatively low.

Smoke Tes is a type of free testing.