精准测试之精简用例(二)
现在开始关键步骤
开始精简
作为TestBird测试工程师,我在做APP测试的时候归纳出来以下方法:
精简方法:经验沉淀+代码覆盖率+知识库
首先,采用先减后加,放开胆子去删
其次,覆盖率采用方法覆盖
1级用例的删减
采用采供过滤的方式,后面再查缺补漏即可。
1级用例中与当前版本不符的用例降级
分析这些用例应该是2级还是3级,确定之后标注好,这里尤其要注意那些历史问题,这一步完全可以让外包同学做,接口人review就好。
执行用例,查看代码覆盖率
此时一般都在50%左右,因为主路径基本都已涵盖
需要注意的是,这2步做完还不需要具体去分析没有覆盖到的代码,毕竟1级用例的占比不会太多,为了能够减少工作量,下文会提到什么时候才是合适的时机去分析没有覆盖到的代码。
2级用例删减
现在开始进行2级用例的删减,一般来说2级用例是量最大的,1级和3级用例都只占一小部分而已,所以最大的工作量在这里。
1、人工删减
人工删减2级用例要做到大胆的删,原则是只留属于主路径和重要的异常路径,其他全部降为3级
2、执行,查看代码覆盖率
这时代码覆盖率一般都在70%左右,接下来要开始分析代码了。
以上这一步的目标
消除所有0%的package,即每个class的method覆盖不为0,一般最多2次
找出所有0%的package分析,可以自己走读代码,也可以咨询相应对模块的开发,为了省时,我在开始精简代码开始之前已经找过开发负责人,每个插件都有对应的开发负责人接口。
1、查看package下的每个class,分析百分之0的原因,确认这个package的作用,有以下三种操作
a)冗余
b)忽略
· 例如:数据库升级
· 覆盖安装及对应的读写数据库
· 其他完全不相关的插件调用使用的
c)确认遗漏的,补充package和class的知识库,添加模块相应注释
2、根据注释补充用例,并确定优先级
3、执行,检查覆盖率是否还有0%
a)还有为0的要分析为什么之前补充的用例没有覆盖到?
· 注释有误,修改用例,接着重新执行
· 模块已废弃不用,路径跑不到,因为历史遗留代码的问题,开发对于代码的反应一般都是害怕错删,标注冗余
这一轮一般做2轮左右就ok了,如果执行的时候大于2轮,那要好好思考下第三点所提到的没覆盖的原因,是否是需要提高注释的质量等。
接下来,执行第二步
全部的package覆盖率达到50%以上,即每个class的method覆盖大于等于50%,次数在3次以内
1、package,根据覆盖率分为2类,大于50%,小于50%
1)小于50%的package,按照从小到大的顺序排序划分
再将每个package中的class的method覆盖小于50%的的class按照从小打到的顺序划分
· 分析class下method覆盖为0的,具体分析方式跟package为0%一致
· 分析class下method覆盖小于50%的
做完以上描述的2步,一般覆盖率就达到了80%左右。





































苏公安网备 32011402010933号