案例:如何评价代码走查的效果?

Posted 麦哲思科技任甲林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案例:如何评价代码走查的效果?相关的知识,希望对你有一定的参考价值。

某嵌入式软件开发公司在代码提交系统测试之前,开发人员做了单元测试,项目组中的技术负责人对所有的代码进行了评审,对代码也通过工具做了静态扫描,系统上线后仍然存在比较多的问题,因此提升质量是其过程改进的一个重要目标。开发人员对代码进行单元测试时,对发现的缺陷直接进行了修改,没有保留缺陷的度量数据。技术负责人代码走查时,有代码走查记录,积累了代码走查的缺陷数据。系统测试的数据记录比较完备。32个历史项目的数据如表1所示。如果要采取措施提升质量,首先应该从哪个作业环节入手呢?

表1 历史项目的缺陷数

项目序号

代码走查缺陷数

系统测试缺陷数

上线后缺陷数

1

8

15

1

2

69

134

10

3

53

87

5

4

95

149

13

5

17

8

1

6

32

49

6

7

69

110

5

8

30

23

4

9

154

278

27

10

55

71

6

11

16

18

3

12

36

58

3

13

61

72

7

14

72

134

6

15

43

59

6

16

65

91

4

17

82

154

17

18

45

96

6

19

39

42

3

20

15

11

1

21

77

145

9

22

60

105

9

23

69

52

3

24

135

206

18

25

9

8

1

26

129

216

13

27

21

33

2

28

19

18

2

29

26

29

2

30

34

36

3

31

34

48

3

32

12

11

1

由于单元测试没有历史数据积累,我们无从判断单元测试的质量。那就先从代码走查与系统测试开始分析。

我们可以计算:

代码走查缺陷逃逸率=(系统测试缺陷数+上线后缺陷数)/(代码走查缺陷数+系统测试缺陷数+上线后缺陷数)

系统测试缺陷逃逸率= 上线后缺陷数 /(系统测试缺陷数+上线后缺陷数)

于是得到表2:

表2 历史项目的缺陷逃逸率

项目序号

代码走查缺陷逃逸率

系统测试缺陷逃逸率

1

66.67%

6.25%

2

67.61%

6.94%

3

63.45%

5.43%

4

63.04%

8.02%

5

34.62%

11.11%

6

63.22%

10.91%

7

62.50%

4.35%

8

47.37%

14.81%

9

66.45%

8.85%

10

58.33%

7.79%

11

56.76%

14.29%

12

62.89%

4.92%

13

56.43%

8.86%

14

66.04%

4.29%

15

60.19%

9.23%

16

59.38%

4.21%

17

67.59%

9.94%

18

69.39%

5.88%

19

53.57%

6.67%

20

44.44%

8.33%

21

66.67%

5.84%

22

65.52%

7.89%

23

44.35%

5.45%

24

62.40%

8.04%

25

50.00%

11.11%

26

63.97%

5.68%

27

62.50%

5.71%

28

51.28%

10.00%

29

54.39%

6.45%

30

53.42%

7.69%

31

60.00%

5.88%

32

50.00%

8.33%

 对上述的缺陷逃逸率画箱线图分析如图1所示:

图1 缺陷逃逸率的箱线图

通过箱线图对比我们可以发现代码走查的缺陷逃逸率中位数高达65.13%,系统测试的缺陷逃逸率中位数为7.74%,二者相比,应该先从提升代码走查的质量开始抓起!

对三个缺陷数的度量数据我们也可以做相关性分析,结果如图2所示:

图2 缺陷数的相关性分析

   由上边的分析可以发现,代码走查时找到的缺陷越多、系统测试时找到的缺陷也越多、逃逸的缺陷也越多。是否这3个数都受到系统规模的影响呢?我们可以再去分析缺陷密度之间的关系。将系统规模纳入此表1中,计算出缺陷密度如表3:

表3 缺陷密度的数据

项目序号

代码走查缺陷数

系统测试缺陷数

上线后缺陷数

需求点数

代码走查缺陷密度

系统测试缺陷密度

上线后缺陷密度

1

8

15

1

31

0.2581 

0.4839 

0.0323 

2

69

134

10

220

0.3136 

0.6091 

0.0455 

3

53

87

5

153

0.3464 

0.5686 

0.0327 

4

95

149

13

289

0.3287 

0.5156 

0.0450 

5

17

8

1

18

0.9444 

0.4444 

0.0556 

6

32

49

6

124

0.2581 

0.3952 

0.0484 

7

69

110

5

182

0.3791 

0.6044 

0.0275 

8

30

23

4

77

0.3896 

0.2987 

0.0519 

9

154

278

27

318

0.4843 

0.8742 

0.0849 

10

55

71

6

175

0.3143 

0.4057 

0.0343 

11

16

18

3

68

0.2353 

0.2647 

0.0441 

12

36

58

3

176

0.2045 

0.3295 

0.0170 

13

61

72

7

113

0.5398 

0.6372 

0.0619 

14

72

134

6

289

0.2491 

0.4637 

0.0208 

15

43

59

6

194

0.2216 

0.3041 

0.0309 

16

65

91

4

158

0.4114 

0.5759 

0.0253 

17

案例:如何评价代码走查的效果?

案例:如何评价代码走查的效果?

论代码走查的重要性

2021 深圳杯D题思路 基于一个微分对策问题的机器学习能力定量评价

图像切割性能评价

Text to Image 文本生成图像定量评价指标分析笔记 Metric Value总结 ISFIDR-prec等

(c)2006-2024 SYSTEM All Rights Reserved IT常识