第8讲:为什么要“尽早发现”

本文强调了在软件开发过程中尽早发现和修复缺陷的重要性。指出人为错误可能导致缺陷,而每延迟一个阶段修复缺陷,成本都会呈指数级增长。通过举例说明,阐述了在需求、设计、编码等阶段发现和修复缺陷的不同影响。作者提倡每个阶段应做好工作,确保缺陷尽早暴露,以减少后期维护的压力和成本。此外,还提到了不同阶段的职责和可能的遗漏点,建议系统化学习质量知识以提升开发效率。
摘要由CSDN通过智能技术生成

人为错误可在任何阶段发生,比如:需求分析阶段漏掉用户的一个需求点,设计的时候对需求的理解偏差等等。由于人为错误必然会引入一个或者多个缺陷。换句话说也就是:缺陷可在任何阶段被引入

越早发现缺陷,修复缺陷的成本就越低。举个例子:如果在编码阶段才发现有个需求点理解偏差,那么相应的需求,设计,编码都要修改。如果在需求阶段就发现,则只需要修改需求文档。据统计每延后一个阶段修复缺陷,修复的成本都呈指数级增长。有过修复生产问题的同学都知道,生产一旦出现问题,往往来自客户和领导的压力非常大,并且经常伴随数据的错误,不仅要修复问题,还要修复数据,而且程序员一般没有生产环境的权限,定位问题还需要运维部门配合,唉,说多了都是泪阿。一起祈祷问题都在上线前都暴露出来吧。

引入缺陷的那个阶段我们称为缺陷的引入阶段或者注入阶段。而发现缺陷的阶段我们称为缺陷的发现阶段。另外,“缺陷修复阶段”照猫画虎就好,不多解释了。举个例子:我们在编码的时候,发现设计有地方没有考虑到,导致需要重新修改设计和代码。那么我们称设计阶段为缺陷的注入阶段,而编码阶段为此缺陷的发现阶段。我们应尽可能在缺陷的注入阶段就发现缺陷,即所谓的尽早发现。

尽早发现不单单是从成本角度考虑,还有另外一个理由。由于每个阶段的职责不同,如果缺陷没有被尽早发现,往往很难在后面阶段被发现。直到有一天在生产环境缺陷被激活,然后被暴怒的客户投诉,被领导训斥,想想就可怕。因此,我们要熟悉每个阶段的工作目标和方法,并做好每个阶段的工作。同样为了便于理解,这里也举几个例子:如果详细设计阶段遗漏了某个小的需求点,由于编码和单元测试是以详细设计文档为基础,因此很难发现这个缺陷。再比如:单元测试如果遗漏了临界值测试,集成测试时,由于重点在于测试接口间的协作,因此很难发现这个缺陷,除非正好撞大运啦。

拒绝碎片化知识,订阅本专栏(免费)并关注大虾,系统化学习程序员需要掌握的质量知识,一起感受不同于技术的别样魅力,拓宽视野,为职业发展打好基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值