通过我之前工作项目中有过一些测试接口功能、性能、稳定性的经验。但是一直没有对自己的经验进行总结。这次,结合自己之前的经验,然后查阅了各种网上的资料,以此文章简单总结下接口测试:了解什么是接口测试,接口测试如何进行。
一、什么是接口测试
接口测试是项目测试的一部分,正如其名,它测试的主要对象是接口,是测试系统组件间接口的一种测试。
百度百科对接口测试的定义:接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
一般来说接口测试按测试对象分为两种类型:模块接口测试、web接口测试;web接口测试又可以分为服务端接口测试和外部接口测试。
模块接口测试其实就是单元测试的基础,适用于分别开发一些功能模块,数据会在这些功能模块之间传递。服务端接口测试,就是测试客户端/浏览器与服务端接口,一般开发人员都分为前端开发和后端开发,他们之间的怎么进行接口交互,可以参考我之前的文章接口测试基础-了解http请求。外部接口测试,其实相对而言的,这个接口不是本系统内部的,而是调用的是第三方的接口,如支付宝授权登录,需要调用支付宝授权接口。
接口测试是一种完整的测试体系,也分为接口功能测试、接口性能测试、接口稳定性测试、接口安全性测试。
接口测试也可以分为参数测试和场景测试。参数测试就是对单个接口的入参和出参进行详细的测试,包括入参默认值、必传项、非必传项、业务逻辑、兼容性测试(是否兼容不同版本的前端)、错误码、异常类型、安全加密等。场景测试,就是指单个接口组成的连续的场景,比如注册功能,需要包括发送验证码接口、注册接口,其中注册接口包含的功能有验证注册账号和注册验证码功能。
二、接口测试的测试流程
了解了接口测试是什么之后,怎么做接口测试呢?接口测试的流程其实和功能测试流程类似:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境