4.4 Defect prediction
Introducing defects is the normal phenomenon of human beings, all engineers will introduce defects. So all engineers should know how they introduce defects.
In the development process, a round of test or code review is always performed, and the only way to do so is to analyze defect data. By analyzing historical data, the number of defects in the program can be estimated. By comparing the data and estimation data of the current project, you can probably know the quality of the program being developed. This will decide whether to add some defect exclusion steps.
Prediction of defect rate. When developing a new program, it is difficult to estimate how much defects you will introduce, the reason is that the number of defects is different from the process. The number of defects is unstable is caused by the following reasons. First of all, empirical problems, personal skills are constantly increasing. When you start the program, you should face a lot of problems that have not been encountered before. Often not to determine how some processes and functions are executed, probably the structure of language is unclear or may encounter a new compiler or programming environment. These issues can cause fluctuations in development time and defective road. With the experience, you will gradually overcome these problems, and the mistakes have been reduced. This reduces the total number of defects and reduces fluctuations in defects. The decrease in defects was initially due to the increase in experience and improved language proficiency. After this initial improvement, it is necessary to collect and analyze defect data to further improve.
The second reason for the fluctuation of defective road is that the individual process is unstable. When you start learning to write a program, you also start learning to use new processes and methods. Your process will continue to develop with the actual experience, which will cause the time and fluctuations of the introduction of defects to complete different program tasks.
Finally, the defect itself is also the cause of this change, the more defects introduced, the longer it takes time to repair these defects. The longer the time spent on the repair defect, the chance to introduce new defects will increase. Therefore, the modification time variation between defects is large. Therefore, it is difficult to predict a process introduced into many defects.
With the improvement of the development process, the process will gradually stabilize. This stability will increase the accuracy of defect prediction. The test proves that if you spend enough time in the code review, your process will quickly stabilize. Once your process is quite stable, the defect will be easily predictable.
Depending on the number of defects per thousandth introduction and exclusion of the most recent program, it can estimate the number of defects that may be introduced and eliminated in future programs.