什么是接口测试
什么是接口?
接口就是有特定输入和特定输出的一套逻辑处理单元,而它不用知道自身的内部实现逻辑,也可以叫做接口的黑盒处理逻辑
由于服务对象不同,接口又可以分为两种
- 一种是系统或服务的内部接口
- 一种是外部依赖接口
内部接口
系统内部调用的接口
内部接口的实际场景
购物流程,从登录系统,到加入购物车,再到支付订单,这一长串的流程中,都是通过系统内部接口来完成的
外部接口
外部系统对外提供的接口
外部接口的实际场景
你在购物后点击付款时,页面会跳转到支付系统,等你完成支付流程后,再跳转回订单页,在这样的流程中,都会涉及系统对外的接口,还比如说付款工程的支付接口、配送过程的物流接口等等
接口的本质
其实就是一种契约,遵循这样一种形式: 在开发前期,我们约定接口会接收什么数据;在处理完成后,它又会返回什么数据
什么是接口测试?
接口测试,其实就是验证接口内部处理逻辑是否正确;我们既要保证单接口的正确性,也要保证接口的业务逻辑正确性,主要体现在两方面:
- 输入正确的测试数据,验证接口正常处理后返回的结果是否正确(数据结构&数据内容)
- 输入异常的测试数据,验证接口能否正确处理异常数据并返回特定提示,是否合理,是否健壮
简单来说
- 正确接受合法 Request 入参
- 正确拒绝非法 Request 入参
这两种情况都是要验证的,都属于正向测试
反向测试
- 正向测试相对应的是反向测试
- 反向测试是指: 测试流程的反向测试或者是功能的反向测试,这是一个在业务测试里的概念,例如:支付付款是正向测试,那么退款是反向测试
接口测试工作
根据前面的讲述,总结一下,接口测试工作,主要包括
- 获取接口文档,评审文档,了解接口的实现细节
- 根据接口文档,写出测试用例,
- 等产品发布后,根据测试用例,使用软件工具,直接通过消息接口 对 被测系统 进行消息收发,验证被测系统行为是否正确
评审接口文档
通过 接口 进行测试 和 通过 用户界面 进行测试一样, 都需要有 测试用例 。
测试用例的依据就是 需求设计文档, 接口测试用例当然也需要 接口的 需求设计文档,通常称之为 接口文档。
接口文档 通常 是由 开发人员提供, 测试人员 根据接口文档编写接口测试用例。
接口文档 里面应该包括 我们要测试的系统接口的具体信息。
接口文档是人写的,当然就会有 错误、遗漏,甚至有自相矛盾的地方。
文档也可能有写的不清楚,难以理解,测试人员看不懂的地方。
所以在写测试用例之前,必须要先对接口文档进行评审,找出里面的问题,和 文档作者进行沟通 ,确保接口文档 基本正确、完善,然后才能动手写测试用例。
编写测试用例
编写测试用例的时候,通常可以采用 条件组合、边界值、错误猜测 等方法。
本文来自博客园,作者:测试玩家勇哥,转载请注明原文链接:https://www.cnblogs.com/Nephalem-262667641/articles/17307152.html