欢迎订阅我的新专栏《现代命令行工具指南》,精讲目前最流行的开源命令行工具,大大提升你的工作效率。
作者:王媛媛 编辑:毕小烦
万物皆有生命周期,软件工程也一样。软件生命周期(SDLC,Systems Deve lopment Life Cycle)描述了软件从开始研发到最终被废弃的一个过程,这个过程又可以分为三个阶段:软件定义、软件开发和运行维护。
其中:
那什么是测试左移呢?
测试左移其实就是将关键的测试行为左移至软件开发生命周期的早期,从而更早的发现和预防问题。
下图为 Capers Jones 在《Applied Software Measurement : Global Analysis of Productivity and Quality》中提出的关于软件缺陷的一些分析。
图中横坐标为软件生命周期不同阶段,纵坐标为缺陷百分比。
从图片中不难得出以下结论:
这与我们对缺陷的认知也是基本吻合的。
但倘若更早的介入测试呢?将测试活动提前至设计/编码阶段。
下图黄色曲线则是基于较早测试的情况下,不同阶段缺陷发现的概率曲线。
我们可以预估到大部分缺陷都在修复成本较低的阶段被发现了,这极大的降低了整体的缺陷修复成本。
这里说的较早测试,其实就是测试左移的概念,早在 2001 年,Larry Smith 就在他文章《Shift-Left Testing》中就提出了测试左移的概念和相应的实践。
好了,道理都知道了。那,
如下面这张流程图所示,全面测试阶段之前都属于左移,也就是质量内建的阶段,在左移的每个阶段,我们都需要做好「测试」。
都应该做些什么呢?
我们都知道测试左移是保障质量节省成本的关键,但在实际落地的时候往往会碰到各种各样的困难,有的是人的问题,有的是业务的问题,但我们要知道,方向对了,路就不怕远。所以我们应该保持开放的心态,不急不躁,先跟团队达成质量内建的共识,然后循序渐进,找到适合自己团队的节奏,持续改进即可。
(完)
如果文章对你有帮助,记得留言、点赞、加关注哦!