接口测试之Jmeter数据+关键字 驱动实践

发表于:2017-5-02 08:06

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:宫磊    来源:51Testing软件测试网原创

  本篇文章介绍利用Jmeter 实现数据+关键字驱动的一种接口测试方案,主要想和大家讨论接口测试用例如何设计及使用何种测试工具或方法才能更有效的进行接口测试。
  什么是接口测试?
  我们这里说的接口是指程序之间提供服务的软件接口。接口测试是测试系统组件间接口的一种测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
  那为什么进行接口测试呢?大家可能听说过测试金子塔,最底层是单元测试,中间层是接口测试,最上层是UI测试。相对于UI测试,接口测试能更早的发现问题,它比UI测试粒度更细,更能发现底层问题,它发现和解决问题的效费比更高,所以进行接口测试是有必要的。
   
  数据驱动框架:
  利用Jmeter 建立数据驱动测试是比较简单的,首先使用Jmeter 根据自己业务建立测试计划.然后将测试计划中所有业务流程的"Hard Code"测试数据,全部参数化实现。在这里我们使用Jmeter 中"CSV Data Set Config "配置元件从CSV文件中获取数据。
  举例:假如我们有一个接口,输入一本书的ID信息,返回书名及这本书的价格:
  HTTP请求的数据:
  {
  "bookid": 1
  }
  服务器返回的响应数据
  {
      "bookname": "Jmeter"
      "bookprice": 23.5
  }
  那如果我们想用不同的数据测试API的话,那就需要对请求数据进行参数化设置。
  Jmeter实现步骤如下:
  1、首先在测试计划中添加一个线程组-然后右击线程组添加一个Sampler (HTTP 请求)
   
  2、再建议一个CSV Data Set Config 配置元件如下图:
   ... ...
   查看全文内容,请点击下载http://www.51testing.com/html/64/n-3717264.html
  关键字驱动框架:
  主要思路是可以为每一个关键业务流程建立一个关键字。Jmeter 利用关键字分别调用不同的业务流程,从而实现对相应的业务逻辑或接口的测试。
  举例:假如我们有一个订飞机票的Web程序,在这个程序里用户可以注册一个账户,然后利用这个账户去订票,查看相应的飞机票及取消订票等操作。所以我们可以根据上面需求为下面不同的接口定义一个关键字,每个关键字实现了相应的功能。
  · Register New User
  · Login
  · Logout
  · Book Ticket
  · Edit Ticket
  · View Ticket
  · Cancel Ticket
  · Forgot Password
  下面我们就可以设计相应的测试用例,让Jmeter直接读取这些测试用例的关键字,从而实现对相应的业务流程覆盖。如下图用例TC001,需要注册一个账户并用此账户订票后退出,那Jmeter就需要调用Register New User,Book Ticket,Logout三个关键字从而实现了对此用例的执行。
  Jmeter实现步骤如下:
  1、首先设计相应的可复用的模块:我们可以将每个关键的业务流程都单独编成一个Sampler,Sampler名字取业务流的名字,然后放在Test Fragments下面。
   ... ...
   查看全文内容,请点击下载http://www.51testing.com/html/64/n-3717264.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号