`

测试有效性的评估与优化

 
阅读更多
缺陷检测百分比DDP(Defect Detection Percentage)常常可以用来评判软件测试生命周期内某个阶段的测试有效性。但是,在实际评判测试有效性过程中,DDP也存在某些方面的欠缺。本文通过分析DDP的基本原理,笔者提出了更适合测试有效性评估的优化DDP(简称O-DDP)。
1)DDP
穷尽测试是不可能的,因此,不可避免有一些缺陷会遗漏到客户的使用现场,从而触发软件产品产生令用户不满意的失效或者各种问题。通常来说,在测试过程中判断测试人员的测试有效性是很困难的。但是通过用户反馈的缺陷数目,却可以直观的说明测试人员是否遗漏了比较多的问题,从而反映测试人员的测试有效性。缺陷检测百分比DDP(Defect Detection Percentage)就是基于这样的目的进行定义的,它可以用来评判软件测试生命周期内某个阶段的测试有效性,它以百分比的形式进行计算[1]。其计算公式为:
DDP = [R1 / (R1 + R2)] * 100%
其中:
  1. R1指的是被评估阶段发现所发现的缺陷数目;
  2. R2是被评估阶段之后所发现的所有的缺陷数目;
DDP计算公式的分母并不是发现的总的缺陷数目,而是指该阶段之后所有发现的缺陷数目(包括该阶段的缺陷数目)。表1是计算DDP的一个例子(主要针对动态测试而言的):
表1 DDP计算的例子
测试阶段 发现的缺陷数目 DDP
集成测试 376 51.58%
系统测试 251 71.10%
验收测试 65 63.73%
产品发布(3个月之内) 37 NA

采用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得到的结果:
表1 DDP
阶段 缺陷数目 DDP
系统测试 351 89.54%
产品发布(3个月之内) 41 NA

我们从表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所示:
表2 O-DDP
阶段 严重程度1 严重程度2 严重程度3 严重程度4 O-DDP
权重 10 4 2 1
系统测试 21 57 211 62 80.31%
产品发布(3个月之内) 11 28 2 0 NA

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(简称O-DDP)。  缺陷检测百分比DDP(DefectDetectionPercentage)常常可以用来评判软件测试生命周期内某个阶段的测试有效性。但是,在实际评判...

    论文研究-随机性优化算法有效性定量对比评价方法.pdf

    该方法针对单个或一组测试函数的多次优化结果进行统计分析,得到一个能够在概率意义上定量表征不同随机性算法求解单个或一组测试函数的有效性优劣关系的因子。利用该方法,对采用同步或异步全局最优粒子信息更新模式...

    论文研究-基于智能非信息素蜂群优化的软件测试研究.pdf

    该方法将每个测试实例都看做优化问题的一个可能解,并引入幸福值用于评价测试实例的吻合程度。通过将三组蜂群分别扩展为搜索代理、选择代理和优化代理,可以从大量的测试实例中选出有效的测试实例。利用这些代理的...

    软件测试技术与实践培训班

    测试组织管理 建立有效的测试组织 测试人员角色分配 测试人员绩效评估 建立测试质量体系 程序文件 质量手册 作业指导书 过程文档 软件测试标准 ISO 9126 软件工程 产品质量 ISO 14598软件工程 产品评价 测试质量评估...

    粒子群优化算法源码下载

    求解最优化问题一直是遗传算法的经典应用领域,...实验结果证明了算法的有效性。粒子群算法的收敛性、基于粒子群算法求解不连续、多可行域的约束优化问题、基于粒子群算法求解高维多目标优化问题是本文的后续研究工作。

    论文研究-自适应磷虾群优化Elman神经网络的目标威胁评估.pdf

    提出一种自适应磷虾群算法,在基本磷虾群算法中...又能够使寻优精度得到明显提升,其对测试集的预测结果优于传统Elman神经网络和基本磷虾群优化Elman神经网络,从而验证了算法模型在目标威胁评估中的可行性、有效性。

    性能测试从零开始:LoadRunner入门与提升

    10.1.2 保证数据的有效性 284 10.2 LoadRunner高级功能的使用--Web Click Vuser 286 10.2.1 Web Click Vuser的产生背景 286 10.2.2 Web Click Vuser与传统Vuser的差别 286 10.2.3 使用Web Click Vuser 286 第11章 ...

    代码优化:有效使用内存.part3

    第2,3章分别全面介绍RAM了系统与高速缓存子系统的代码优化知识。第4章主要介绍了机器代码优化技术。各章在讨论基本原理的同时详细给出了代码实例,并对优化性能进行了定量的分析。该书特别适合于作为应用程序员及...

    代码优化:有效使用内存.part1

    第2,3章分别全面介绍RAM了系统与高速缓存子系统的代码优化知识。第4章主要介绍了机器代码优化技术。各章在讨论基本原理的同时详细给出了代码实例,并对优化性能进行了定量的分析。该书特别适合于作为应用程序员及...

    代码优化:有效使用内存.part2

    第2,3章分别全面介绍RAM了系统与高速缓存子系统的代码优化知识。第4章主要介绍了机器代码优化技术。各章在讨论基本原理的同时详细给出了代码实例,并对优化性能进行了定量的分析。该书特别适合于作为应用程序员及...

    通过在线拓扑和几何路径优化进行自主户外扫描

    — 室外环境的自主 3D 采集带来了特殊挑战。 与室内场景不同,房间空间由清晰的边界和分隔(例如墙壁和家具)划定,室外环境是宽敞... 我们的方法通过合成和现场测试进行了评估,证明了它相对于替代品的有效性和优势。

    蝴蝶优化算法(BOA)文章复现(改进Tent混沌初始化种群+自适应权重w、p+最优领域扰动策略+透镜反向学习策略)-ORBOA

    蝴蝶优化算法(BOA)文章复现(改进Tent混沌初始化种群+自适应权重w、p+最优领域扰动策略+透镜反向学习策略)——ORBOA ...基准测试函数是评价优化算法效果的一种方法,其本质是一个具有已知最优解的函数,通过计算算法

    bilevel optimization using approximations.zip

    来自经典优化的思想已经与进化方法混合,为一大类双层问题生成了一个有效的优化算法。在两组测试问题上对算法的性能进行了评估。第一组是最近提出的SMD测试集,其中包含复杂性可控的问题,第二组包含从文献中收集的...

    嵌入式软件测试工具--LOGISCOPE

    TestChecker 允许所有的测试运行依据其有效性进行管理。用户可以减少那些用于非回归测试的测试。 测试的优化 在测试阶段的第一步,执行的测试是功能性(黑箱)测试。其目的是检查所期望的功能是否已实现。在测试...

    Domino 6应用程序性能优化指南

    考虑到某些定制的Notes应用程序的复杂性,这类测试不仅仅单调乏味,而且似乎永无止境。谁知道您需要花费多长的时间来减少一个设计因素、公式、脚本程序或属性,它们有可能阻碍应用程序的正常运行。 我们提供了一种...

    雷达装备质量评估指标优化研究 (2014年)

    在雷达装备质量评估工作中,为缩短战备状态的质量评估时间,提高效率,提出了基于熵权区分度的指标优化方法.首先根据指标的测试数据,分别计算每个...最后通过实例,验证了该方法在雷达装备质量评估中的可行性及其有效性.

    matlab_一种新的仿生优化算法_A Novel Bio-inspired Optimization Algorithm

    该算法的有效性进一步与基于生成的最优解的几种公认的元启发式方法进行了比较。此外,我们还对六个约束和一个无约束工程设计问题执行了该算法,以进一步验证其鲁棒性。仿真结果表明,TSA具有更好的性能 与其他竞争...

    如何有效安排你的测试先后顺序

    如果在评估风险时考虑风险可能性和严重程度的影响因素,我们就可以优化风险评估公式,从而更好构建测试优先级。  常规的风险评估通过计算可能性和严重程度来实现,它的缺点是没有能够更具体地体现各种不同因素对...

    F2etest是一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案。.zip

    监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标...

Global site tag (gtag.js) - Google Analytics