首先明白接口测试的原理:接口测试简称黑盒测试简单说接口测试就是人工模拟客户端向服务器发送的一系列请求报文,检查服务器收到对应请求后做出的处理和返回的参数是否符合预期,客户端再接收的一个过程。
其次需要明白为什么要做接口测试:减少后期bug的产生,当前端页面完整了,对应的bug也会减少;屏蔽UI层的不稳定性;通过对接口的调用检查系统的稳定性和安全性;总体来说就是保证软件的质量。
接口功能测试点:接口可用性;接口可行性;接口完整性;接口文档规范性;接口传信的安全性;准入参数是否必填;准入参数的命名及数量;准入参数的合法性;准出参数的状态码;准出参数内容的正确性;接口实现功能验证。
了解上面几点那么接下来就开始进行接口测试吧!
A、手里拿到具体的API接口文档。
获取接口文档、熟悉单接口以及链路接口业务(也就是完整的业务流程),包括接口地址,鉴权方式、参数的准入准出、错误码等等;
比方说:用户登录:首先登录是一个单接口,查询商品数量、加入购物车、支付金额也是一个单接口,那么我们就会做一些接口的业务流,从用户登录到查询商品数量到加入购物车到支付金额到收货到点击好评,这就是一个完整的业务流程,这样的流程统称链路流
编写测试用例并进行用例评审:
一般的测试用例包括两个方面
正向:单接口返回成功的场景、链路接口业务流程的逻辑实现
反向:
鉴权方式:鉴权码为空的情况;错误;过期
比如:调用云闪付接口,协议上面只有一年,一年之后就过期了,上下游的接口就是一个完整的业务流,
参数异常:为空;参数类型异常;长度异常
错误码异常:一般看接口文档数据;
其他异常:接口请求次数限制;接口黑名单;接口数据分页情况一般通过返回全部数据条数,单页回显数量去判断分页情况。
使用测试工具或者代码脚本执行接口测试用例进行测试覆盖;
一般有以下几种形式:
自动化接口测试:SoapUI、RobotFramework;
接口性能测试:Jmeter、LoadRunner;
辅助测试:辅助工具F1Fiddler、Postman、HttpWath;
重点考虑以下情况:
a、接口关联性:有的接口有一个前置条件,比方说:查询商品数量,首先需要进行登录才能进行查询,这就是接口关联性;
b、接口安全性:比方说在做登录时,用户密码是加密传参的,这个时候我们就需要对用户账号或者密码进行加密之后在进行传输;
c、是否是动态参数:如果是动态参数的话我们要加随机数;
d、接口数据是否做了签名:如果做了签名,我们要知道具体的签名规则
e、是否需要带请求头、
以上是我们在执行接口测试时候重点需要考虑的
实现持续集成&接口测试报告,记录bug生命。
B、还有一种情况就是没有接口文档的情况下我们怎么开展之后的接口测试?
可以使用抓包工具进行抓取对应接口&将数据整合整理成接口文档,具体参数不明确和开发沟通,集中验证,集中调试。
可以通过jmeter自带的代理录制功能,将对应接口请求的具体参数进行录制,之后再整理成接口文档,然后在进行逐一进行测试;
以上方法都是不可取的,在测试过程中有很多不确定因素,没有较多的反向进行佐证,会导致覆盖不全,具体参数异常的原因,所以在做接口测试时,需找开发获得完整的接口测试文档。
总结:获取接口文档,熟悉具体业务流程,设计测试用例,构造测试数据,根据接口文档说明开发接口测试脚本,执行测试用例及测试脚本,记录bug,输出接口测试报告。
文章为作者独立观点,不代表股票交易接口观点