弄清这几件事搞定接口测试

接口测试本质上是灰盒测试,即我们在测试中既要关注接口的内部实现,又要关注接口的外部表现。弄清楚接口测试用例设计、接口请求不通问题排查、关联接口调不通如何解决后,面对接口测试便能轻松应对。
1、接口测试用例设计思路
接口测试中,黑盒测试用例设计方法同样适用,但接口测试中又略有不同。
(1)接口入参
接口入参通常会考虑输入项的类型、长度、必填与非必填、边界值等等。例如某接口入参只支持字母,则可以考虑输入数字、特殊符号等;例如某接口入参要求输入数字为整型,则可以考虑浮点型数字;再例如某接口入参有2个非必填项,3个必填项,则会考虑必填项与非必填项的组合入参情况。
(2)接口返回
接口的返回主要参考接口文档,通常会考虑到接口返回报文字段有没有缺少,数据格式是否正确。另外还需要考虑到接口状态码,状态码不仅要覆盖正常请求的状态码,还要覆盖异常请求的状态码。
(3)接口自身逻辑
接口自身的逻辑主要考虑到接口对于业务的实现或者传输过数据程中对数据的校验处理等。例如某接口需要校验用户登录,则会考虑到登录与未登录两种情况下接口的处理情况;例如某接口会过滤掉重复提交的数据,则会考虑重复提交数据的情况;再例如某接口会对传入数据作相应计算,则会考虑到数据计算结果的正确性,包括数字有效位数等。
(4)接口异常情况处理
接口异常情况处理可以算作是接口自身逻辑的一个子集。接口对于异常情况的处理也是接口测试的重点。异常情况通常视具体接口而定,比较通用的异常情况通常会考虑接口请求超时。接口可能存在的异常情况则根据接口具体实现而定,例如某个接口需要将一个json解析后传入另一个接口,则肯能会存在json解析失败的情况;再例如某接口需要调用第三方接口,由于网络或其他原因可能会存在第三方接口没有响应的情况。
(5)其他
其他情况主要考虑接口的性能、安全、数据落库等等。如接口需要承受的并发量,接口在负载情况下的表现等等。
2、接口请求不通如何排查
接口测试时,接口调试不通一般从网络、请求、服务器等等方面入手分析,一般分为两种情况:一种是请求无响应,另一种是请求应答报错。
(1)请求无响应
请求无响应,首先需要排查网络问题,验证本地与服务器是否连通;确认请求地址、协议是否正确;确认端口是否有冲突,是否连通;检查本地是否有代理或映射。如果确认以上都没有问题,则检查服务器服务器是否正常运行,检查请求日志,因为服务可能存在对异常报错未作处理的情况。
(2)请求应答报错
请求有应答报错,则根据错误信息进行排查。具体可以参考接口错误码(开发定义的错误码,一般接口文档中有说明)和请求状态码(4xx~5xx)。针对接口错误码,可以参考接口说明文档等具体排查;针对请求错误状态码则参考请求状态码具体含义经行分析排查。常见的错误状态码有4xx和5xx,通常来说4xx表示客户端错误,5xx表示服务器错误,例如:
400:Bad Request,客户端请求错误,比如请求参数格式错误
401:Unauthorized,未授权,比如请求header里,缺乏必要的信息头(如token,auth等)。
403:Forbidden,禁止,常见原因是因为用户的账号没有对应的URL权限,例如服务器上文件访问的权限,或者是项目中所用的中间件,不允许远程连接(如Tomcat)。
404:Not Found,资源未找到,导致这种情况的原因主要有两类,一是请求的路径不正确,比如URL地址不正确,服务器中的文件路径不正确;另一类是服务器启动后服务注册尚未完成。
405:Method Not Allowed,方法不允许,常见的原因是请求方式不正确,比如GET类型接口,使用post方法请求。
415:Unsupported Media Type,不支持的媒体类型,常见原因请求数据的类型和服务器支持的类型不匹配,比如Json接口,需要添加一个信息头content-type:application/json。
500:Internal Server Error,服务器内部出现错误,出现这种情况,说明服务器内部报错了 ,需要登录服务器,检查错误日志,根具体的提示信息在进行排查。
502:Bad Gateway,错误的网关,网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503:Service Unavailable,服务器故障,可能是服务器已停止工作或者服务器负载过重未能应答。
504:Gateway Timeout,网关超时,往往是由于服务器同时响应太多请求,导致访问超时。
3、关联接口调不通如何解决
关联接口调不通主要存在两类情况,一种是系统内的接口未开发完成或接口故障调不通;另一种是调用外部系统接口无法调通,诸如外部系统环境故障、测试环境与外部系统不在同一个网路等等。针对这些情况,就可以考虑接口mock。接口mock常见的实现方式主要有3种。
1、通过已有的工具实现mock,如fiddler。
2、通过开源的框架实现,如mock-runner。
3、开发mock平台或工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里有阳光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值