如何提升测试用例运行速度?接口测试专题
Posted 逆熵研习社
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何提升测试用例运行速度?接口测试专题相关的知识,希望对你有一定的参考价值。
随着自动化程度的完善,在实际工作或面试中(小编就非常喜欢问类似的问题)经常会面临到一个问题:自动化用例逐渐增多,维护成本和运行成本大量增加。如何减低维护成本?在上一篇文章中已经讨论过,本文则着重讨论如何提升测试用例的执行效率。结合之前的工作经验,一般从如下3个方面进行优化:
用例集优化
1)移除无用用例
虽然这点最没有技术含量,但经验告诉我们,它给你带来的惊喜往往是最大的
2)使用代码层级的用例替换UI用例
众所周知,UI的启动和加载相对缓慢的,而很多功能测试点,不一定非要通过UI的层级或是系统层面去测试,应明确测试功能点,有针对性的进行分层测试。掌握了此法则,你会发现很多用例是可以通过模块测试搞定的
3)使用监控替代用例
和2)比较类似,往往有些测试用例是无用的,没有价值的,或者说是投入产出比较低的,完全可以利用监控的手段来替代
4)优先运行冒烟测试集合
冒烟测试集合一般是主流程的用例,优先运行这组case,可以更大概率的暴露程序缺陷
5)优先运行经常失败的集合
此规则的依据原理是“最先失败原则”,通过优先运行经常失败的用例,提前发现问题,将问题更早的暴露在前期
6)将稳定经常成功的用例集合放在后面
此条规则的目标和5)类似
7)运行慢的用例集合放在后面
此条规则的目标和5)类似
8)按组件划分测试用例集合
该规则是从“选择最小运行用例集”的角度切入,针对具体功能模块或者组件,选择相关的测试用例进行测试,减少不相关的用例运行成本。谷歌内部就是采用的这种策略
9)根据代码变更自动选择测试用例集合
和8)类似,是通过每次变更代码影响的范围,来选择测试用例集合
单用例运行优化
1)移除不必要的动作
和上面的规则类似,别小看这条,根据小编的经验,很多场景,只要做了这个优化都能完成KPI
2)Mock返回和周边依赖
优化单个测试用例执行速度一种常见方式是Mock掉周边依赖,将网络,硬盘等IO操作尽量转换成内存操作,来提升效率
3)优化数据库数据量
减少数据量,有很多场景,用例启动运行速度慢,都是使用了大量不相关的测试数据。缩减测试数据的加载也是有效的一个手段
4)优化硬件资源
使用牛叉的硬件资源,貌似不是一个方案,但有针对性分析测试执行时硬件资源的瓶颈,有针对的升级也是非常高效的策略
5)使用cache
此规则不常见,但些具体业务也是可用的,使用cache缓存一些可以复用的数据,也能加速用例的执行效率
并行运行优化
最后一个办法,并行运行测试用例,可以用VM,docker,多线程等方式,加速用例的执行,当然这个办法对测试用例的编写有很高的要求
最后,跳槽季强力推荐话题:
以上是关于如何提升测试用例运行速度?接口测试专题的主要内容,如果未能解决你的问题,请参考以下文章