0
点赞
收藏
分享

微信扫一扫

〖Python自动化测试实战篇④〗- 接口自动化测试详解

万叶集
🎉 隐约雷鸣,阴霾天空。 🎉
🎉 但盼风雨来,能留你在此。 🎉



文章目录

🐳 实战接口测试说明

在前面的三个小章节里呢我们了解了软件测试与软件自动化测试的基础内容,让大家对自动化测试有了一定的了解。就像前文说的,自动化领域现在大体可以分为三个部分。如果说将自动化领域比作一个可以通关的游戏,第一个将要面临的 BOSS 就是 接口自动化测试 ,第二个就是 WEB自动化测试, 最后一个就是因为现在APP的流行所在来的 APP移动端测试

接口测试 又是相对来说和我们的功能测试 最为接近的一种自动化测试手段 ,所以我们首先来学习接口测试的内容。 实现接口的开发与接口的测试,我们的思维上、想法上、面向的态度上都是不一样的所以大家要有一个思维上的转换,要认识了解一下 接口测试到底是做什么的?它的功能、意义在哪里。

接下来还需要做一个知识储备 —> 理解 HTTP 协议的基础知识。然后最重要的两个部分,先通过一些简单的工具实现接口测试,实现接口测试的编写来辅助我们实现接口测试;当然是用工具挺不是最终目标,我们的最终目标是通过 Python 的知识、通过编程的技巧来完成接口测试脚本的编写,再上升一步上升到 接口测试框架的搭建 ,然后在通过某旅游网的接口完成实战这样的一个学习。

🐳 接口的定义

接下来我们就从自动化测试领域里面最容易实现也是实际工作中最普及的接口测试开始学习,在这一小节里会有两个知识点。

🐬 接口的概念

官方给出的解释:


那就说点人话,简单的概括一下:


再再通俗一点的解释:


🐬 软件中的接口

在我们的实际软件项目中,接口其实就是系统与系统之间、模块与模块之间、服务与服务之间相互调用的一个入口。从开发者角度,接口是一个分工协作的产物。不同的开发者实现了自己的功能之后封装成接口,供应其他的开发者调用;其他的开发者呢只要按照上一个开发者规定的格式发送一些必要的参数就能够使用这个功能。比如下图:


图中是一个 登录接口 的实现和前后端调用的一个流程,对于使用登录接口的人来说,不需要关心后面的查询数据库等逻辑,只需要传入用户名和密码,接口返回是不是登录成功即可


常见的几种接口类型如下:

对于我们来说,在做接口测试的时候 90% 的经历是在做 HTTP 类型的接口,所以后面的内容也会就这个方向深入,去进行挖掘。

🐳 什么是接口测试

在了解了什么是接口之后,接下来我们再看看什么是接口测试。接口应该如何去测试。

顾名思义,接口测试其实就是测试系统组件间接口的一种测试,也就是针对上文所述的那些接口的测试。

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 不仅仅是看接口有没有实现还要测试一下接口逻辑

🐬 做接口测试的好处

在介绍之前,大家先像一个问题,那就是 余额宝 的转入与转出。如果我们想要试试 余额宝 的转入与转出功能,从纯黑盒的角度来说,那就得需要在 APP 的界面上去点击操作,但是实际上可能前端界面写出来集成好之前后端的这个接口其实早就已经写好了,这也是很正常的。

所以,如果我们能够开展接口测试就能够更早的发现问题,有效的降低测试成本,而且接口是各种系统功能的一个基础。如果接口都出现问题了,那就回引起很多系统的问题,并且非常不容易定位,所以提早的开展接口测试也会有更好的效果。

从测试的 ROI 来说,接口相比于UI的界面要稳定的多,有利于测试人员进行自动化、进行一些持续集成的开展,这是测试人员进行接口测试的一个优势。

🐬 接口测试的进化史

实际上在我们的正式工作中,在漫长的互联网测试形态的演变中,接口测试出现了三种阶段的改变。

🐬 接口测试的不简单之处

接口测试不仅仅是调用之后就结束了,完整的接口测试也需要考虑到很多的点。参考下图:



比如上图中的内容,除了正常的情况之外,还需要考虑异常的情况(即参数不符合条件的情况);然后就是边界的问题,如一个转账功能,单笔上限为 50000,尝试传入大于 50000或者为0、为负数的情况等等;再一个就是参数组合,比如个人信息认证接口需要传入用户的个人信息,这里手机号为空,性别不选、年龄写999999… 这样的类似的参数的形态造成的一些异常问题…

还有一种异常情况就是图中左上角提到的一些问题,比如同样的内容去提交会给予一个什么样的返回;还有就是并发的问题,比如某秒杀或者抽奖活动,当大量的信息同时涌入会不会处理不了,造成卡住或者服务崩掉等情况… 那这样的话,这次的抽奖应该做什么处理并返回,是不算了呢还是给予一个重新抽奖的机会,等等诸如此类的场景…

再有一个就是安全测试,如果说提供了一个网页的接口来填写信息是否会存在被注入等风险,或者有一些敏感信息被攻击者可利用的可能,这些都是在接口测试的过程中需要想到的。

🐳 如何掌握接口测试

如果想要掌握接口测试这门技能,做到一个测试开发的级别还需要做些什么呢?这也是要在 【 Python自动化测试实战篇章】 要讲到的内容。

准备好了嘛?接下来就准备开始接口测试的实战之旅吧。



举报

相关推荐

0 条评论