• 使用Jmeter进行http接口做功能、性能测试


          在测试移动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:送千字节/秒的吞吐量测量送千字节每秒



  • 相关阅读:
    遗传算法(Genetic Algorithm, GA)及MATLAB实现
    CCF CSP 201809-2 买菜
    PAT (Basic Level) Practice (中文)1008 数组元素循环右移问题 (20 分)
    PAT (Basic Level) Practice (中文)1006 换个格式输出整数 (15 分)
    PAT (Basic Level) Practice (中文)1004 成绩排名 (20 分)
    PAT (Basic Level) Practice (中文)1002 写出这个数 (20 分)
    PAT (Advanced Level) Practice 1001 A+B Format (20 分)
    BP神经网络(原理及MATLAB实现)
    问题 1676: 算法2-8~2-11:链表的基本操作
    问题 1744: 畅通工程 (并查集)
  • 原文地址:https://www.cnblogs.com/whitewasher/p/6847572.html
Copyright © 2020-2023  润新知