什么是接口测试?这篇文章让你明白

Posted 程序员二黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是接口测试?这篇文章让你明白相关的知识,希望对你有一定的参考价值。

  • 📢 我是二黑,一个快要秃头的测试人

  • 📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📢 我收集了一些软件测试资料,关注我公众号:程序员二黑,免费领取!

  • 📢 最困难的时候,也就是我们离成功不远的时候!


要成为一名合格的测试工程师,接口测试相关的知识和技能,是不可缺少的。如今,我们随便打开一个大公司的JD,上面基本会要求接口测试经验。

那么,接口测试到底要测些什么?

我相信很多小伙伴跟几年前初入测试行业的我一样,对这个概念十分模糊。我的第一份工作,完全没有接触接口测试,我的第二份工作,又是纯接口测试,并且是没有任何UI界面,完全靠数据、任务驱动的后端接口测试工作。

因此,为了避免小伙伴们走弯路浪费时间,我打算做一个接口测试系列,把一些干货分享给大家。

接口

要说接口,它并不陌生,你天天都会接触它。

你的安卓手机,只能用安卓手机的充电线,不能用苹果手机的充电线——这是硬件接口。

你打开测试奇谭的文章,实际上是请求了文章服务器的接口(简单比喻下),服务器将你点击的文章内容返回给你,供你阅读——这是软件接口。

再举个详细例子:

在这里插入图片描述
什么是接口?

在美国使用电风扇,电风扇的插头是美标插头,只能插入美标插孔;

在中国使用电风扇,电风扇的插头是中标插头,只能插入中标插孔;

在这个例子中:插孔就是接口。

接口做什么?

它定义了能接收的插头的类型——美标插孔只能接收美标插头,不能接收中标插头。

另一方面,接口作为传输者,会将不同的电流通过对接的方式传给电风扇,以带动电风扇工作。

根据上述例子,我们不难推演出,在软件中的接口和接口的功能。


用户请求了注册接口,服务会做出处理,向数据库中插入一个新用户;

用户请求了注销接口,服务会做出处理,清除掉数据库中的用户数据。

因此, 当面试官问你什么是接口时,你能说自己不知道吗?

明白了什么是接口,那接口测试,自然简单了。

首先,接口测试属于功能测试。你不要觉得接口测试就很高大上,其实,它仍旧摆脱不了点点点的命运。

拿上面的注册 & 注销例子来说,设计测试用例,正常业务的用例跟功能测试没啥差别。

步骤:A用户(未注册),请求注册接口。期望:注册成功

————————

步骤:A用户(已注册),请求注册接口。 期望:注册失败,给出合理提示,或静默登录

————————

步骤:A用户(未注册),请求注销接口。期望:注册失败,给出合理提示

————————

步骤:A用户(已注册),请求注销接口。 期望:注册成功

但是做接口测试,你还得考虑其他场景:

01 入参出参

你是否发现我上面贴图中的一个细节?
在这里插入图片描述
插头请求时,说了一句"我需要美标",插孔回应"我是美标接口"。

像不像打仗的暗号——“土豆土豆,呼叫红薯”,“我是红薯,土豆请讲”。

因此,你需要这样设计你的用例,

步骤:A用户(未注册),假扮自己是已注册用户(修改入参),请求注销接口。期望:失败,给出合理提示

————————

步骤:A用户(已注册),请求注销接口,系统告诉A注销失败(修改出参)。期望:给出合理提示

02 接口安全

即,不能像上一个场景,随意让用户修改入参请求,要保障业务和系统的安全、保障数据的正确。

一般来说,使用https请求+验签机制(验证码、sign、时间戳、Token等),可以规避这个问题。

步骤:拿乱写的入参请求注册接口。 期望:失败,给出合理提示

————————

步骤:拿乱写的入参请求注销接口。 期望:失败,给出合理提示

03 请求超时场景

即,请求接口,一直没有拿到接口的结果。

步骤:网络不好的情况,A用户(未注册),请求注册接口。期望:超时,给出合理提示

————————

步骤:网络不好的情况,A用户(已注册),请求注销接口。 期望:超时,给出合理提示

04 后端服务异常场景

即,接口后面的服务无法正常使用。

步骤:数据库无法使用的情况,A用户(未注册),请求注册接口。期望:失败,给出合理提示

————————

步骤:数据库无法使用的情况,A用户(已注册),请求注销接口。 期望:失败,给出合理提示

05 并发场景

类似于性能测试。

步骤:多个用户(未注册),同时请求注册接口。期望:都能成功

————————

步骤:多个用户(已注册),同时请求注销接口。 期望:都能成功

上面的内容,我只是做了一个引子,引导你去考虑这些场景。当然,实际工作中要考虑的,远不止这一些,还有分布式场景下的异步、同步任务问题,幂等问题,接口兼容问题,降级问题等等。

太多了……

但是,你也别害怕,这些场景是根据你实际工作情况来的。

比如,分布式场景下的同步、异步等,在金融领域使用较多,需要对此精通的接口测试工程师,如果你不在这个行业,了解它即可,没必要深究。

接口测试工具
postman:接口测试工具。常用必备!

fiddler:抓包工具。常用必备!

(温馨提示,文末滑动栏有相关文章哦)

mock:模拟出参的工具,有很多实现方案;

jemter:性能测试工具,也可以用来做接口测试;

python:requests库,学python绕不开这家伙;

swagger-ui等一些web工程。

……

一如既往,做个总结
01 接口测试是功能测试的一种,原理差不多,只是测试思维不一样;

02 保证业务正常的情况下,多做些接口异常测试,对你有百利而无一害;

03 接口测试工具,初学者建议掌握postman和fiddler即可。

最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。


包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……

关注我公众号:【程序员二黑】即可获取这份资料了!

如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流,里面也有各种软件测试资料和技术交流。

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救

大学毕业开始销售…不甘于现状,转行测试的自救之路

从销冠到失业,最后选择软件测试,回头看看这段路,我很幸运!

以上是关于什么是接口测试?这篇文章让你明白的主要内容,如果未能解决你的问题,请参考以下文章

一篇文章明白接口测试,get起来

Jmeter实现接口测试

看了很多文章,就这篇说明白了什么是接口测试

接口测试不难,学会这几招让你事半功倍

接口测试-初级技能篇之方法论

叹为观止!这篇文章把服务端接口测试彻底讲明白了