需求变更对软件质量的影响

原创 2017年11月15日 15:32:18

    根据我们的经验,需求变更越多,造成的软件修改越多,bug也就会越多,事实是否如此呢?需要我们根据历史的数据进行检验。某企业采集了历史上多个项目的的需求变更次数、交付代码的规模、软件测试发现的缺陷个数,参见下表,基于这些历史数据我们分析一下,看看我们的经验结论是否成立。

                                         表一:需求变更的历史数据

ID

需求变更数

代码规模LOC

总缺陷数

测试缺陷密度bugs/KLOC

需求变更密度(个/MLOC)

1

0

 

221

#DIV/0!

#DIV/0!

2

0

18383

425

23.1191862

0

3

0

3141

33

10.50620821

0

4

0

40

2

50

0

5

0

1000

66

66

0

6

0

200

27

135

0

7

0

50

10

200

0

8

0

55041

34

0.617721335

0

9

0

25072

482

19.22463306

0

10

0

99703

0

0

0

11

0

14037

113

8.050153167

0

12

1

441243

20

0.045326498

2.266324905

13

1

100

11

110

10000

14

1

144907

276

1.904669892

6.900977869

15

1

1500

28

18.66666667

666.6666667

16

2

4664

84

18.0102916

428.8164666

17

2

122968

98

0.796955305

16.26439399

18

2

355699

42

0.118077363

5.622731579

19

2

77344

604

7.809267687

25.85850228

20

2

87163

330

3.786010119

22.94551587

21

3

13899

290

20.86481042

215.8428664

22

3

44000

95

2.159090909

68.18181818

23

4

68700

156

2.270742358

58.22416303

24

4

118126

422

3.572456529

33.8621472

25

5

30299

664

21.91491468

165.0219479

26

5

62323

445

7.140221106

80.22720344

27

5

72808

567

7.787605758

68.67377211

28

6

 

131

#DIV/0!

#DIV/0!

29

7

33300

908

27.26726727

210.2102102

30

9

77691

242

3.114903914

115.843534

31

10

35000

1053

30.08571429

285.7142857

32

10

177138

698

3.940430625

56.45316081

33

11

188964

755

3.995470037

58.21214623

34

13

40626

739

18.19032147

319.9921233

35

15

127150

871

6.850176956

117.9709005

36

39

341860

2015

5.894225706

114.0817879

37

45

210000

1642

7.819047619

214.2857143

38

130

244000

1599

6.553278689

532.7868852


    首先我们来看看总缺陷数与需求变更数的关系:

                                                 

                  图1 需求变更数与测试发现的总缺陷图之间的散点图(未删除离群点)


     在图1中,我们发现存在显著离群点,该点游离于总体的趋势之外,删除之,重新画图:

                                                

                                       图2需求变更数与缺陷总数的散点图


    此时,可以清楚的发现随着需求变更数的增加,总缺陷数是在增加的,二者是正相关的!最右侧存在两个点离群,对总缺陷数做正态分布分析,发现不服从正态分布,于是对总缺陷数做开方变换,变换后的数据服从正态分布,并删除离群点后得拟合线图如下:

                                                

                             图3 需求变更数与测试缺陷数的平方根的拟合线图


    通过以上的分析我们可以发现需求变更数与测试缺陷数之间存在强相关。

    我们也可以试着分析单位代码行的需求变更次数与单位代码行的缺陷个数之间的关系,即表格中最后两列的相关性。排除离群点后,可以发现每百万行代码的需求变更次数与每千行代码测试发现的缺陷数是弱相关的:


                             图4 需求变更密度与测试缺陷密度的散点图

 

       综上所述,在这家公司里,通过38个项目的历史数据,可以初步得到这样结论:需求变更越多,系统中的缺陷越多。

 




相关文章推荐

软件质量造成的影响

作者:iamlaosong 现实中可能出现这样的悖论,软件写的不好,需要不断升级维护,公司因此财源滚滚;相反,软件写得好,结果成了一锤子买卖。关键是把握那个度,太烂,牌子砸了,太好挣不到钱。产品开发...

提高软件质量实践―― Amazon 篇

前几天回国转了一圈,做了两家企业质量管理培训,一次上海测试沙龙,和chinatest两次演讲。收获颇多,以后慢慢分享。回来后发现我的软件质量实践系列文章距离上一次发表已经有很长一段时间了。我想还是先把...

ISO软件质量模型

ISO软件质量模型: 软件质量的6大特性:功能性、可靠性、易用性、效率、维护性、可移植性 软件质量的27个子特性: 功能性:适合性、准确性、互操作性、安全性、功能性的依从性 可...

浅谈软件质量管理

最近某项目组爆出了一个小问题,本应该在开发过程就解决的Bug,结果上了生产还把客户生产服务器给搞宕机了,这个小问题导致的影响让某高层高呼“灾难啊!” 糟糕的质量有哪些灾难的影响呢?   l  F...

关于软件质量的思考-(thought of software quantity)

在网上看到一篇文章《软件质量管理之困境与对策思考》的文章,很有想法。和作者本人进行了沟通。一下是我对软件质量管理的砍翻以及作者的评论。希望对大家有所帮助。 1. 关于“哑铃型”组织结构 从你的...

软件质量控制实践――Microsoft 篇 (3)

软件质量控制实践――Microsoft 篇 (3) 原文:http://blogs.msdn.com/b/billliu/archive/2012/05/11/microsoft-3.aspx 7...

第五届中国软件质量年会在京成功召开

               第五届中国软件质量年会在京成功召开2011年2月28日,“第五届中国软件质量年会”在北京隆重召开。本届年会以“加强质量控制和技术评价  推广先进质量管理方法  提升软件产...

衡量软件质量的指标

每一个软件人,都应该掌握从专业角度评价一款软件的质量高低。      每一类事物都有其评价的标准,是好是坏是美或是丑。比如说我们评价一个女生,首先我们通常第一眼看脸,脸蛋漂亮了就差不多算半个美女了,...

5个衡量软件质量的标准

1. Sourc Lines of Code (SLOC)  统计代码行数可能是最简单的方法。它能体现软件的规模,为项目的发展和计划提供一些数据支撑。例如,我们每个月统计一次代码的行数,我们就能大体...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:需求变更对软件质量的影响
举报原因:
原因补充:

(最多只允许输入30个字)