做个调查,你们的接口自动化怎么做的,代码方式还是测试平台方式,效果怎么样
1、接口自动化实现方式 纯代码、关键字加 excel 封装方式、接口自动化测试平台、行为驱动 or 自然语言等其他方式
2、接口自动化痛点怎么处理 多环境切换,前置数据处理,上下文数据依赖,关键步骤封转等
3、最终效果怎么样 用例规模数,执行成功率,发现问题数,节省多少人力,提升版本发布效率等
1.pytest+requests+allure, 集成放在 jenkins 执行,纯代码
1.测试平台 2.500 个接口左右 3.接口只搞正向测试,一两个用例。 4.还有一些冒烟流程的用例,这个步骤比较多,十几个接口连在一起。这种用例不多,就 20 个左右。
1、restassured+testng+extentReport,集成放在 jenkins 运行,纯代码
2、 多环境切换:接口测试框架支持多种环境配置,通过 env(类似 spring 的 profile )切换用不同的配置 前置数据处理:弄了个工具类自动生成一些需要用到的随机数据,比如手机号、地址等(信贷类业务) 上下文数据依赖:基本都是流程类测试,弄了一个类直接里面自动配置好整个流程需要用到的外部传入数据,用例里面按需获取 关键步骤封转:不知道你这个什么意思,如果说是怎么封装,我们采用了三层结构,底层是单个服务提供接口调用方法;中层是串起来的流程,后者基于前者扩展(比如 a-b-c 三个步骤,会 a-b 放到函数 d 里,然后 d-c 形成新函数);顶层是用例,用例调用底层和中层的方法进行测试。
3、用例数大概几十个,主要是主流程用例,大概调用十几个接口。基本没有单接口参数组合的用例(对我们业务单接口意义不大,而且大部分开发直接用 JSR303 做参数的基本校验,所以直接 review 代码效率更高)。成功率在 90% 以上,发现十几个开发过程中多个导致环境主流程不同的问题,让环境出问题后排查效率提升到 30 分钟内(用例每 30 分钟会执行一遍,失败会直接通知),而稳定的环境和自动化的主流程回归,让交付速度提升 10% 左右吧(最占时间的还是新功能测试本身,最有效的手段还是缩小需求规模)。
纯代码 Java+jsoup+jenkins +testng ,无需切换环境, 在 jenkins 上 job 配置不同的环境参数,一套代码; 虽是一套代码,不同的环境,执行不同的用例,如:测试环境执行用例 100% ,线上环境可能只执行 60%;
用例数看项目,最少的在 100+,数据都采用随机生成...
单接口,业务流程都有,基本每个页面的接口都有写;
接口测试稳定后居然达不到接近 100%?为啥?
1 我们一直是迭代开发,一直有新的功能开发和调整,所以有些用例会失败
插眼
我们也是一直迭代开发。。一直很纠结要不要做自动化
为啥不做啊?迭代的话更需要做自动化啊,不然每次回归多大工作量啊