Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >抱歉,你测试的项目上线之后bug太多了!

抱歉,你测试的项目上线之后bug太多了!

作者头像
测试开发囤货
发布于 2022-11-07 09:34:49
发布于 2022-11-07 09:34:49
1.7K0
举报
文章被收录于专栏:测试开发囤货测试开发囤货

聊聊缺陷逃逸率

最近群里的小伙伴经常在说,生产环境出bug了,测试同学不得不背锅,指标不好看了等等。

那什么是「缺陷逃逸率」

“缺陷逃逸率”,Defect Escape Percentage,简称DEP,是指软件产品发布后发现的缺陷数量与该软件产品在整个生命周期发现的所有缺陷数量的比率,通常用来衡量软件开发团队与测试团队对软件质量控制的水平。

缺陷逃逸率的计算公式一般是:

「缺陷逃逸率(DEP)= [R2 / (R1 + R2)] * 100%」

其中:R1指的是产品发布前发现的缺陷数;R2是产品发布之后所发现的缺陷数。

不知道你是否记得,当初做项目测试的时候,经常遇到一个问题:开发团队认为这个很简单的事情,但是不停地修改迭代,到最后发现问题很多了。在产品团队中,可能有人会说,缺陷逃逸是质量管理上一个很常见的问题,而且没有什么好讨论和研究的。那这种观点应该是错误的!对于软件开发团队来说,产品缺陷是非常常见的问题。

一、产品上的缺陷问题

当开发人员在研发一款产品,会遇到很多常见的问题,其中不乏产品缺陷。那么这些问题出现于哪里呢?

我们将这一系列问题分为两类:有可能出现于功能实现、需求执行过程中的缺陷问题。

下面将分别从各个角度介绍产品上的缺陷问题:从上述分类可以看出:有可能出现在功能实现、需求执行过程中的缺陷问题一般都是由于工作人员疏忽大意导致;有可能是因为开发团队在开发过程中缺乏技术意识而造成;可能是由于开发团队自身缺陷导致。

从以上分类中可以看出:

  • 有可能出现在开发过程中的缺陷问题一般都是由于工作人员疏忽大意导致;
  • 有可能发生在需求过程中的缺陷问题一般都是由于需求人员在需求过程中缺乏技术意识而造成;
  • 也有可能发生在功能实现过程中的缺陷问题一般都是由于开发团队对产品需求理解不到位造成;
  • 还有可能出现在需求执行过程中的缺陷问题一般都是由于用户自身不重视导致;

最后可以从产品团队人员工作态度出发来分析造成产品缺陷问题的原因!

1、功能实现过程中的缺陷问题

一般来说,在功能实现过程中,产品开发人员主要存在以下两种缺陷:

在设计时往往不太注重细节,不能做到“零缺陷”!或者设计时出现了严重的 bug等;在功能实现过程中不能严格执行操作规范和流程,

例如:没有实现用户输入密码的功能;用户输入密码后无法进行设置等。当用户登录了该功能后,仍然不能做到正确进行设置;或者用户在输入密码时出现了 Bug等;

以上缺陷如果发生在功能实现过程中可能就会发生,但是由于这些缺陷很多是比较小的缺陷,所以并不容易被发现甚至能够避免。如果这些缺陷非常小,开发人员就不需要进行检查或者及时发现,也不需要过于重视这个问题,但是如果缺陷太大了话,会导致测试人员无法快速定位问题所在,从而造成无法通过测试等问题。

2、需求与用户执行过程中的缺陷问题

当产品向用户收集需求时,用户会通过需求文档的描述表达出来。但是在需求文档中往往只是一个描述,没有其他的信息来作为辅助。

比如:需要用户的密码和用户密码管理方式。这个时候开发人员可能没有意识到这个问题,并且会利用用户隐私保护的漏洞来规避这一问题。下面将具体说明下这种缺陷问题的发生概率,并且说明开发团队的应对方法!当开发人员将需求文档发给用户时,用户会对需求文档进行阅读,如果用户对需求文档有疑问且需要咨询业务人员时,开发人员就需要根据客户需求来制定方案对该问题进行处理。用户在阅读到这个流程之后就可以修改自己的需求了,开发人员可以据此来降低缺陷发生率!

二、导致缺陷逃逸的原因

既然缺陷逃逸会造成很大的影响,那为什么有那么多人不愿意承认缺陷呢?

究其原因,主要还是在产品团队层面。对于软件开发团队来说,我们最担心和最怕的事情莫过于质量管理出现问题,这会严重影响我们对产品质量、业务质量和产品交付等方面的判断。而且我们要做好事前质量管理,要考虑到后续可能会发生的问题,并制定相应的措施和计划来防止质量事故发生。

对于产品层面来说,我们还应该考虑到产品架构设计、开发成本、生产周期等多个方面,要考虑到各个方面可能会有很多缺陷发生。当然这一切都会在产品研发结束后才会出现,而且是我们最难控制的方面——比如架构设计、开发成本、生产周期、管理、人力资源、组织架构等方面在后续是否能被及时发现和纠正也是我们非常关心的问题(甚至包括很多人没注意到的问题)。所以要做好后续管控措施也不是一朝一夕可以完成的事情。

1、产品团队的缺陷控制意识不足

很多人对业务质量的理解是由一个功能(这在业务层面上来说是没有错的),产品和用户都想把这个功能做好却没有注意到缺陷。这就导致了产品和用户的交互行为经常不受控制、数据不被记录和收集。

举个例子:有些缺陷的代码会被修改过之后再进行测试。而如果你的产品/用户没有发现这些修改后的代码,就有可能因为某些操作而导致这些修改后的代码再次被修改,而这个修改过的代码又可能会被用于后续项目进行测试或交付客户应用。久而久之便造成了产品的质量隐患,这样下来还怎么提升产品能力?

对于软件开发团队来说,最难控制的地方就是缺陷管控环节了。而缺陷管控不仅仅局限于我们的产品需求阶段,而是所有产品所面临的所有可能会让我们陷入困境的步骤:产品设计、研发成本、生产周期等问题中去了,但还是有很多缺陷的发生。而这些缺陷一旦被发现或者反馈给我们产品质量部门后都有可能被忽视——或者在产品的交付阶段才将缺陷问题反映出来(这对我们来说十分重要)。但很多产品团队在出现问题时就不愿意承认缺陷并且不愿意去修复,这就导致了在交付前没有任何手段去解决这些缺陷。

2、产品团队缺陷处理能力不足

在产品层面,缺陷可以分为人为的缺陷和产品内部的缺陷,而这种缺陷是可以通过产品和开发过程中对产品的优化来减少的。

所以说产品团队如果不能对产品本身缺陷的处理能力有所提升那么就不会有那么多缺陷逃逸的情况发生。因为当发生缺陷的时候我们很难判断是谁的责任,因为产品团队的责任就在于对产品本身缺陷的识别、发现和解决问题。如果产品团队是没有能力及时发现自己产品内部缺陷的话那么他们可能就不会对自己产品的存在的缺陷感到不满并开始检讨自己。

当一个缺陷需要被人指出时即使问题不是非常严重但该缺陷已经发生过一次或几次——尤其在上线后一个季度内存在的次数最多,而且每次出现问题都会让团队感到十分的头疼,那么这个时候如果产品团队没有及时解决这个问题很可能会造成二次伤害(当然最直接的伤害还是要从产品本身出发)。

所以说产品团队一旦发现产品存在缺陷,那么首先应该做的就是尽最大努力让缺陷问题得到解决,然后再进行缺陷的改进和补充等工作让缺陷得到更好的控制和避免;而不是一味的想着如何不让缺陷发生而去主动承担缺陷,也不要害怕要承担责任而试图掩盖缺陷。

三、如何防止产品上存在缺陷逃逸?

想要防止产品存在缺陷逃逸,在制定、实施计划和过程中要做好充足的准备。

首先要对产品进行质量把关,产品质量不仅涉及到研发人员、质量经理、开发人员,还包括系统架构师、需求开发人员、测试工程师等。因此,要加强对产品质量的管理、避免产品质量问题。

其次要加强质量控制能力建设,不断提升业务人员和开发人员责任心。要重视产品质量控制能力建设工作,这不仅将直接影响产品质量控制水平的提升、业务人员责任心改进速度和产品质量一致性等方面的效果,而且会对项目后期开发交付产生重要影响!

第三要强化关键流程把控体系工作,也就是质量控制体系和质量管理工作开展情况这两个方面工作的能力。

1、如何防止缺陷逃逸

首先我们需要明确,在实际的项目过程中,我们经常会发现项目上存在缺陷逃逸现象。

「原因是什么?」是测试没有测到?还是开发人员不够细心。

也就是产品出现的问题是由产品经理自己来承担结果的。产品经理为了减少产品上的缺陷逃逸,可以在项目早期制定一些预防措施:

为了防止产品出现缺陷逃逸,首先要在产品上设置相关的缺陷规则和风险预警提醒;其次要对产品出现缺陷原因进行分析评估,分析产品问题产生原理及可能造成的后果;最后在项目中要加强产品质量管理,从质量管理体系建设入手保证产品质量可控可控!

所以产品上存在缺陷逃逸,可以从两个方面来解决:产品经理和项目经理的配合、产品质量把关、业务人员的主动参与、业务人员的质量意识提升等几个方面来解决:产品经理应发挥好业务人员和开发人员各自在产品方面的优势,制定相应的产品质量计划方案;并积极参与产品质量控制工作;为产品质量控制体系和质量管理工作开展情况做出准备;及时地处理或发现产品质量问题并及时地采取措施等等!

2、数据统计分析:质量控制是产品质量控制的核心

产品质量控制工作是通过对产品过程质量问题的统计分析,对所辖产品进行风险评估,制定风险预警方案,在此过程中,对风险数据进行统计分析从而确定可能出现的风险值。然后将可能出现的风险值和实际发生产品风险值进行对比,最终找出可能发生产品风险问题的产品,以防止缺陷逃逸行为的发生。

质量控制工作作为质量管理的核心内容之一,不仅涉及到产品质量的把控和风险的评估,而且还包括对产品质量问题采取有效措施,防止产品问题逃逸的发生。因此,质量控制工作在实施过程中要将重要且敏感的工作目标进行及时有效的记录和分析并加以管理与控制,以保证质量控制工作的有序有效开展。

随着大数据的兴起,产品数据管理已经成为产品质量控制工作的核心之一。产品设计、质量跟踪、迭代升级、缺陷分析与处理等过程中都需要对产品数据定期或不定期地进行记录和分析。

3、产品质量管理

质量管理是一种过程管控,是针对整个过程的质量管控,不能只局限于过程管理。

因此,在进行产品质量控制时,应注重对整个过程的质量管理,以避免产品存在缺陷逃逸。在开展产品质量工作时,应把产品质量管理体系贯穿于产品整个过程中,并以此为基础不断完善产品质量管理体系,的实施方案和步骤,从而提升产品质量控制水平,使产品质量管理体系更加完善和有效。所以在开展产品质量工作时,不能局限于过程管理工作开展,而应该以产品质量管理工作持续开展和不断完善产品质量体系。

因为产品质量体系主要包含以下三个方面:质量计划和质量控制计划;产品质量过程控制管理计划。

产品质量计划和质量控制计划是产品质量工作的第一步,也是决定产品质量控制工作能否持续推进的基础和前提。所以应加强产品质量计划和质量控制计划的实施,同时应加强产品质量过程控制管理计划的实施情况监控。质量管理计划对产品质量方面而言非常重要,要确保质量控制计划的持续有效执行,只有通过项目实施情况(项目周期、产品问题、研发发现等)来监控与分析质量计划的执行情况和结果。产品质量策略也应在相关工作中加以完善和持续贯彻实施。例如:如何评价或评估产品缺陷逃逸?

4、文化理念

企业文化产品开发流程要体现品质理念,建立质量管理体系和质量管理工作开展情况的能力,包括风险管控能力建设工作和关键流程把控体系工作;

业务文化:质量经理、需求开发、测试工程师,只有各方面都做好了,才能保证产品能满足客户的需求。要开展全流程产品质量把控工作,加强产品的质量管控,降低缺陷逃逸率。

很多产品缺陷逃逸是因为产品的质量把控没有到位、没有做好系统的质量控制工作导致缺陷逃逸导致的。这个时候要对项目前期的质量管控工作做好详细的梳理。特别是对项目前期质量管控工作做好总结,从各个方面避免产品出现缺陷逃逸问题。然后要对全流程产品质量管控工作进行详细阐述:对于产品质量管控工作进行详细描述:包括开发阶段质量管理工作开展的状态、风险管控工作流程建立状态报告制度。

针对产品质量控制工作的全流程质量管控的计划和工作流程(包括设计过程、开发过程和测试、上线过程和质量检查);对质量改进路径的追踪策略和措施等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软件测试工程师 路在何方?如何发展?职业规划是怎样的?
读了《测试架构师修炼之道》之后,内心还是惶恐的,程序员35、40岁这两道坎如何应对,测试工程师其实也不例外。这本书第2章节主要讲了软件测试工程师的职业规划,内容还是非常不错的,对一些内容整理下,留作笔记,以备后用。
虫无涯
2023/02/01
1.2K0
制定质量管理计划指南
组织范式中的每个项目都经过许多不同的阶段,在这些阶段中都进行了尝试和测试,以确保它能够承受公开市场将要承受的巨大压力。在所有这些阶段中,最重要的是质量控制。
FunTester
2020/08/19
7730
8 怎么样才能避免豆腐渣工程? 人人都是项目经理系列(第8/13篇)
和前面一样,正式开始本章内容之前,我们先认识几个大师。这些人都是在质量管理领域有杰出贡献的大佬。
放牛的星星
2020/07/21
6400
8 怎么样才能避免豆腐渣工程? 人人都是项目经理系列(第8/13篇)
软件行业里测试与质量保证的区别
尽管有时认为质量保证 (QA) 和软件测试是相同的,但实际上它们是不同的概念。它们的目标、特征和方法各不相同。由于对测试的性质存在许多误解,测试人员和QA工程师也不清楚他们的工作描述。我将仔细研究每个角色以澄清它们。
测试加
2022/12/05
6170
软件行业里测试与质量保证的区别
PDCA循环——快速提升软件质量的必备工具
近年来,软件项目的规模及其复杂性正在以空前的速度增长,互联网用户市场庞大,互联网公司和相应的软件产品层出不穷。快速响应需求变化往往是互联网行业的常态,软件产品的快速开发迭代对于公司迅速占领市场、抢占商机有着举足轻重的意义。
敏捷开发
2022/04/24
2K0
PDCA循环——快速提升软件质量的必备工具
《软件过程与管理》复习
选择评审方法最有效的标准是: “对于最可能产生风险的工作成果,要采用最正式的评审方法.”
CSDN-Z
2024/10/17
1630
《软件过程与管理》复习
【信管7.1】质量与质量管理过程
对于我们的项目管理理论相关的学习来说,质量是除了范围、进度、成本之外的另一个核心内容。还记得我们在学习敏捷的时候讲过的项目管理三角形吗?通过之前的课程,我们已经学完了它的三个支点。接下来,我们就要学习放在这个三角形中间的质量管理。
硬核项目经理
2023/03/02
6530
【信管7.1】质量与质量管理过程
十大管理领域可能的问题与解决举措
熟读吧,根据案例中出现的情况,使用不同的话术 可研过程中可能出现的问题 项目经理的技术经验不足 没有正式、书面的新产品研发项目建议书就开展可行性研究工作 新产品研发的可行性研究工作不充分,尤其缺少技术可行性分析和论证 研发过程中对人才缺乏、竟争对手等带来的风险缺乏充分的分析,没有合理有效的应对方案 没有新产品的初步设计方案就开始研发工作 新产品的需求和技术指标不应由领导把关,应进行外部评审 在项目启动前缺少对项目成本的估算或成本估算工作未到位 可行性研究报告缺少必要的内部论证或外部评估环节 没有制订综合、全
用户3148308
2021/05/27
8000
【信管7.2】质量保证与质量控制
项目质量管理的两个核心过程就是实施质量保证和控制质量。关于它们两个的区别我们在上一课已经讲了,实施质量保证其实保证的是过程,就是我们的开发过程是不是遵循了质量计划,也就是说,这是保证过程有质量的一个过程。而控制质量则是针对结果,也就是我们项目的产出,各种可能的产品、服务之类的,努力提高产出结果的质量水平。
硬核项目经理
2023/03/02
7440
【信管7.2】质量保证与质量控制
如何有效提升软件测试质量?
软件质量保障 | 测试质量保障、自动化工具/框架、平台开发、算法测试、BAT/TMD大厂测试岗面试题/面经分享、测试团队建设与管理、测试新技术的分享。 偶尔也聊聊个人工作的收获与经验。可以帮忙内推字节、阿里、百度等大厂。
互联网金融打杂
2022/08/01
1.2K0
如何有效提升软件测试质量?
软件质量浅谈
一提起软件质量管理,人们的第一反应就会想起CMMI和ISO 9001。然而经过多年的探索,这些曾经被奉为软件质量管理的圣经并未普渡众生,其对提高软件的品质似乎没有奏效,现实和理想差距很远。 本文不对CMM和ISO 9001做过多的评论。只是个人对如何提高项目软件品质谈谈自己浅薄的认识,起到抛砖引玉之效。 企业的根本目的是获取最大利润。因此一切企业活动都围绕这个目的展开。谈项目软件品质也不能离开这个商业目标,而单纯设想如何构造一个完美品质的项目。 品质管理的现状分析: 1、企业的资源
张树臣
2018/05/15
1.6K0
这样的测试过程管理让你事半功倍
本文主要从五个途径介绍了如何培养团队的质量意识,以及如何把控业务的测试策略。包括:1.测试团队能力建设;2.测试用例设计能力;3.测试数据准备;4.测试工具选型;5.测试过程管理。通过这些方法,可以帮助团队提升质量意识,提高测试效果,并保证产品质量。
腾讯移动品质中心TMQ
2017/08/17
1.4K0
这样的测试过程管理让你事半功倍
汽车零件质量大变脸!东华转向自助数据分析有绝招
近日,帆软举办了第四届FineBI数据分析大赛,让来自各个领域的业务人员,用帆软的BI产品来进行自助式数据分析,产生了大量的优秀分析案例。
数据猿
2024/01/03
2070
汽车零件质量大变脸!东华转向自助数据分析有绝招
5M1E方法:软件质量管理最佳解决方案
能够影响产品质量波动的因素包括如下方面:人员(Man)、机器(Machine)、物料(Material)、方法(Method)、环境(Environment)、测量(Measure),简称人、机、料、法、环、测。此为产品质量管理的5M1E。
敏捷开发
2024/01/22
2830
5M1E方法:软件质量管理最佳解决方案
软件项目管理案例分析
高水平项目管理是软件项目成功的关键,也是软件产品质量的根本保证,具有这方面理论和实践的人员是目前软件组织中急需的高层次人才。为建立符合中国国情的软件开发过程和组织体系,培训中心特举办“软件项目管理案例分析”培训班,具体事宜通知如下:
全栈程序员站长
2022/08/31
1K0
【测试左移专栏】从测试左移到工程生产力
腾讯移动品质中心TMQ
2017/05/24
3.4K0
【测试左移专栏】从测试左移到工程生产力
项目十大管理(五)质量管理
而项目质量管理(Quality Management)是指确定质量方针、目标和职责,并通过质量体系中的质量规划、质量保证和质量控制以及质量改进来使其实现所有管理职能的全部活动。
归思君
2023/10/16
6650
项目十大管理(五)质量管理
【敏捷7.3】缺陷、质量与失败模式
在学习完风险、问题之后,我们再继续学习一个简单的内容,是和 QA 有关的缺陷、质量方面的内容。关于这一点,又要搬出 PMP 了。
硬核项目经理
2023/03/03
3030
【敏捷7.3】缺陷、质量与失败模式
PMP之项目质量管理
管理质量:质量是规划出来的,质量包括产品质量和过程,人人有责,管理层承担85%责任,满意度最重要,质量靠预防和评估
菲宇
2019/06/12
2.4K0
PMP之项目质量管理
【软件过程改进 学习笔记】过程思维 ( 软件危机 | 软件过程 | 过程改进 | 过程思维 | 过程描述 | ISO 9000 | 6σ | PCM | CMMI )
软件过程 简介 : 软件过程 是 为了 开发高质量软件 所需要完成的 任务框架, 即形成软件产品的 一系列步骤, 包括 中间产品, 资源, 角色 及 在过程中采取的 方法, 工具 等 ;
韩曙亮
2023/03/28
8280
相关推荐
软件测试工程师 路在何方?如何发展?职业规划是怎样的?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档