目前,互联网公司对软件产品的质量要求越来越高,研发与测试周期确越来越短。“需求成天改,开发交付的问题多,测试时间总被催,用户常常不满意,产品经理拼命想点子。。。”在这个浮躁而又敏捷的背景下,作为测试研发工程师在测试流程当中承受着越来越大的压力。经过一段时间的调研与学习,我计划在公司构建精准测试体系来改进QA的工作,提升用户与老板的满意度。
精准测试体系的本质目的是在保证质量的前提下提高QA的交付效率,更快地响应公司的业务需求。 精准测试的思想: 1. 辅助QA同学缩减回归测试范围:因为许多QA同学存在技术瓶颈,对待测系统架构没有清晰的认识,导致很多case仅仅是因为“担心这里被影响到”“害怕那里有问题”而被执行。其实很多测试的执行是完全没有必要的。举一个极端的例子,研发同学花费10分钟改了2行代码提测,因为QA同学不能精准定义测试边界评估确切的影响范围,对整个模块进行的完整的回归测试,排期1人日。长此以往,既拖慢了项目进度,又使QA同学沉溺在繁重的重复工作中无法提升。 2. 建立代码与case的联系:在传统测试活动中,case主要来自于需求。但是需求文档一般不等于研发的设计思路,对于评估回归测试的范围起到的作用十分有限。通过建立代码与case的联系,可以给测试同学一个新的测试设计思路,推动测试左移。
精准测试路线图: 第一阶段: 测试覆盖率统计,APP与后端分别普及测试覆盖率统计,获取测试执行后的代码覆盖率,方法覆盖率。辅助QA同学的功能测试,寻找测试执行中没有命中的代码逻辑。
第二阶段: 业务调用链梳理,创建业务核心用例库,并且分析每条用例的方法调用链。
第三阶段: 根据diff判断改动的范围,影响的脚本/类/方法,生成对应的测试用例。
未来我会将我构建精准测试体系的过程分享在这里,欢迎大家交流,互相学习进步。
|