影响效率的主客观因素
假设范围不变,提升效率意味着要增加成本投入; 假设成本不变,提升效率意味着要缩小需求范围; 假设时间不变,提升效率意味着要牺牲交付质量;
提升测试过程效率的方法
短期改进
度量:要达到提效的目标,首先要有一个对比,即首先要知道当前的成本投入和效率是多少,识别其中的低效率和高成本环节,然后才能制定对应的改进方案。这也是为什么近几年所谓的质量度量、研发效能度量很火热的原因之一。当然,度量的结果只是作为一个评估当前状况的参考值,仅对后续的改进方法提供参考,但绝不是唯一指标。 工具:要想短期内提升效率,一个不是捷径的捷径就是改善工具。比如以前接口测试都是手动执行,提升效率则可以采用自动化的方式;以前准备测试数据都是手动写SQL去一条一条插入数据,提升效率则可以考虑流量录制或者通过存储过程的方式去预埋数据,这样效率也会提高。当然,工具的优化势必意味着需要投入一定的额外成本,短期内成本也会上升,但长期来说,工具改善后带来的效率提升是更高的。 轮子:造轮子这件事大家都懂的,毕竟事关KPI和向上管理。但团队大了,轮子多了,其实就是一种功能重叠和额外的资源浪费。造轮子需要投入资源,维护轮子需要资源,且很多轮子在功能上是重叠的。因此短期内要降低成本,砍掉重复的轮子就是一种很现实的方案。当然,砍哪些轮子,如何整合资源,需要评估分析。
长期投入
需求不明确、需求频繁变更、临时插入需求; 提测质量差、编译打包失败、服务发布报错; 服务经常挂、服务频繁发布、测试数据不可用; 大量的会议、沟通确认信息、跨部门资源协调;
测试左移:加强需求和设计阶段的评审和风险评估,准备应对风险的冗余方案;需求实例化。 质量门禁:推动软件研发交付各阶段的质量门禁,做好质量卡点,比如提测冒烟、单元测试等。 质量内建:通过流程规范宣讲以及以身作则的带头实践,要求各个角色实时对软件的质量负责,减少因为前期风险不可控而导致后期的修复成本增加,进而浪费大量资源。 环境治理:测试环境的稳定性是一个被大家忽略的环节,但这是我们所有测试活动开展的基础。可以通过规范变更流程、打通底层数据、变更权限收口、环境容器化、stable环境等手段来提升测试环境的稳定性,降低环境不可用带来的时间浪费和排查问题带来的成本。