(一)前言
1.什么是接口
接口是有特定输入和特定输出的一套逻辑处理单元。
2.接口测试在做什么
接口测试就是模拟调用方,通过设计输入和预期输出来验证接口的实现逻辑是否正确,要验证以下两点:
正确输入,是否能得到正确输出。
错误输入或不完整输入,是否能得到正确输出。
3.怎么去做接口测试
如图,先从单个接口的测试开始,保障单个接口的正确性和健壮性,然后通过单个接口的测试完成多个接口的业务逻辑串联,站在业务逻辑的角度完成业务逻辑的正确性检测。
4.接口测试的关键点
(1)借助一些工具的辅助来完成接口分析,如Fiddler等。
(2)通过分析接口的访问方式、参数等信息整理出要解决问题。
(3)针对问题和接口开发人员进行沟通,把一些不知道的参数含义、参数取值范围等问题沟通清楚。
(1)接口测试的原理与分类
接口测试的原理:通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。
(2)接口的分类:
A、系统与系统之间的调用。
B、上层服务对下层服务的调用,比如service层会调用DAO层的接口,而应用层又会调用服务层提供的接口。
C、服务之间的调用,比如注册用户时,会先调用用户查询的服务,查看该用户是否已经注册。
要做接口测试,先要了解接口测试基于什么类型,不同类型的接口测试方法可能是不一致的,我们只要把被测接口当做是服务方,而把测试手段当做是客户方,通过测试手段,去验证服务端是否满足声明提供的功能。
(3)系统级参数(输入&输出):
(4)接口错误情况
A、发送N条报文,其中有一条出现错误
B、出现重复行(一般为id重复)
C、如果重复,不再分析报文,返回错误错误代码,表明重复。
D、Server端针对每中可能出现的异常情况都应该定义对应的业务异常。Client端针对如上定义的业务异常service端应该将异常throw并记录异常日志
E、……
(5)后台日志
(6)使用postman查看接口报文
A、接口报文样式基本说明——输入报文
业务级字段输入要求 && 接口级字段输入要求:
B、接口报文样式基本说明——输出报文
业务级字段输入要求 && 接口级字段输入要求:
(7)接口自测功能点:
A、对接口url的测试主要功能点:时间范围的校验、参数随机id的拼接方法、报文URL签名的校验、URL中转义符的兼容校验、对字段长度进行校验……
B、对报文内容的功能检查点:对空值的输入校验、对字段排序的校验、对字符类型的校验、对输入报文的顺序性校验、对输入字段值大小写的校验、对关键字段全角与半角的校验、对维度的校验、一个字段输入多个值的校验……
C、接口间的测试:接口使用频率约定、不同接口对各级别参数的限制、报文编码的测试、对于报文格式支持方式的校验……
D、……
(8)接口联调测试功能点总结
系统间接口URL的配置检查、联调双方参数的配置检查、报文正确性检查、字段维度的联调、报文编码及媒体方式的联调、相应字段按顺序取值是否一一对应、双方字段类型的检查……
(9)接口的自动化测试
接口手工测试的优点:快速、直观、修改方便。
缺点:不利于做回归测试,每次回归只能跑几个用例。
自动化测试用例缺点:需要花费时间设计测试用例,编写测试脚本,调试程序。
优点:方便回归测试,大大减轻测试的工作量。