注册 / 登录

基于切面的接口自动化框架

分会场:  质量管理/智能运维/DevOps

分享时间: 2017年11月9日 - 12日

案例来源 :

案例讲师

范留杰

去哪儿 测试专家

在百度工作4年,去哪儿公司工作3年;践行百度公司凤巢检索端持续集成的发展,对自动化工具和持续集成有比较深入的理解;现在负责去哪儿公司客户端UI自动化测试技术提升,开发的自动化系统在很多业务线发挥作用,大大提升测试质量和效率;擅长从数据出发,发现问题、解决问题、应用于项目测试产生效果。演讲风格幽默,复杂问题简单化。

扫描二维码分享案例

 

案例简述

 

通过在被测服务中埋点,实现录制线上请求和返回结果,并且录制第三方请求和返回结果。使用录制的数据在测试环境回放,可以做功能测试、压力测试、性能测试等。
测试环境回放时,录制的第三方返回结果可以作为mock数据;功能测试时,测试结果和线上录制的对比,实现功能回归;性能测试时,提供请求和第三方返回的mock。

 

案例目标

 

更新中...

 

成功(或教训)要点

 

1、基于埋点录制
为了实现与业务无关,基于交互方式进行埋点,通用埋点即提供的常用第三方开源组件埋点,被测服务引入jar包就能实现httpclient、httpserver、dubbo、db等的埋点和mock。
录制的数据在测试环境就可以作为测试的case,这样就做到无case的功能测试,并且能屏蔽第三方模块的影响。
2、通用回放
测试环境回放时,发送请求通过统一的接口,不需要对每个接口添加独立的请求。发送请求时,只需要调被测服务的接口,埋点代码实现线上录制请求参数替换,新加接口不需要修改回放代码。
3、引入成本低,后期无维护成本
被测服务引入只需要引入一个jar包,把埋点代码作用到请求中,不需要改被测服务的代码。每天线上录制数据,当天晚上daily job通过覆盖率智能选择不同的case,第二天quick测试自动使用。
4、功能、性能测试使用
不仅可以作为功能测试使用,而且可以用于性能、压力测试,并且能避免第三方影响。

 

案例ROI分析

 

1.降低公司在测试上的资源成本
2.一套框架适用于功能、性能、压力等多种测试任务

 

案例启示

 

更新中...