产品体验中心 下载与支持 产品社区 合作代理 |  咨询电话:400-035-7887/021-6072 5088
当前位置:泽众软件测试网- 技术文章 -正文

什么是软件缺陷?缺陷分析的目的是什么?

发布时间:2020-06-17

如今,不少公司通过bug分析来改进产品质量、优化研发流程和项目管理方式。很多时候项目开发周期难以控制,原因之一就是缺乏缺陷数据的统计与分析,及缺陷的预防机制。

什么是缺陷分析

什么是软件缺陷?

通常意义上的缺陷:程序中存在的错误,俗称bug。

广义上的缺陷:项目计划、需求规格说明书、设计文档、测试用例、用户手册等存在的错误或问题。可以说在软件工程整个生命周期中,任何导致无法满足用户所要求的的功能活导致系统失败的问题都都属于缺陷的范畴。

再说说什么是缺陷分析?

通常意义上的缺陷分析:包含两个阶段,一是发现bug后进行bug定位和排查原因的活动;二是系统测试结束前后对软件开发各个阶段产生的缺陷进行分类、分析和汇总统计,改进缺陷度量和分析的模型,编写分析报告的活动。这个活动中可能会伴随着其他活动,比如输出缺陷预防的方案。毕竟我们做分析的最终目的是为了提高产品质量和优化项目管理流程。

广义上的缺陷分析:对应“广义缺陷”的定义,对项目开发的整个生命周期中出现的各类问题(不局限于bug)进行分类和分析,进而改进项目管理过程的活动。

发现bug后进行缺陷分析可以帮助我们:

1、排查是否有遗漏的同类缺陷:

比如我们发现某个bug产生的根源是因为开发修改了某个接口,我们会推测其他调用该接口的模块可能也存在风险。这种情况我们就可以更好的保障测试范围没有遗漏。

2、验证代码逻辑的合理性:

开发人员水平参差不齐,对于同一个功能可能有多种实现方式,年轻的程序员非常可能选择较差的实现方式,他们的修复可能不但更复杂,也可能会引入新的bug。而有经验的测试员可以指导程序员更简单高效的方式。这个过程中的分析经历,无论是对测试员还是程序员都是一种经验的积累。

3、有助于确定开发人员是否真正修复了bug:

如果不了解bug产生的原因,很多时候测试人员无法确定bug是否被正确修复。笔者多次遇到这种情况,有N种情况都可能导致bug的出现但程序员只修复了其中一种情况;有时候对于一些偶发性的bug,如果不清楚原因,就很可能无法设计出正确的测试方式,进而导致不能保证bug被真正修复(这种情况中,程序员没有提交本地的修复代码到主干,测试人员可能都不清楚)。

4、改善缺陷分类。

通过缺陷分析结果的反馈,改进缺陷度量分类标准和分析目标,提高缺陷分析结果的准确性。

5、有助于项目结束后的分析。

出现时bug不做分析,项目结束后想做分析可能都做不到了。

对哪些bug进行分析?

软件缺陷的范围很广,不仅仅指在测试过程中发现的缺陷,而是指在整个软件生命周期中发现的所有缺陷。但是否所有的缺陷都需要分析呢?显然不是。做分析之前首先要明确我们的目的,目的的不同也决定了分析内容的不同。比如有的团队,可能只需要对上线后发现的漏测bug进行分析;有的团队需要对上线后暴露的bug以及软件测试阶段发现的典型bug进行分析。需要根据团队需要进行确定。

系统测试结束前后的缺陷分析可能帮助我们:

1、确定当前产品的质量状况

指导后期工作重点,明确产品上线前回归测试以及上线后重点关注的模块:比如上线前一般需要再重点测试缺陷集中的区域。

2、明确缺陷发展趋势,确定是否可以结束测试

我们都知道bug是找不完的,缺陷发展趋势是作为判断是否可以结束测试的重要标志。如果发现趋势不正常,那缺陷分析可以帮助我们制定出遏制缺陷发生的措施、降低缺陷数量。

3、发现测试员工作技能上的不足,提升人员能力。笔者作为测试经理的那些年,经常需要通过测试员提交的bug,来分析每个测试员存在的弱项,从而判断产品测试的质量,以及制定测试员的培训方案。

4、提升开发和测试人员的素质以及责任心,改进测试流程,优化测试方式。

有经验的测试经理对于一个项目可能出现的bug总数量,对于每个模块可能隐藏的bug数量,以及每天测试人员应该发现的bug数量会有一个估计。如果实际情况偏离了预估,测试经理需要做的其中一项工作就是考虑是否目前的测试流程和测试方式存在不足。

5、改善项目管理流程。

质量是生产出来的,不是检验出来的。软件产品的生产过程决定了所开发出的软件的质量,提高软件质量是软件生产过程中各项活动的共同目标。可以通过bug中反映出来的问题,优化项目管理过程,促进对软件生产过程的质量控制与管理。

6、预防缺陷发生。

目前多数测试人员都是在项目送测后进行检测,这是一种“事后检测”行为,我们希望找到一些方式来“事前控制”。

7、提高项目成功率。

时间成本是衡量项目成功的一个重要因素,而项目无法如期交付的原因之一就是花费过多的时间在修改bug上,如果上一条能推进,可以在很大程度上缩短项目周期。

8、提高软件开发和测试效率。

CMMI4认证需要或改善组织的软件能力成熟度。认证CMMI4要求在项目中定量管理,建立组织级过程性能,构成完整的量化管理,采用统计或其它定量方法管理软件过程,并通过对过程中出现的方法,技术等问题进行因果分析和寻找解决方案。

相关阅读:

如何选择Bug管理工具?常用Bug管理工具的功能有哪些?

如何使用和管理测试用例?测试用例管理的主要功能有哪些?

【免费工具下载】Bug管理、用例管理、报表管理、团队管理、文档管理

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。
沪ICP备07036474号 2003-2024 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨询

添加客服微信 欢迎咨询测试工具和测试服务

微信客服
问题
反馈
产品
画册

扫描二维码下载泽众软件企业宣传册

产品画册
返回
顶部

方案咨询

×
提交信息

电话咨询,400-035-7887,安排专业技术售前给您解答(产品试用、技术交流、服务咨询和商务报价)。

您的信息已成功提交!

我们的客服人员稍后会与您联系