接口测试基础知识储备详细介绍

接口测试详细介绍

一、什么是接口测试

我们通常说的接口测试(或者API接口测试),其实就是对软件系统消息交互接口的测试。
消息交互接口是软件系统和其他软件系统交互的那部分。

比如,你正在用浏览器打开淘宝网站。
淘宝前端(在浏览器里面运行) 和 后端服务器 之间 就是 消息交互的。
我们可以说 淘宝前端 和 后端服务器 之间是 消息交互接口。
再比如,你在手机上使用美团订餐, 美团APP 和 美团服务器之间, 也是消息交互的。
当你提交订单,使用微信支付的时候, 美团服务器 和 微信服务器 之间也是通过 消息交互的。

接口测试就是:
	依据接口规范,写出测试用例,
	使用软件工具,直接通过消息接口对被测系统进行消息收发
	验证被测系统行为是否正确。
接口测试,通常是对服务端做的比较多,但是也有对客户端做的。关键是看被测系统是服务端还是客户端。

目前的软件系统之间的消息接口 大部分是 基于 HTTP 协议收发的。
HTTP协议的特点是,客户端发出一个HTTP请求给服务端,服务端就返回一个HTTP响应。好像程序的API调用。
所以 接口测试 通常又被称之为 API接口测试 或者 WEB API接口测试。

API接口 传递数据信息 是通过HTTP协议进行收发的 , 网站 获取网页、图片 、css 等资源, 也是 通过HTTP协议进行收发的 。

那么这两者有什么区别呢? 为什么 获取网页、图片这些 HTTP消息 通常不叫 API 接口消息呢?
网页、图片、css 这些资源,都是 静态资源 , 就是一个个文件存储在服务器上的,获取这些信息,服务端直接读取文件,返回给客户端即可,无需特别的数据处理。
而 API接口请求消息,通常都需要 服务端程序进行 一番处理,比如:对请求的权限检查,从数据库中读出数据,进行信息过滤和 格式转换,最后在HTTP响应中返回给客户端。

接口测试需要 工具 和 被测系统之间进行消息(通常是HTTP消息)的收发, 这个工具 可以是 别人开发 好的, 也可以自己开发。

基于 HTTP 的接口测试工具, 常见的 有 Postman、Jmeter等,当然如果自己有精湛的技术也可以使用 自己开发的。

这些工具,核心功能都是类似的:
都是用来 构建HTTP请求消息,并且解析收到的HTTP响应消息, 用户来判断是否符合预期
熟悉 Python 语言的朋友, 也完全可以使用 requests 库,自己写代码发送接收HTTP请求,进行测试。我们后面的课程会有讲述。

现在有一个大问题: 测试工程师测试系统,一定要做接口测试吗?
这个要看你们系统被测的接口 是 内部接口 还是 外部接口

内部接口 是 产品(也就是被测系统) 内部子系统之间 的接口。
比如,图书管理系统前后端系统之间的 API接口。
内部接口 通常并不需要 测试部门的工程师 进行大量的测试, 主要由开发人员自己进行测试的。
测试人员做内部API的接口测试,重点是做 漏洞测试 和 破坏性测试 。
比如, 用普通账号登录,去调用管理员才能使用的API接口,比如删除系统中的某个订单。
如果我们只通过前端UI是没法发送这样的请求的,因为前端的代码会保证 普通用户登录后, 没有可以删除订单的操作界面。

而 产品(也就是被测系统) 的 外部接口 ,是 和 另外的系统 交互的接口。 所谓 另外的系统 通常是由 其他公司 开发的, 这样的接口 测试工程师一定要进行测试。
比如 阿里云服务提供的 API 接口, 微信支付系统提供 的支付 API 接口, 作为 阿里云 或者 微信支付 的测试工程师,就当然要对其进行测试了。

接口测试工作

根据前面的讲述,总结一下,接口测试工作,主要包括

  • 获取接口文档,评审文档,了解接口的实现细节
  • 根据接口文档,写出测试用例,
  • 等产品发布后,根据测试用例,使用软件工具,直接通过消息接口 对 被测系统 进行消息收发,验证被测系统行为是否正确

评审接口文档

通过 接口 进行测试 和 通过 用户界面 进行测试一样, 都需要有 测试用例 。
测试用例的依据就是 需求设计文档, 接口测试用例当然也需要 接口的 需求设计文档,通常称之为 接口文档。
接口文档 通常 是由 开发人员提供, 测试人员 根据接口文档编写接口测试用例。
接口文档 里面应该包括 我们要测试的系统接口的具体信息。
接口文档是人写的,当然就会有 错误、遗漏,甚至有自相矛盾的地方。

文档也可能有写的不清楚,难以理解,测试人员看不懂的地方。
所以在写测试用例之前,必须要先对接口文档进行评审,找出里面的问题,和 文档作者进行沟通 ,确保接口文档 基本正确、完善,然后才能动手写测试用例。

编写测试用例

编写测试用例的时候,通常可以采用 条件组合、边界值、错误猜测 等方法。


作者:吴常文
出处:https://blog.csdn.net/qq_41405475
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xiao阿文

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

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

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

打赏作者

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

抵扣说明:

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

余额充值