自动化测试,从入门到跑路2

 

咱们书接上回,自动上次接手了测试脚本,就一发而不可收拾,总是想找各种各样的机会来锻炼脚本的能力。并不是为了偷懒

于是搞起了基于业务和接口方面的自动化,惊不惊喜,意不意外。

 

 

 

接口测试

咱们这次只说接口方面的自动化测试,界面方面的继续开坑,放在后面待我慢慢道来。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)

问,接口测试总共分几步?

第1步 了解业务

作为一名从业近4年的测试工程师推下眼镜,私自认为,不论是哪种测试,都不能脱离真实的业务使用场景。

如果时间、资源允许的情况下,当然可以去做很多极端情况的测试,在软件崩溃的边缘不断试探。

 

 

 

但是,试探的多了,对产品上线并不一定会有多少帮助。

 

 

 

反而,可能会影响正常的项目更新,特别是在项目节奏不明确,没有里程碑和质量红线的情况下,疯狂试探,反而会浪费一些人效。

 

 

 

举个栗子,我们的团队是基于敏捷模式进行开发的,没错,你没听错,就是那个已经“烂大街”的敏捷开发。

现在也搞不懂,基本是个年轻点的团队都在说自己是遵循敏捷原则,并且是最好的敏捷开发模式,有些还在不断的diss传统的开发模式,那些经常揪着瀑布流开发模式不放的孩子们,可能是对瀑布流有些误解。

传统的瀑布流,也不是按部就班的流水线,其中也分成了很多里程碑和阶段性成就,怎么样听起来是不是很想敏捷开发中说的“迭代”。其实,我们常说的敏捷开发,和拆碎后的瀑布流很相似,具体的就不瞎说了,毕竟这只是我的一家之言。

 

 

 

我们还是书回正题,继续上面的栗子,团队之中尽力像敏捷靠拢,但是对于需求和每个迭代并没有整体上的规划,基本都是接到什么,评估下可不可以做,然后就丢入后面的迭代。

并且,对需求的说明,来不及准备详细的设计和说明文档,也不会去定义,什么程度下可以直接进行交付。

作为公司为二的测试,不时会遇到以下这些情况:

  1. 什么?上线了?什么时候上线的?(惊讶脸)
  2. 产品:这个今天下班之前要上线。测试:看了下时间,还有1个半小时下班。
  3. 产品:这个需求有点急,产品验收和测试同时进行吧。测试:╮(╯▽╰)╭

经常是时间紧、任务重、来不及准备,因为每天都不知道会有什么准备上线,基于这种情况,我们只是在保证主要功能和流程没有问题,至于一下极端或少数的情况,能忽略就忽略。

总而言之,测试不只是保证质量,各种极端情况考虑周全,固然很好,但也不是一成不变,测试要较真,也要灵活应对,具体情况具体分析。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)

不用怀疑,我们就是用了假的敏捷。

第2步 熟悉接口

一般来说,自动化测成本是如下:

界面自动化>接口自动化>不做自动化

考虑到测试的成本和项目的特性,我决定先用接口测试,熟悉下项目,界面自动化, 下篇更新。

说到接口测试,不得不提3个工具:

  1. PostMan
  2. SoapUI(好少用到了)
  3. YApi(好少用到了)

PostMan

接口调试神器,不接受反驳,哈哈。先说下我的理由:

  1. 界面好看(颜控福利)
  2. 使用简单
  3. 支持测试

支持测试”这一点,很戳我这个处女座软件测试工程师。

 

 

 

虽然,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,还会有同行一起技术交流)

 

点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值