在测试移动APP时,会有很多接口需要做测试,我在这里介绍一下对HTTP接口做功能、性能的测试。首先我们会从开发人员拿到接口数据。

    一、测试需求描述

1、 本次测试的接口为http服务端接口

2、 接口:查询功能接口

3、接口描述:用户对订单列表进行查询

IP:http://192.168.8.197/biz/api/v1/mobile/doctor/subscribe/orderList

请求方式:get

端口号:9090

请求头参数:token = ffb74003075c4094853c98bfcfd081b7

请求参数:stateType = ALL  ,  beginLine = 1

响应数据:显示所有订单的详情信息

 二、使用Jmeter部署环境

1、首先打开Jmeter,在测试计划下添加线程组。

2.在线程组下添加HTTP信息头管理器,如果接口没有请求头参数,就可以不加。

3.在线程组下添加HTTP请求。

4.在HTTP请求下添加察看结果数

5.在HTTP请求下添加聚合报告

三,部署完成后,开始填入数据进行测试

1、首先填写HTTP信息头管理器,点击添加,把请求头参数:token = ffb74003075c4094853c98bfcfd081b7填入进去。

2、填写HTTP请求,点击添加,把请求参数:stateType = ALL  ,  beginLine = 1填入进去。

协议:http

IP:192.168.8.197

端口号:9090

请求方式:get

路径:/biz/api/v1/mobile/doctor/subscribe/orderList

3、设置线程组,根据测试需求来设置。我们这里设置的是10个虚拟用户,循环1次。

在这里详情解说一下线程组设置:

(1)线程数:即用户数,一个虚拟用户占用一个进程或线程,需要多少个用户施压,就设置多少虚拟用户数,在这里就是设置多少个线程数。

(2)Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要在多长时间内全部启动。例如线程数为100,准备时长为10,那么需要10秒钟启动100个线程,也就是每秒钟启动10个线程。我们这里设置1秒,表示1秒内10个用户全部启动。

(3)循环次数:每个线程发送请求的次数。例如线程数为10,循环次数为10,那么每个线程发送10次请求,则总请求数为10*10=100 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

(4)Delay Thread creation until needed:直到需要时延迟线程的创建。

(5)调度器:可以设置线程组的持续时间或启动时间和结束时间。

当选用配置调度器时,需要设置循环次数为永远,防止因循环次数不够而终止压测。

持续时间(秒):测试计划持续多长时间,例如1分钟就填写60,会覆盖结束时间。

启动时间:测试计划什么时候启动,启动延迟会覆盖它。当启动时间已过,手动运行脚本时当前时间也会覆盖它(但启动时间页面显示不会变)。

结束时间:测试计划什么时候结束,持续时间会覆盖它。

启动延迟(秒):测试计划延迟多长时间启动,会覆盖启动时间。

4、全部都设置好了就可以点击绿色箭头运行了,或者点击“运行”菜单栏的“启动”列表。运行完成后,我们来看看查看结果数。点击响应数据查看返回数据是否和研发部编写的一致。

5、请求都成功后,我们来看看聚合报告,这个数据就是我们的测试结果了。

6、我们这里解说一下聚合报告各参数的值,主要是查看Average和Throughput的值。

(1)Label:请求对应的name属性值

(2)Samples:表示这次测试中一共发出了多少个请求,我们这里是模拟10个用户,每个用户迭代1次,那么这里显示10。

(3)Average:单个 Request 的平均响应时间。

(4)Median:中位数, 50% 的样本都没有超过这个时间

(5)90% Line:90%的样本都没有超过这个时间

(6)95% Line:95% 的样本都没有超过这个时间

(7)99% Line:99% 的样本都没有超过这个时间

(8)Min:最小响应时间

(9)Max:最大响应时间

(10)Error%:本次测试中出现错误的请求的数量/请求的总数

(11)Throughput:吞吐量,表示每秒完成的请求数

(12)Received KB/Sec:收到KB /秒的吞吐量测量接收到的字节每秒

(13)Sent KB/Sec:送千字节/秒的吞吐量测量送千字节每秒

最新文章

  1. 表单和iframe的使用
  2. c-free
  3. 第三天:JS事件详解-事件流
  4. `fw服务端非完整` 工程开发初期的工作
  5. thinkphp通行证服务,验证登录,注销登录
  6. Java I/O编程思路
  7. codeforces 339C Xenia and Weights(dp或暴搜)
  8. Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发
  9. c/c++重定向输入输出
  10. axios介绍与使用说明 axios中文文档
  11. Java数组常用方法
  12. android 前台服务不显示通知
  13. Linux报错:bash: pip: command not found
  14. PHP设计模式之工厂模式(转)
  15. 2-KNN(K最邻近算法)
  16. CreateMutex用法
  17. log4j日志文件配置
  18. Linux上用Docker部署Net Core项目
  19. BZOJ3236:[AHOI2013]作业——题解
  20. UML对象图、包图

热门文章

  1. Java后端面试的一切技巧和常见的问题经验总结
  2. 基于SpringBoot+Mybatis+AntDesign快速开发平台,Jeecg-Boot 1.1 版本发布
  3. mybatis中两种取值方式?谈谈Spring框架理解?
  4. mac安装linux双系统的吐槽
  5. Servlet学习记录2
  6. Linux 下安装 apache
  7. 关于js-angularJS的路由传参
  8. SQL Server扩展事件的使用ring_buffer target时“丢失”事件的原因分析以及ring_buffer target潜在的问题
  9. linux下面重启nfs报错:nfs-server.service:main process exited
  10. Spinner 默认选中