咱们书接上回,自动上次接手了测试脚本,就一发而不可收拾,总是想找各种各样的机会来锻炼脚本的能力。并不是为了偷懒
于是搞起了基于业务和接口方面的自动化,惊不惊喜,意不意外。
接口测试
咱们这次只说接口方面的自动化测试,界面方面的继续开坑,放在后面待我慢慢道来。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
问,接口测试总共分几步?
第1步 了解业务
作为一名从业近4年的测试工程师推下眼镜,私自认为,不论是哪种测试,都不能脱离真实的业务使用场景。
如果时间、资源允许的情况下,当然可以去做很多极端情况的测试,在软件崩溃的边缘不断试探。
但是,试探的多了,对产品上线并不一定会有多少帮助。
反而,可能会影响正常的项目更新,特别是在项目节奏不明确,没有里程碑和质量红线的情况下,疯狂试探,反而会浪费一些人效。
举个栗子,我们的团队是基于敏捷模式进行开发的,没错,你没听错,就是那个已经“烂大街”的敏捷开发。
现在也搞不懂,基本是个年轻点的团队都在说自己是遵循敏捷原则,并且是最好的敏捷开发模式,有些还在不断的diss传统的开发模式,那些经常揪着瀑布流开发模式不放的孩子们,可能是对瀑布流有些误解。
传统的瀑布流,也不是按部就班的流水线,其中也分成了很多里程碑和阶段性成就,怎么样听起来是不是很想敏捷开发中说的“迭代”。其实,我们常说的敏捷开发,和拆碎后的瀑布流很相似,具体的就不瞎说了,毕竟这只是我的一家之言。
我们还是书回正题,继续上面的栗子,团队之中尽力像敏捷靠拢,但是对于需求和每个迭代并没有整体上的规划,基本都是接到什么,评估下可不可以做,然后就丢入后面的迭代。
并且,对需求的说明,来不及准备详细的设计和说明文档,也不会去定义,什么程度下可以直接进行交付。
作为公司为二的测试,不时会遇到以下这些情况:
- 什么?上线了?什么时候上线的?(惊讶脸)
- 产品:这个今天下班之前要上线。测试:看了下时间,还有1个半小时下班。
- 产品:这个需求有点急,产品验收和测试同时进行吧。测试:╮(╯▽╰)╭
经常是时间紧、任务重、来不及准备,因为每天都不知道会有什么准备上线,基于这种情况,我们只是在保证主要功能和流程没有问题,至于一下极端或少数的情况,能忽略就忽略。
总而言之,测试不只是保证质量,各种极端情况考虑周全,固然很好,但也不是一成不变,测试要较真,也要灵活应对,具体情况具体分析。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
不用怀疑,我们就是用了假的敏捷。
第2步 熟悉接口
一般来说,自动化测成本是如下:
界面自动化>接口自动化>不做自动化
考虑到测试的成本和项目的特性,我决定先用接口测试,熟悉下项目,界面自动化, 下篇更新。
说到接口测试,不得不提3个工具:
PostMan
接口调试神器,不接受反驳,哈哈。先说下我的理由:
- 界面好看(颜控福利)
- 使用简单
- 支持测试
“支持测试”这一点,很戳我这个处女座软件测试工程师。
虽然,PostMan支持测试脚本,并生成测试集批量执行。但是,毕竟不是一款专门用作接口测试的工具,不过基本使用已经很足够了。
SoapUI
专门用作接口测试的工具,界面风格和Jmeter有些类似,具体的使用就不在这里介绍了,如果有时间,后续整理下这些常用工具的使用方法和技巧。
YApi
YApi是一款旨在为开发、产品、测试人员提供更优雅的接口管理服务的开源软件。介绍文字来自YApi官网
如果想在项目中实际使用,可以移步传送门,官方给出了很详细的说明。
基本按照官方给出的步骤,傻瓜式安装使用即可。
(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
友情提示:YApi支持Postman数据导入
以上3款软件,均可以对接口进行测试,并且已经尽可能的减少了测试的成本。
但是,只用工具又怎么能展示出我的能力呢,所以最后还是选择了手写脚本代。 其实是因为需要跨多个系统,涉及到多个系统之间不同数据的调用和对比,用工具做起来不是很方便,于是,手敲python自己搞,就是这么简单、粗暴。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
第3步 准备测试用例
业务熟悉了,测试用的工具也就位了,剩下的就是准备测试数据了。其实,接口测试也可以当做一种黑盒测试,准备好输入和预期输出,将实际输出和预期输出做对比,并考虑到实际的业务情景,修改输入,来测试接口对不同情况的处理。 ::以下内容,只是本测试的理解,仅供参考::
以某某接口为例,URL:https://api-test.com/login。
需要的数据,json:{"name”:”test”, “gender”:”test”, “height”:”test”, “weight”:”test”}
期望输出,data:{“token”:”test”}
数据格式如上,假设业务有要求,并且前段做了限制,姓名不能为空,则大概需要测试的情况如下所示:
第4步 编写测试脚本
用例也准备好了,如果用工具进行测试,只需要按照用例中的输入数据发起请求,然后比较实际的返回结果和期望的返回结果,就O98K了。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
以PostMan为例,找到文件夹,如下图所示:
选择要执行的接口,配置参数并执行,执行后的结果显示在界面中,如下图所示:
基于工具的接口测试,基本就是这个样子了。但是折腾如我,能动手写,坚决不用工具。
于是打开了我的PyCharm,新建工程,嗯……下篇更新吧,溜了溜了。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注