For a software project, the tasks that account for the largest percentage of the total workload are: testing and debugging. The purpose of testing is to find defects in the program, and the purpose of debugging is to locate and solve problems in the program. Testing occurs throughout the entire software life cycle, and debugging is generally during the development phase.
The operating environment of this tutorial: Windows 7 system, Dell G3 computer.
For a software project, the tasks that account for the largest percentage of the total workload are: testing and debugging.
Generally speaking, programmers spend much more time in the testing and debugging phases of the development process than writing code. A program that cannot be debugged is not a good program! ! !
The purpose of testing is to find defects in the program, and the purpose of debugging is to locate and solve problems in the program. Testing occurs throughout the entire software life cycle, and debugging is generally during the development phase.
Testing is divided into white box and black box. Black box testing is actually testing the completeness of the function and whether it meets the requirements. It does not care about the internal implementation, that is, the written test cases and implementation code are completely internal. independent.
Because the black box cannot know the internal code implementation, possible problems in the code itself are also unknown to the black box. In this case, white box testing is required.
White box testing splits a large system into multiple small modules and tests them individually. If necessary, the main functions can be tested separately, and by changing different inputs, the output or execution is checked to see if it meets expectations. (In particular, it is necessary to assume various special situations, boundary areas, etc.)
When a problem is discovered, it needs to be solved. Usually, the solution is more complicated than the discovery. It is necessary to locate the location of the problem through various means, and reasonably Proper use of debugging tools and adding breakpoints at appropriate locations can greatly improve the efficiency of problem solving. My personal approach is to first analyze the difference between expectations and actual situations. Generally speaking, I can roughly guess where the problem may occur, then test and analyze these places, disassemble the problem areas, and track them step by step until the source is found. (Generally speaking, if you have a certain understanding of the overall situation of the code, in most cases you can accurately guess which part the problem occurs, and then track this part. Of course, this can only solve most relatively simple problems. Complex problems may not be accurately located with one or two guesses. At this time, you need to be patient, continue guessing, and continue debugging until you find the source of the bug)
I can only say that debugging experience is very important. With rich experience, you can basically make accurate positioning guesses directly for many problems. This is the art of debugging. . .
Related recommendations: "Programming Learning"
The above is the detailed content of For a software project, what is the largest percentage of the total workload?. For more information, please follow other related articles on the PHP Chinese website!