接口测试依据是(软件测试系列:如何全面进行接口测试)
Posted
篇首语:人类的历史,就是一个不断地从必然王国向自由王国发展的历史。本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试依据是(软件测试系列:如何全面进行接口测试)相关的知识,希望对你有一定的参考价值。
接口测试依据是(软件测试系列:如何全面进行接口测试)
接口测试是目前企业应用最广,价值最高的测试实践之一。接口测试可以从以下两个维度考虑:
一、前后端交互测试
前端页面与后端代码之间的交互测试,可以理解为接口功能测试的一个子集。
在进行交互测试前,首先要对前端功能有明确的认知,能够明确区分:
- 什么功能属于前端页面逻辑功能
- 什么功能又属于前端与后端交互功能
- 前端功能与后端是通过什么接口方式进行交互
- 前、后端,双方有什么样约束
可以使用抓包工具来进行交互层面测试,查看每个交互功能,对应的接口是否正确 (包含请求头、请求参数、响应以及其他约束项),确保前端按照后端的要求正确地进行了调用。
在交互过程中,针对一个接口也会有多个场景,前端会根据不同的入参来调用不同的场景,根据不同响应结果,进行响应数据的改写,获得不同响应,验证不同响应下前端的展示效果。在这里也可以使用一些不同场景的交互测试。
二、后端逻辑测试
接口后端逻辑测试依然遵循“输入—处理—输出”这样的模式。输入数据,让对应接口处理,检查输出结果跟期望是否一致。
接口测试用例设计应该满足需求文档,对异常场景进行友好处理;且测试这个接口是否按照接口文档进行开发实现。
测试用例设计思路
- 从输入参数进行考虑设计
1、优先级-针对所有接口
1)给其他系统、第三方调用的接口
2)系统内部调用的核心功能接口
3)系统内部调用的非核心功能接口
2、优先级-针对单个接口
1) 正向测试用例优先,逆向测试用例次之;
2)是否需要满足前提条件 > 是否携带默认值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制校验 > 参数数据类型自身的数据范围值限制校验。
3、设计分析
从接口测试后端业务逻辑来讲,设计接口测试用例需要考虑以下几方面:
1) 是否满足前提条件:有的接口需要首先满足一定条件,才可成功获取数据。最常见的就是需要用户登录信息的接口(用户 token) 逆向用例:设计不满足前置条件的用例。
2) 是否携带默认值参数:正向测试用例:存在默认值的参数都不填写、不传参,必填参数都填写正确并且存在正确的常规值,这方面考虑设计测试用例。
3) 业务逻辑、功能需求:这个环节需要根据具体的业务需求,结果接口定义文档,可设计出多条正向用例和逆向用例。
4) 参数是否必填:针对每个必填参数,设计一条或多条参数值为空的逆向测试用例。
5) 参数之间是否存在关联:可根据参数之间的相互关联关系设计一条或多条用例。
6) 参数数据类型限制:针对每个参数类型设计与定义的类型不符设计逆向测试用例。
7) 参数数据范围值限制校验: 针对所有参数,设计每个参数在数据范围内为最大或者最小的正向测试用例;针对所有参数,设计一条或者多条参数值超过或者小于数据范围的逆向测试用例;
如果以上几个方面考虑全面的话,基本可覆盖以下三点:
a、主流程测试用例:正常的主流程业务需求校验
b、分支流程测试用例:正常的分支流程需求校验
c、异常流程测试用例:异常业务场景的容错校验
- 从输出参数进行考虑设计
1、输出结构是否与接口文档定义的一致
2、输出的各个字段类型是否与接口文档定义的一致
3、输出的各个字段的值是否符合逻辑且值正确
三、测试环境
进行接口测试之前首先需要与开发确认好测试环境,通常情况下,需要在三个环境进行测试:测试环境、预发布环境及生产环境。
为了方便快捷切换接口测试环境的 host 指向,可借助以下工具进行切换:SwitchHosts、Nohost、postman等。
四、测试方法
手工测试:借助浏览器或者部分测试工具(postman、Jmeter 等)手动执行测试用例的过程。针对新开发接口建议首先进行全面的手工测试后再将部分可重复执行用例加入自动化测试。
自动化测试:使用python或者java等语言结合框架,编写自动化测试脚本,实现接口自动化测试、自动执行及自动发送测试报告等环节。
一个好的接口自动化测试框架应该涵盖以下几点:
1、流程方面:在回归阶段加强接口各种场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。
2、结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等。
3、问题定位:报错信息、日志更精准,方便问题复现与定位。
4、结果校验:加强自动化校验能力,如数据库信息校验。
五、完善技术性测试用例
技术性用例设计:
1、数据存储逻辑 2、缓存逻辑 3、消息队列逻辑 4、数据处理、消费逻辑等
技术方案用例设计:
1、发布流程方案验证 2、数据迁移方案验证 3、服务迁移方案验证 4、日志输出方案验证等
相关参考
接口测试用例是目前软件开发中不可或缺的一个重要部分,因此编写接口测试用例同样重要。接口测试用例的作用非常明显,它能够帮助我们了解产品正在考验、调整它如何表现在特定情境之下、产品是否存在可改善的问题以及...
拔出力试验装置(电脑主机USB插拔测试标准,用什么测试呢?)
USB接口因支持热插拔、兼容性好、成本不高等特点,许多年来一直受到PC厂商的欢迎,已成为电脑主板上的标配扩展接口。USB接口的好坏也直接影响了电脑的使用体验。一般厂家出厂前都会对其进行测试,那么USB插拔测试标准是...
接口测试一般怎么测(数据线产线外径检测方法 单轴测径仪测控一体 高精高频检测)
...线把硬盘、光驱、软驱、读卡器等硬件设备和主板上相应接口连接起来,并把机箱控制面板上的指示灯、开关线等连接到主板上。数据线亦有生产厂家,在生产时,这
...的一种,主要对验证耳机类插口、蓝牙类插口、汽车充电接口、车载产品类连接器、网银类插拔端子等接插口类寿命强度,以保证产品质量,符合产品质量使用需求。USB接口、端子、连接器、按键、开关等端子进行插拔寿命试验。根...
按键打击寿命机(笔记本电脑测试需要用到哪些测试仪?深圳测试仪生产厂家告诉你)
...验:键盘打击寿命试验机,测试按键的寿命,可靠性2、USB接口、视音频接口、电源线、接触件等连接器试验:加高型的三轴荷重位移曲线机,完全满足15.6寸以内笔记本,PAD的连接器,侧边按键
...16附录B所给方法试验时,试验连接器与导尿管的排泄锥形接口连接,施加一轴向拉力,排泄锥形接口应不与试验连
...企图破坏任何数量的应用程序系统(例如,应用程序协议接口(API),前端/后端服务器)以发现漏洞,例如容易受到代码注入攻击的未经过滤的输入。渗透测试提供的见解可用于调整WAF安全策略并修补检测到的漏洞#渗透测试阶...
...企图破坏任何数量的应用程序系统(例如,应用程序协议接口(API),前端/后端服务器)以发现漏洞,例如容易受到代码注入攻击的未经过滤的输入。渗透测试提供的见解可用于调整WAF安全策略并修补检测到的漏洞#渗透测试阶...
数据综合测试仪(HDHG-J全功能互感器伏安特性综合测试仪规格有哪些)
...去手动功率、人工记录、描曲线等繁琐劳动,还能通过USB接口将测试数据上传到电脑进行编辑保存或打印。操作简单方便,
...度:±3微米。二、设备外观三、主要功能1.TTL专用测试仪接口;GPIB/RS232/网络接口(选配);与测试机连接