• 13
  • 13
分享

1、背景

1.1 项目背景

在移动平台服务端接口测试覆盖度为零的情况下,根据服务端接口的特点,以及升级更新的速度较快等,需要开发此框架来实施服务端接口的自动化测试。

1.2 接口测试

接口测试属于灰盒测试范畴,通常不需要了解接口底层的实现逻辑,但需要测试人员能够使用代码的方式来调用接口。接口测试主要用例测试接口的功能以及接口返回数据的正确性。根据接口测试的复杂度接口测试分为两种。即单一接口测试,以及多接口组合功能测试。由于接口测试是通过代码调用的方式完成,而且接口测试与前端UI属于松耦合(或无耦合)因此通过自动化手段将极大提高测试效率以及回归测试的复用率。本文中提到的接口测试主要是指基于http,https,rpc协议的web接口。

1.3 适用性分析

移动平台大部分以http接口方式提供服务,通过前台App调用接口方式实现功能。同时大部分接口功能,以及表现形式稳定,对于前台变化敏感度较低。基于上述接口测试的特点,认为移动平台项目非常适合接口层级的自动化测试。

2、IAT框架

2.1 IAT介绍

IAT是Interface Automation Testing的简称。通过热插拔的方式支持http,rpc,soap类协议的web接口测试。框架支持单一接口,多接口组合测试,支持用户通过自定义方法实现精确验证结果的需求。

2.2 框架特点

  • 提供多种接口测试方式。即单一接口测试,多接口业务流程测试。目前多见的为单一接口的测试。

  • 根据用户需求不同,不同的接口测试方式,用例开发难易度不同。

  • 用例开发门槛低,用户只需要将接口用例数据填入格式化文件即可自动通过工具生成用例。

  • 对于高级需求,框架提供自定义配置包括数据构造,精确匹配测试结果等。

  • 框架对于不同域名下的相同接口支持自定义配置,只需要简单修改测试平台配置即可轻松将用例应用在不同平台上。

  • 框架对于不同协议接口的支持,近乎无缝连接。

  • 框架支持可配置

2.3 框架整体组成

图片1.png

  • 单元测试代码:由代码生成工具根据用例描述文件自动生成,一个Testmehod为一个用例。

  • 测试数据:格式化存储测试用例需要的数据

  • 用例描述文件:用于定义用例需要调用那些接口,那些方法以及数据预制等信息

  • 用例执行器:根据单元测试传递的参数,查找,解析用例文件并执行。

  • 框架核心:包含操作用例描述文件,测试数据文件,以及数据构造,接口调用,结果验证等功能

2.4 用例执行流程图

2.png

2.5单一接口用例数据结构

字段名称字段说明 可选值
ID唯一即可
DomainName域名可配置
Path域名后参数前的部分
ParameterName增加一个参数请增加一列
ExpectResult

AssertType

Equal

Contains

Custom

AssertMethod
自定义断言方式需要提供断言方法
SetupType

SQL

DBID

Custom,

SelfInvoke,

依赖关系

SetupContext 

SQL语句

数据构造系统ID

数据预制方法(需要提供数据参数ID),

自调用方式需要提供数据的同时需要提供一个方法名称,

需要提供依赖用例ID


TearDownType

SQL

DBID

Custom

SelfInvoke

TearDownContext

SQL语句

数据构造系统ID

数据预制方法,

2.5 组合接口测试用例结构

图片2.png

2.6 组合接口参数存储结构

图片1.png


文章来源:百度文库

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 11月23日,伴随着世界杯比赛的激烈进行,彩电厂商层出不穷的营销手段同样为观众带来了看点,尤其是阿根廷队爆冷负于沙特的比赛,更是让不少球迷错愕不解,甚至于家中的电视也有受到“池鱼之殃”的可能,一时间#砸电视#的词条登上了微博热搜榜。此时,不少厂商打出电视机0元换的广告语颇为吸睛,但是在营销手段“内卷”的背后,业内观点认为,技术的更新迭代更加关键。“语不惊人死不休”一场阿根廷爆冷失利的比赛,成了不少彩电厂商展示广告创意的机会,例如京东就发布海报称“电视砸坏怎么办,京东家电0元换”;而Vidda则打出营销话语“早知道看球就买投影了,屏幕大还砸不烂”;同样,乐视TV也打出了类似的广告语和换机条件,甚...
            0 0 1001
            分享
          •   摘要:性能测试通过自动化的测试工具模拟正常、异常场景来对系统的各项性能指标进行测试。通过性能测试可以分析一个系统能力、瓶颈、关键问题等。本文结合直播平台的部分场景,使用开源SRS-Bench工具对直播并的4个场景进行压力测试,测试直播平台的基础能力。  一 、性能测评工具简介  性能测试范围较广,包含负载测试、压力测试等,负载测试可以确定在满足性能指标情况下,系统能承受的最大负载,压力测试可以确定在什么负载条件下系统性能处于失效状态,获得系统能提供的最大的服务级别,一般系统上线前均会进行性能测试。目前,较常用的性能测试工具分为商业测试工具、开源测试工具,较为常用的是Loadrunner及J...
            0 0 10711
            分享
          •   一、为什么要学习定位元素?  1)计算机没有智能到人的程度。  2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入。  3)计算机通过一系列计数手段找到元素。(按钮、输入框、模拟键盘等)  二、元素定位的工具或手段有哪些?  1)css选择器  2)xpath  三、环境及工具  现在博主演示的安装firefox浏览器的firepath以及firebug两个插件,博主电脑本身已经安装了Firefox68版本的火狐浏览器,现在安装Firefox35版本,这两个版本是可以共存的。  安装时选择自定义:  安装完成后,进入选项中:  关闭所有的更新:  进入附件组件中:  选...
            0 0 878
            分享
          •   2018 年在亚利桑那州坦佩(Tempe)造成一名 49 岁妇女死亡的优步(Uber)自动驾驶汽车的司机承认了一项危害罪,并于周五被判处三年缓刑。拉斐拉-巴斯克斯(Rafaela Vasquez)在亚利桑那州的 Uber 自动驾驶汽车测试项目中担任安全驾驶员。当她的车辆碾过推着自行车过马路的伊莱恩-赫兹伯格(Elaine Herzberg)时,她正坐在方向盘后。  据了解,这起发生在2018年3月18日的车祸是第一起涉及自动驾驶汽车的致命碰撞事故。  据《亚利桑那共和报》(Arizona Republic)报道,检察官将瓦斯奎兹描述为车辆的"眼睛和耳朵",碰撞发生时,车...
            0 0 1005
            分享
          • 第一次在学习IntelliJ IDEA过程中,进行web.xml文件的配置时候,对于Http监听情况不是很熟悉,所以找来参考文档以了解原理,以备今后复习来用。1、为什么请求经过七层负载均衡转发后,后端服务器的响应头中的某些参数会被删除?为了实现会话保持,负载均衡会修改后端服务器响应头中的Date、Server、X-Pad和X-Accel-Redirect等参数值。解决方案:在自定义的报文头部中加入一个前缀,如xl-server或xl-date,以避开负载均衡的处理。将七层HTTP监听改为四层TCP监听。2、为什么在HTTP请求的头部增加了Transfer-Encoding: chunked字段...
            12 12 1567
            分享
      • 51testing软件测试圈微信