ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何做接口【包括接口测试流程、方案、接口用例设计等】

2022-02-10 18:05:17  阅读:192  来源: 互联网

标签:流程 接口 用例 测试用例 参数 测试 文档 进行


一、首先明白接口测试的原理:接口测试简称黑盒测试(只判断数据的准入准出,不需要知道具体的内部实现逻辑)简单说接口测试就是人工模拟客户端向服务器发送的一系列请求报文,检查服务器收到对应请求后做出的处理和返回的参数是否符合预期,客户端再接收的一个过程。

二、其次需要明白为什么要做接口测试:减少后期bug的产生,当前端页面完整了,对应的bug也会减少;屏蔽UI层的不稳定性;通过对接口的调用检查系统的稳定性和安全性;总体来说就是保证软件的质量。

三、接口功能测试点:接口可用性;接口可行性;接口完整性;接口文档规范性;接口传信的安全性;准入参数是否必填;准入参数的命名及数量;准入参数的合法性;准出参数的状态码;准出参数内容的正确性;接口实现功能验证。

了解上面几点那么接下来就开始进行接口测试吧!

A、手里拿到具体的API接口文档。

1、获取接口文档、熟悉单接口以及链路接口业务(也就是完整的业务流程),包括接口地址,鉴权方式(cookie、session、token,常用的鉴权方式一般都是token)、参数的准入准出、错误码等等;

比方说:用户登录:首先登录是一个单接口,查询商品数量、加入购物车、支付金额也是一个单接口,那么我们就会做一些接口的业务流,从用户登录到查询商品数量到加入购物车到支付金额到收货到点击好评,这就是一个完整的业务流程,这样的流程统称链路流

2、编写测试用例并进行用例评审(记得初始化数据,对输出进行断言):

一般的测试用例包括两个方面(正向测试、反向测试)

正向(1、2个):单接口返回成功的场景(单接口只有一个流程)、链路接口业务流程的逻辑实现(一个完整的业务组合)

反向:

鉴权方式:鉴权码为空的情况;错误;过期(典型token失效)

比如:调用云闪付接口,协议上面只有一年,一年之后就过期了,上下游的接口就是一个完整的业务流,

参数异常:为空;参数类型异常;长度异常(等价类、边界值、)

错误码异常:一般看接口文档数据;

其他异常:接口请求次数限制(100次……超出100的收费场景);接口黑名单;接口数据分页情况(少于0、0、中间页、最大页、超过最大页,和功能测试一样)一般通过返回全部数据条数,单页回显数量去判断分页情况(database)。

3、使用测试工具或者代码脚本执行接口测试用例进行测试覆盖;

一般有以下几种形式:

自动化接口测试:SoapUI、RobotFramework;

接口性能测试:Jmeter、LoadRunner;

辅助测试(手工):辅助工具F12、Fiddler、Postman、HttpWath;

重点考虑以下情况:

a、接口关联性:有的接口有一个前置条件,比方说:查询商品数量,首先需要进行登录才能进行查询,这就是接口关联性;

b、接口安全性:比方说在做登录时,用户密码是加密传参的,这个时候我们就需要对用户账号或者密码进行加密之后在进行传输(一般的接口测试工具都有加密方式,特定的可以用加密脚本来实现);

c、是否是动态参数:如果是动态参数的话我们要加随机数;

d、接口数据是否做了签名:如果做了签名,我们要知道具体的签名规则

e、是否需要带请求头、

以上是我们在执行接口测试时候重点需要考虑的

4、实现持续集成&接口测试报告,记录bug生命。

B、还有一种情况就是没有接口文档的情况下我们怎么开展之后的接口测试?

1、可以使用抓包工具(fiddler、花瓶)进行抓取对应接口&将数据整合整理成接口文档,具体参数不明确和开发沟通,集中验证,集中调试。

2、可以通过jmeter自带的代理录制功能(添加/非测试元件/HTTP代理服务器),将对应接口请求的具体参数进行录制,之后再整理成接口文档,然后在进行逐一进行测试;

 

3、以上方法都是不可取的,在测试过程中有很多不确定因素,没有较多的反向进行佐证,会导致覆盖不全,具体参数异常的原因,所以在做接口测试时,需找开发获得完整的接口测试文档。

总结:获取接口文档(API文档),熟悉具体业务流程,设计测试用例,构造测试数据,根据接口文档说明开发接口测试脚本,执行测试用例及测试脚本,记录bug,输出接口测试报告。

 

 

标签:流程,接口,用例,测试用例,参数,测试,文档,进行
来源: https://blog.csdn.net/m0_62913192/article/details/122865888

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有