This article quickly tells you what is the difference between software testing and software debugging?

Foreword:
Hello everyone, I’m Xiaomo. Recently, many friends left me a message. Many of my friends are not clear about the difference between software testing and software debugging. So today, I wrote this article specially, I hope you will bring some help.

text:
We first analyze the difference between leads from a broad perspective.

1. Software testing is to find out the errors that already exist in the software, while debugging is to locate the errors and modify the program to correct the errors.

2. Software testing starts from a known condition and has a predictable ending, while debugging starts from an unknown condition, and its ending is unpredictable.

3. Software testing can be planned, test cases and processes can be formulated in advance, work progress can be measured. But debugging cannot be planned, and progress cannot be measured.

4. Debugging is after testing, and there are differences in methods, ideas, and strategies.

5. The object of testing can be documents and code, while the object of debugging can only be code.

6. Debugging is done randomly by the programmer so that the program can run.

7. Testing is to find errors in the software; debugging is to prove the correctness of software development.

8. The test starts with known conditions, uses a pre-defined program, and has a predictable result. What is unpredictable is whether the program passes the test; debugging generally starts with unknowable internal conditions. Except for statistical debugging, the result is Unforeseen.

9. The test is planned and requires test design; debugging is not subject to time constraints.

10. The test experiences the process of finding errors, correcting them, and retesting; debugging is a process of reasoning.

11. The execution of the test is regulated; the execution of debugging often requires the developer to make the necessary reasoning and even the "leap" of perception.

12. Testing is often done by an independent testing team without understanding the software design; debugging must be done by developers who understand the detailed design.

Next, we conduct an in-depth analysis of the purpose, technology, and methods of software testing and debugging, and you will find that there are big differences, mainly in the following aspects:

1. Different purposes

The purpose of software testing is to find errors. As for finding out the cause of the error and the place where the error occurs, it is not the task of software testing, but the task of debugging. The purpose of debugging is to prove the correctness of the program, so it must constantly eliminate errors. They The starting point is different. The former is to fault, is a critical process, it belongs to the quality assurance activities. The latter is troubleshooting, a process of elimination, and part of the coding activity.

2. Different tasks

Since software testing is a quality assurance activity, it runs through the entire development process. Starting from the requirements analysis, it is necessary to formulate a software testing plan. During software design, system software testing and integration-side trial cases should be designed, and unit software testing cases should be designed in the coding phase. And carry out the unit software test, the software test stage must carry on the integrated software test, the system software test,etc., until the product is delivered. As long as there are modifications, there will be software testing, and the same after product delivery. It is a relatively regular activity, guided by systematic methods and principles.
And debugging is part of the coding activity, so when there is coding, there is debugging. Its main task is to troubleshoot. Debugging methods are often related to the development tools used. For example, interpretation-based development tools can be used for interactive debugging, while compiled development tools are difficult to perform better error-checking. Of course, it has some heuristics, and it is an activity that relies on developer experience.

3. Different guiding principles and methods

Software side testing is a regular activity with a series of principles for software software testing. The main one is to formulate a side testing plan and then strictly implement it. Secondly, it is a picky behavior, so it not only needs to do side testing of software, but also You also need to test things that the software shouldn't do. The law followed by debugging is mainly some heuristic rules, which is a process of reasoning. For example, use induction, deduction, retrospection, etc.
The output of software testing is predictable, and its software test cases must include the expected results, while debugging output is mostly unpredictable, requiring the debugger to explain and discover the cause.

4. Operators
Because the mental state is an obstacle to the software testing program, the person who performs the software test is generally not the developer, so that the software test is more objective and effective, and the debugger is generally the developer.
The four points in this are all. It is divided into more detailed, but generally speaking, the testing and debugging of the business are carried out at any time, and the testing and debugging are not divided according to the time stage.

Written at the end:
Then run the script. If you find this method troublesome, you can only update the system or replace the phone. I recommend a software testing exchange group here, QQ: 642830685. The group will share software testing resources, test interview questions and testing industry information from time to time. You can actively exchange technology in the group, and there are big guys to answer your questions. . In addition, you can also follow the WeChat public account: Program Yuanyifei

Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_54696666/article/details/113617874