一、为什么要进行接口测试
在分层测试中,单元测试→接口测试→UI测试 (这种简单分层)下,在接口层是最有价值做自动化测试。
一来,单元测试(测试开发主流testng)对代码技术含量比较高,这需要代码命名要规范(详见阿里的各种研发代码军规),可想而知,代码命名不规范,代码review的成本越高,如果没法分析代码结构,代码风险如何控制?如下的代码注解又有几个公司能做到,可想而知,测试开发的工作量
二来,UI层的测试工作量比较繁重,在产品质量中,越早发现问题,成本越低,版本迭代次数过多,测试质量越差。
那么接口测试的技术含量:当接口框架选型定后,后者已经出了一个接口测试模板或案例,其实也没啥技术含量,一般需要用到java基础(不代表java能力)、正则、sql(表设计的越复杂,对sql要求越高,子表联查都是必备技能)
正则:一般就需要两组正则
java进行二次开发:
例如:
二、接口自动化测试应该做到什么样
什么是自动化:减少重复的劳动力
为什么要自动化:提高效率,回家吃晚饭
接口自动化该做哪些内容:接口的可用性、健壮性
所谓可用性:接口传参正常的情况下,返回的数据正确
所谓健壮性:接口定义的时候,验证后端开发是否处理了异常情况(根据接口文档模拟数据验证)
三、如何利用jmeter做单接口或接口链路的可用性和健壮性测试
单接口测试:准确的说,几乎所有业务上都不会存在单接口测试(存在某个接口可以单接口测试)
接口链路测试(非压测):参照下图的说明(如果是上个接口需要传值给下个接口,可以在json数据校验的代码中用正则匹配,并传递给下个接口,这边不做案例说明)