关于测试的三个关键问题 | IDCF
DevOps
共 3264字,需浏览 7分钟
·
2021-12-01 16:35
来源:圆小豆的美梦工场
作者:于晓南
最近一直在思考关于测试的三个关键问题应该是什么,目前有了初步的假设和解决思路,姑且先写下来,以抛砖引玉,寻求更多反馈和探讨。
问题1:测试是否真实有效?——测试有效性
第一个关键问题,我想知道我的测试是否都真实有效。
乍看上去像个伪问题,其实不然。可以扪心自问一下:我能保证软件所有的测试都是有效的测试吗?不见得吧……对这个问题心里有底的测试人员值得好好表扬一下。基于真实经验和数据不难得出结论,有效测试的比例并不高,甚至在某些场景下,测试人员都没有考虑过“大量执行的测试是否真的有效”这个问题。
如何评估测试有效性呢?可以从测试策略、测试反馈、可测性等角度来逐一盘点。
1.1 测试策略
(测试金字塔)
首先评估测试策略的有效性,可按照测试分层模型“测试金字塔”来逐层盘点:
总共分几层:采取哪些测试; 各层占多大比例:测试重点; 各层测试目标:不同的测试服务于不同的测试目标; 各层覆盖要求:不同测试应覆盖哪些问题,覆盖率的要求。
不管是手工测试用例还是自动化测试用例,每个测试都需要是有效的测试; 不同的测试用例集能真实的服务于不同的测试目标; 消除重复的测试或各层之间重复覆盖的测试点,避免浪费; 测试覆盖相对完备:不片面追求覆盖率数值,而强调对业务场景的覆盖程度; 建立测试下沉机制:在金字塔上层发现缺陷,评估是否从下层逃逸,如是应在下层补测试。
适量的测试:不同测试应有不同量级的用例被执行,保证覆盖的情况下越少越好; 合适的时机:不同的测试可按需周期测、随时测,或放到流水线上时时跑着; 有效反馈:合理预期,正确断言,确保能真实反馈软件表现; 门禁作用:当测试不通过时应及时截断,避免低质代码继续流转。
前端可测性:指软件对前端测试的支持程度,如UI规范、前端代码规范等; 后端可测性:指软件对后端测试的支持程度,如高内聚低耦合,提供测试接口、执行步骤可控可观测等; 完善的日志系统:提供可观测、可追踪的日志系统,便于快速定位问题。
问题2:测试能否高效执行?——测试效率
有大量有效的自动化测试 ; 自动化测试添加到持续集成流水线; 基于每次代码提交的测试,如核心模块的单元测试,或核心业务流程的回归测试,应加到对应服务的pipeline中作为独立step,有效反馈提交代码的质量; 其他业务回归类的自动化测试,也需要定期频繁执行,关键时间节点必执行; 有测试执行的可视化报表或监控机制,确保问题及时被处理。
手工探索:是否有助于在有限时间内发现缺陷,探索执行的测试是否需要加到常规用例中; 自动化测试:执行周期合理,执行时长相对稳定,通过率维持一定水平。
问题3:测试价值体现在何处?——测试价值
“某功能经过充分的测试和相关回归,测试通过,可以上线。上线后需观测……” “时间过紧,某功能只经过验收标准的测试,尚未充分的回归和探索,不建议在当前热更上线。可以安排在下次热更上线,我们就有充分的时间完成测试。” “如不可抗力必须上线,可能面临的质量风险有……建议采取以下几种措施进行干预和快速恢复,上线后建议相关角色持续观测……,确保第一时间捕捉线上问题。”
写在最后
关于本文内容,我还在持续地思考和迭代。我想知道何以测试人员普遍缺乏价值感,可能大部分源于所做的事情并没有意义。怎样给测试这件事情赋予意义呢?期望完成这个思考过程能帮助我找到答案。
玩乐高,学敏捷,【规模化敏捷联合作战沙盘之「乌托邦计划」】,12月25-26日登陆深圳,将“多团队敏捷协同”基因内化在研发流程中,为规模化提升研发效能保驾护航!!🏰⛴
企业组队和个人均可报名参加,一起挑战极客乌托邦
评论