美文网首页Tester个人能力成长专栏
测试有效性指标DDP的评估和优化

测试有效性指标DDP的评估和优化

作者: 郑文强_c48f | 来源:发表于2019-08-02 06:28 被阅读0次

缺陷检测百分比DDP(Defect Detection Percentage)常常可以用来评判软件测试生命周期内某个阶段的测试有效性。但是,在实际评判测试有效性过程中,DDP也存在某些方面的欠缺。本文通过分析DDP的基本原理,笔者提出了更适合测试有效性评估的优化DDP(简称O-DDP)。

1)DDP

穷尽测试是不可能的,因此,不可避免有一些缺陷会遗漏到客户的使用现场,从而触发软件产品产生令用户不满意的失效或者各种问题。通常来说,在测试过程中判断测试人员的测试有效性是很困难的。但是通过用户反馈的缺陷数目,却可以直观的说明测试人员是否遗漏了比较多的问题,从而反映测试人员的测试有效性。缺陷检测百分比DDP(Defect Detection Percentage)就是基于这样的目的进行定义的,它可以用来评判软件测试生命周期内某个阶段的测试有效性,它以百分比的形式进行计算。其计算公式为:

DDP = [R1 / (R1 + R2)] * 100%

其中:

1)R1指的是被评估阶段发现所发现的缺陷数目;

2)R2是被评估阶段之后所发现的所有的缺陷数目;

DDP计算公式的分母并不是发现的总的缺陷数目,而是指该阶段之后所有发现的缺陷数目(包括该阶段的缺陷数目)。表1是计算DDP的一个例子(主要针对动态测试而言的):表1 DDP计算的例子

采用DDP作为测试有效性的评估指标,主要存在两个问题:第一个是DDP无法在测试过程中对测试有效性进行评估,必须要等待产品发布一段时间之后才能进行,例如:产品发布之后3个月;另一个问题是DDP计算过程中只考虑了用户反馈的缺陷的数目,而没有考虑每个缺陷的严重程度;单纯的缺陷的数目,并不能正确的反映遗漏到客户的缺陷对用户造成的影响程度。而测试的有效性,要求测试人员尽早发现尽量多的严重的问题,而不仅仅是尽量多的缺陷数目。

对于DDP的第一个问题,由于DDP本身的定义要求,无法提供好的建议来解决该指标对测试有效性评估的延后性。而对于第二个问题,本文将综合考虑用户反馈的缺陷数目和严重程度,对DDP计算实现优化,从而更好的评估测试有效性。

2)O-DDP

O-DDP的基本原理和DDP是一样的,只是在计算过程中,同时考虑了缺陷的数目和缺陷的严重程度。根据笔者所在组织和项目的特点,其定义的缺陷严重程度如下[2]:

1)严重程度1(致命的):产品在正常的运行环境下无法给用户提供服务,并且没有其他的工作方式可以补救;或者软件失效会造成人身伤害或危及人身安全;

2)严重程度2(严重的):极大地影响系统提供给用户的服务,或者严重影响系统要求或者基本功能的实现;

3)严重程度3(一般的):系统功能需要增强或存在缺陷,但有相应的补救方法解决这个缺陷;

4)严重程度4(轻微的):细小的问题,不需要补救方法或对功能进行增强;或者操作不方便,容易使用户误操作;

不同的缺陷严重程度,其定义的权重分别为w1 = 10、w2 = 4、w3 = 2和w4 = 1,分别对应严重程度1(致命的)、严重程度2(严重的)、严重程度3(一般的)和严重程度4(轻微的)。

下面通过案例的阐述,说明DDP和O-DDP计算得到的不同结果,以及根据结果分析得到的不同结论。在该案例中,评估的目标是系统测试的有效性,因此采用的缺陷数目分别来自系统测试发现的缺陷和在产品发布3个月之内用户反馈的缺陷。表1是根据DDP得到的结果:表2 DDP

我们从表1中得到的DDP = 89.54%结果来看,系统测试的有效性应该是非常不错的,因为遗留到用户现场的缺陷数目相对比较少。但是,在我们进行具体详细的分析用户反馈的缺陷的时候,发现用户对该产品的质量严重不满意。他们所反馈的缺陷,很多都是严重影响他们正常使用的问题。因此,上表中的DDP结果并不是让人信服的。

而后我们引入O-DDP,重新进行测试有效性的评估,其计算公式和DDP的公式一样,只是其中每个参数的计算进行了优化:

O-DDP = [R1 / (R1 + R2)] * 100%

其中:

1)R1是系统测试阶段发现的缺陷和它们不同严重程度权重乘积之和,具体计算公式是R1 = m1*w1 + m2*w2 + m3*w3 + m4*w4,其中m#指的是系统测试阶段不同严重程度的缺陷的数目;

2)R2是产品发布之后在用户现场发现的缺陷和它们不同严重程度权重乘积之和,具体计算公式是R2 = n1*w1 + n2*w2 + n3*w3 + n4*w4,其中n#指的是系统测试阶段不同严重程度的缺陷的数目

得到的详细数据如表2所示:表3 O-DDP

3)O-DDP和DDP比较

DDP的计算仅仅考虑了遗留到用户现场的缺陷的数目,完全没有考虑不同缺陷对用户的不同影响程度。而O-DDP的计算兼顾了缺陷的数目和缺陷的严重程度,相对于DDP而言,在判断测试人员的测试有效性方面O-DDP更加全面。

根据表1得到的DDP = 89.54%,而表2计算得到O-DDP = 80.31%,其中的差距差不多是10%。这里面说明了什么?我们可以对此进行简单的分析:

1)第一个可能是测试人员在进行系统测试的时候,发现的严重程度为1和2的缺陷占的比重较低;

2)第二个可能是在用户现场发现的缺陷严重程度为1和2的缺陷占比比较高;

3)不管是哪种情况,都应该引起测试人员的注意:测试人员在系统测试过程中遗漏了某些重要的缺陷,特别是用户特别关注的受到影响的缺陷。

相关文章

  • 测试有效性指标DDP的评估和优化

    缺陷检测百分比DDP(Defect Detection Percentage)常常可以用来评判软件测试生命周期内某...

  • 7个无用的测试测试指标

    我就想平时在测试工作中恪守的那些指标真的都是金科玉律么?软件测试度量是一种通过检测软件测试过程的质量和有效性来评估...

  • 【百面机器学习】优化算法

    机器学习算法 = 模型表征 + 模型评估 + 优化算法。不同的优化算法对应的模型表征和评估指标分别为线性分类模型和...

  • 机器学习自学笔记 2018-09-18

    结构化机器学习项目 第一周 1.3满足和优化指标 你在评估一个算法效果的好坏时,你会有一个优化指标和满足指标,你需...

  • 如何平衡测试的有效性和风险性

    软件测试蕴含着有效性和风险性的矛盾,而测试人员需要对这样的矛盾进行自我评估,从而获得最优平衡。软件测试的有效性和风...

  • 机器学习中的评估指标

    机器学习中需要使用模型,优化,评价,其中评价指标也是用来优化的一环,这里总结一下常用的评估指标,主要分为分类和回归...

  • 优化和满足评估指标(译)

    这里有另外一种方式合并多种评估指标 将准确率和运行时间放在单个公式中导出单个评估指标看起来并不自然,例如:Accu...

  • UD机器学习 - C2 机器学习基础

    训练和测试模型:sklearn基本语句,pandas和numpy,train_test_split评估指标:混淆矩...

  • 软件测试用例

    • 指导测试的实施. • 规划测试数据的准备 • 评估测试结果的度量基准 • 持续优化的保证 软件测试用例设计和写...

  • 图解 | 一张信息图的价值表现

    研究信息设计作为营销和传播的价值,需要从长期和短期的角度去评估信息设计的有效性。你可以通过几个有型的指标来衡量信息...

网友评论

    本文标题:测试有效性指标DDP的评估和优化

    本文链接:https://www.haomeiwen.com/subject/cyfkdctx.html