测试前置问题
问题:
如何实现测试前置?你是怎么做的?
解答:
(1)以我个人在项目中遇到的情景为例
ZSM项目新增加一个对外接口,针对这个就口进行测试(此接口是通过cat的接口获取对应项目接口调用的情况,然后进行解析汇总)。在开发阶段先要求开发提供接口数据结构,2大用处,一是写用例使用,二是写测试脚本使用。
针对接口的返回,可以在开发阶段设计测试脚本,直接对接口返回编写校验脚本。因为ZSM项目是通过调用接口获取的原始数据,那么我自己的脚本也能通过cat的接口拿到原始数据,那么我就能在开发阶段同样去实现一遍数据的解析和汇总。当开发完成被测接口后,我将我的脚本与被测接口的具体返回再进行调整。
此时我只需调整我的校验参数,就能实现接口的自动化测试。那么原本可能需要3天的测试,我可以直接压缩成1天的测试。
测试如何应对紧急上线
问题:
针对紧急需求,测试时间不够时,如何尽可能的规避风险
解答:
(1)与开发确定改动点,列出所有受影响的功能
(2)对这些功能进行优先的排序,针对新增功能或者修复的bug,需要完整的测试,对其他可能影响的应当针对功能优先级进行筛选出等级最高的用例的来执行
(3)回归其他重要功能(这部分指的是其他主流程功能),这部分是必须的,确保常规的功能的稳定运行
(4)提升自动化测试的覆盖率,如果自动化覆盖率程度高,完全可以替代第二步的工作
如何提升测试效率?
Jmeter二次开发
插件二次开发
(1)在ZPT的测试中,需要对dubbo请求的上下文添加参数使得请求正确被识别是否是影子请求。
当我们使用jmeter去请求的时候,无法对dubbo上下文添加请求参数,无法发出我们期望的请求。针对这个问题,我进行了jmeter 的二次开发,在网上找到dubbo插件源码,在jmeter的console页面增加一栏,填写我需要的参数,通过硬编码的方式通过RpcContext加入dubbo的上下文。故引用此插件之后,直接界面填写参数即可。
java函数开发
(1)很多的请求都包含特殊的加密,需要和开发一样实现加密
使用beanShell进行脚本编写,至于请求之前
jmeter函数二次开发
(2)生成符合规范的测试数据的函数
在实际项目的测试中,接口内部会对billcode的格式进行校验,如果不符合规则,则无法请求成功。所以针对这个问题,自己在网上找了函数开发的模版,通过二次开发生成符合接口规则数据的函数,在jmeter中就能直接调用了