高质量交付,
领导要做五件事
1
树立正确质量观
质量不是靠测试测出来的,质量需要内建,开发人员必须对质量负责
开发人员关注外部质量,才能更快地提高内部质量,才能持久地改进质量;
2
废止不合理KPI
测试团队发现的缺陷数:这个指标会阻碍测试人员融入敏捷团队,因为敏捷的工作模式(如实例化需求),会将缺陷埋葬在开发阶段,减少测试人员发现的缺陷,那么,应该用什么指标来替代呢?可以考虑使用这个指标:给定时间内漏出缺陷数目/需求规模,这个指标可以促进开发测试协作提升质量;
自动化测试案例比率:自动化测试案例比例其实不是越高越好。如果我们需要短时间内提升测试自动化程度,这个比例可以作为一个阶段性观察指标,但是,这个指标不应该设置阈值或者将这个指标用于团队横向对比;
自动化案例执行成功率:这个指标也是一个观察指标,短期内可以用来衡量自动化案例的稳定程度,但是在提升到95%以上时就失去意义了,我们应该暂时丢弃那些不稳定的案例,保证所有测试案例都能够多次稳定执行全部成功。之后,我们建议团队开始关注MTTR(平均故障修复时间)指标,案例执行失败不可怕,快速修复就行了。继续关注自动化案例成功率指标,会为不稳定的案例留下借口,同时,也会让团队害怕案例执行失败拉低这个指标,从而不敢使用持续集成或自动化案例。
3
调整开发测试分工
开发负责编码和核对(Checking),测试负责探索性测试
开发人员需要负责核对交付功能是否符合自己对需求的理解,确认无误后,再交给测试人员进行探索性测试。
这里举个具体的例子,以页面JS为例,其实自动化测试或者测试人员人工测试的效果都不会太好,这时,最好的方式是由开发人员进行变更驱动的核查,变更相关JS代码之后,马上对涉及到的页面功能进行功能验证。
4
让测试参与需求澄清
导入实例化需求实践,让测试人员参与需求讨论过程,贡献有关复杂业务场景的专业知识(以前测试过程中遇到的各种奇葩场景),尽量保证业务人员思考各种业务场景;
尽量保证开发人员对需求的理解符合业务人员的期望。
这是最立竿见影的质量实践,即便测试人员很忙,也要坚持参与,这样才能摆脱质量的恶性循环。
5
构建合理的分层自动化体系
合理单元测试
不要追求高代码覆盖率,这在国内大多数企业非常不现实
可测性不好的代码(输入多,输出多)需要先重构,再测试
测试集中关注变更频繁,逻辑复杂,出过缺陷的代码
推动接口测试
接口测试是首选,没有接口就打通接口
控制界面测试
界面测试案例应该少而精,关注主业务流程,务必保持稳定
避免测试案例反金字塔
领导可能会担心这样强调质量会不会影响进度呢?其实恰恰相反,根据研究表明,质量越高(缺陷移除率越高)的项目交付速度越快。这是因为质量越高,开发任务之间的干扰就会越少(例如,测试人员找开发人员去分析上一个版本的缺陷);干扰越少,开发就能够更专心,后续任务的交付质量就会更高,从而形成良性正反馈。
http://www.stevemcconnell.com/articles/art04.htm
希望这篇文章可以帮助各级领导初步理解高质量软件的修炼之道,更多精彩内容请长按一下二维码,关注我们的微信公众号:互联网plus管理新范式。
互联网plus管理新范式
Agilean官方博客平台
微信号
iPlusLeadership
![](https://i-blog.csdnimg.cn/blog_migrate/48e976a2fc300f5fdf754c84b9c107b9.png)
注:上面几张英文胶片来自James Bach的Rapid Software Testing培训材料,特此注明。
点击
阅读原文
了解更多详情