行业动态

软件测试缺陷预防的特性以及缺陷预防的过程

     软件测试缺陷预防的特性以及缺陷预防的过程
        这一章主要学习“软件缺陷预防的特点和预防缺陷的过程”这一部分,软件测试工程师们应该知道,缺陷预防(DefectPrevention)是一种策略,用于在整个软件开发生命周期中发现缺陷根源和防止缺陷发生的策略,也是全面质量管理的本质所在。DP缺陷预防处于 CMM (Capability Maturity Model)能力成熟度模型的第五级,对以前偶然发现的问题进行分析,并在未来对类似可能的缺陷进行检查。一支成熟的研发队伍可以通过实施 DP提高产品质量,降低研发成本。

  在使用 DP缺陷预防之后,缺陷呈现如下特征:

  (1)缺陷发现率与时限的关系

  在采用 DP缺陷预防策略后,在每一阶段发现的缺陷数量和使用 DP缺陷预防策略之前,其产生数量的分布见图1-1。

  “注入阶段”和“发现”矩阵。

软件缺陷预防的特性以及缺陷预防的过程(图1)

  图1-1 DP预防缺陷策略对缺陷率的影响

 

  如图所示,使用 DP预防缺陷策略后,缺陷的特征发生了如下几个方面的变化:

  1)在需求和设计阶段发现的缺陷数量增加,表明在所有缺陷中有较多的前期发现缺陷,这样可以减少缺陷修复的成本。

  2)总体缺陷减少,即发现的总缺陷数减少,这得益于研发初期大部分缺陷发现。

  (2)缺陷过滤器

  在采用 DP防止缺陷的策略之后,缺陷就像漏斗一样,在每个测试阶段可以过滤掉某些缺陷,如图9-28所示。

  如图所示,每经过一个阶段,缺陷就会减少大约20%,直到测试结果,系统99%的缺陷都得到了解决。

  防止缺陷的过程就是:在研发过程中,采用防止缺陷的策略是一个非常复杂的过程,其缺陷预防的具体过程见图9-29。

  对每阶段引入的缺陷进行分析,可以确定阶段引入缺陷的比例是否合理,是否与历史数据相。

软件缺陷预防的特性以及缺陷预防的过程(图2)

  图1-2缺陷过滤器

 

  缺陷移率的公式:

软件缺陷预防的特性以及缺陷预防的过程(图3)

  图1-3预防缺陷策略

 

  下面是关于防止缺陷的总体策略的详细步骤:

  步骤一:项目进行研发,研发过程主要包括需求管理、设计和编码三个阶段,这里统称为研发阶段,因为在分析缺陷预防时,研发阶段不需要分的那么仔细。

  步骤2:在测试期间,要找出缺陷,在这一点上记录缺陷和追踪缺陷是必要的,现在主要是通过缺陷管理工具来记录和跟踪这些缺陷。

  步骤3:记录的问题将被收集到缺陷数据库中,同时可以对这些问题进行分析,分析这些缺陷产生的原因和解决方法。

  第4步:深入分析缺陷分布的趋势及成因,旨在找出现阶段研发中存在的问题。

  步骤五:通过分析过程寻找改进的方法,然后对目前的研发流程进行改进。

  值得注意的是,实际上在分析过程中很难一次进行改进,可能需要多轮分析和改进。

  当采用发展规划战略时,管理层必须在组织和项目层面作一些书面的说明,当然这样的书面陈述包括以下几个方面:与发展规划有关的长期资金计划、资源和与发展规划有关的内部管理。

  发展规划实施前,需要对项目成员进行培训,培训主要包括软件保障、配置管理、文档支持以及一般统计方法等方面。

  对 DP小组进行沟通与协调的事项应在整个 DP活动中定期进行。在审查期间,通常有必要确定下列方面的内容:

  产生缺陷的原因。缺点的效果为防止缺陷而花费的改善费用。预期的软件质量影响。

  关于预防和分析缺陷的具体步骤如下:

  (1)数据文件和计量

  资料档案是整个缺陷分析最基础的工作,没有资料档案的支持,就不可能对缺陷进行详细的分析。经常有缺陷的数据会被集中记录在一个存储库中,有些具有专门的缺陷分析管理工具,这些工具与我们目前所使用的缺陷管理工具也可能不同,从而使 DP团队能够更容易地跟踪和分析这些缺陷。故障分析管理系统可详细查看缺陷细节,并提出对开发修改计划或建议。该分析系统也将记录缺陷修复成本与时间之间的关系,以及缺陷最终未被修复所带来的风险。

  有必要定期对缺陷预防活动进行回顾,以便更好地帮助管理者判断缺陷预防的状况。审阅和审阅的时间应该由组织来决定,有可能这段时间会很长,而在此过程中应存在处理异常的机制,当出现异常时应有方法进行处理。审查要注意的问题包括:主要缺陷、缺陷的分类以及缺陷分析的频度。

  另外,相关管理人员应审核 CP策略的有效性,对某些活动、缺陷的实际修复成本和预计成本进行文档化。验证缺陷预防策略是保证缺陷预防策略成功的有效途径。

  (2)个案分析

  首先,我们收集了整个分析过程中的一些数据,即我们做了一个数据仓库,并对这些数据进行分析和测量。在完成这些工作之后,应该对这些案例数据进行实时分析,这是整个缺陷预防的最重要一步。实例分析法就是常见的缺陷分析方法,而9.6节对常见的缺陷分析方法作了详细的介绍。

  (3)基准线

  当分析前一项时,需要为所分析的数据建立一个参考基准,这种基准主要是用来分析其它项目时参考的,其中许多缺陷分析方法实际上应该有一个参考值,否则数据分析就比较困难。

  分析数据时,要把数据分类,正如 ODC缺陷分析法,实际上就是从不同的维度对缺陷进行分析,即从不同的角度来分析缺陷。在研究开发阶段,分析时分为5个阶段:需求分析,系统设计,详细设计,编码和系统测试。通常从10个角度对缺陷进行分析,并将其划分为三级,这时就可以用4位数来表示每一类缺陷,10种类型的分类和说明见表1-4。

软件缺陷预防的特性以及缺陷预防的过程(图4)

  表格1-4缺陷分类

 

  以上只是缺陷的简单分类,这种分类仍然过于庞大,以至于还不足以找到预防的方法,因此,需要对缺陷进行再一次挖掘,找出更深层次的原因,以便更好地找出缺陷的原因。以下以分析需求为例,对需求引起的缺陷做了详细的分析。

  以下为某项的实际数据,按上述10个类别将缺陷分类,分类后的缺陷分布见表1-5。在上述10个缺陷类别中,对需求类缺陷进行了二次挖掘,主要从四个方面对需求的缺陷进行了分析:需求完整性、需求陈述、需求变化和需求正确性。缺陷的分级分布见表1-5。

软件缺陷预防的特性以及缺陷预防的过程(图5)

  表格1-5缺陷分布情况按10大类分析

 

软件缺陷预防的特性以及缺陷预防的过程(图6)

  按表1-6分类的缺陷分布

 

  以下是对需求完整性的第三次挖掘,分析影响需求完整性的原因,主要从三个方面进行分析:

  要求不完全、缺少或没有明确的需求,以及太广泛的需求,分类的缺陷分布见表1-7。

软件缺陷预防的特性以及缺陷预防的过程(图7)

  图1-7第三次采掘缺陷分布

  多个缺陷挖掘的目的是发现缺陷分布的根源,上面只对需求进行分析,然后再用同样的方法来分析其它维度。

  在深入挖掘并分析每一维度的内容之后,再根据根本原因分析法寻找改进的方法或过程,避免下一版本出现类似的缺陷。对共同的缺陷类型,当然,我们最关心的是优先级。对于 DP分析过程中预防 DP的会议或相关培训,都要纳入研发阶段,并记录和测量缺陷,以决定预防措施是否有效。

  在此基础上,对改进后的缺陷分布进行分析,并与改进前的缺陷分布进行比较,确定其预防策略的有效性,然后将预防策略写入公司的标准过程体系中,然后再对缺陷进行分析,如此不断循环,不断完善 OSSP标准流程,这样就会越来越有效地预防缺陷。

  (1)预期成果

  期望值是指当我们持续改进缺陷预防策略时,这些预防的策略必须被纳入一组标准的过程中,以及每一阶段预防策略的检查点,以形成规范文章。

  有待改进的策略主要包括以下方面:

  需要一组方法来在需求文档中对需求编号。

  当描述需求时,应该有一套方法来减少不明确的需求。

  把公共支持和执行提取作为策略。

  改善软件需求规范的模板;

  要求阶段应采用上下文的方式表达,在设计阶段应采用功能界面或界面的方式进行表达。

  每一阶段都改进了每一阶段的检查点清单。

  开发策略和会议讨论或评审策略的分析。

  要有一套测试策略。

  缺陷预防战略在以下四个方面进行质量评估:

  研究与开发过程中,每一阶段缺陷总数减少。

  研究开发过程中各阶段缺陷分布变化,即前期发现缺陷数量占总缺陷数的比例增加。

  降低发展成本。

  发展周期缩短。

  (2)改进战略的结果

  从以上的分析可以找到缺陷预防的改进策略,而这些改进策略必须应用于整个研究开发过程,才能实现真正的缺陷预防。

  计划之初,在研究与开发的每个阶段,必须召开相关会议,以阐述预防缺陷和因果分析的重要性,并应在每一阶段的评审中提供相应的检查清单,在进行同行评审时应对照这些检查清单进行评审。

  利用缺陷追踪系统对缺陷进行详细记录和分析,研发过程中的每一步都应该用到缺陷追踪系统,现在很多公司都有自己的缺陷管理系统,将缺陷记录在缺陷管理系统中,这样就可以更好地跟踪缺陷解决的方法,从开始记录到处理结束之后的整个解决过程。

  当对缺陷进行原因分析时,缺陷的解决方案一定要让人满意,并通过会议来讨论,这样可以让大家在整个缺陷的预防和改进过程中有一个更好的认识。

  上述五步为缺陷预防的步骤,核心是分析缺陷,确定改进的流程。

             以上是关于软件测试的知识,由多测师亲自撰写,全网独家提供!   https://www.duoceshi.com/

新闻资讯

联系我们

联系人:王女士

手机:17727591462

电话:0755-21072941

邮箱:hr@duoceshi.com

地址: 广东省深圳市龙华区龙华街道清湖和平路62号优鼎企创园D栋201室,202室

用手机扫描二维码关闭
二维码