(十五)综合场景测试

性能测试中的设置把握的原则:模拟真实场景,并且不给被测系统额外的负载,以免结果数据不正确

  • 综合场景测试的准备条件:3个以上的脚本。
  • 每个场景run-time setting都要思考为啥这样设置,在综合场景中思考时间也是我们思考的一个,原则事务中不能有思考时间,可以移出或者ignore,但是因为要模拟实际的场景,所以移出比较好。
  • 脚本修改完毕,要编译,确认没有语法错误后,准备加入控制台。
  • Scenario Schedule 中Schedule by:Scenario(选择)则说明按照这一个场景,即场景中所有虚拟用户统一行动(所有脚本的运行方式都是一样的),而且99.9%的AUT都这样测;Group则说明场景中每个组(执行不同的Vu,一个脚本的用户为一组)分头行动(每组脚本的运行方式单独设置)。同时选中各组Ctrl+鼠标点击。(会出现一个黑框)
  • VU部署的设置
    1)虚拟用户为10 buy4 look4 login 2
    2)递增加载虚拟用户,每隔1s加载一个用户
    3)Duration:Run for xdays and xx:xx:xx 半小时
    如果有性能需求,则按照需求指标设置运行时间(duration),如果没有具体需求,则按照常规(经验)设置为1个小时(或者50分钟)
  • Run-time setting—>Shared RTS
    1)Pacing:随机6-9(减轻服务器的压力)
    2)log:不需要设置(如果调试脚本,可以随时查看日志;如果运行场景,则报错时,发送日志即可。日志也是程序,会对被测系统和磁盘(空间)产生压力)
    3) Think time:随机 50%-150%
    4) miscellaneous:Error Handling:选中Continue on error
    5)若脚本中有web_find、web_image_check则要在Preferences–>check 选中Enable Image and text check
    6)Speed Simulation:选择最大带宽,因为如果带宽不足,则lr发出的请求可能会只有部分成功到达服务器端,导致性能测试结果不准确。
    7)Brower:Simulate brower cache:不勾选。(严格测试)
    8)Preferences—>options
    HTTP-request connect timeout(sec)=600,HTTP-request receive timeout(sec)=600,Step download timeout(sec)=600
    7.在run中设置Windows Resources【这里只要会设置资源监控,以后会学习读这些资源监控。】
    这里写图片描述
  • 如果把CPU比作画家,则画家面前的桌子就是内存,如果内存中找不到想要取的东西,则要跑到地下室去取。该处的地下室就相当于磁盘。
  • 内存的运行速度可以是磁盘的成千上万倍。所以我们要尽可能减少磁盘的I/O(磁盘的输入输出,或者叫磁盘的读写),这也是性能测试调优的一个重要原则。
  • 磁盘的I/O可以减少,但是不能为0。
  • 处理器队列:等待处理的线程(或者进程)。比如:一个理发店3个理发师,来了6名顾客,则3个人要排队,则当前的队列就是3。

综合场景注意:
1)在所有的VU加载过程中,如果有错误,马上停止,因为测试要求是所有VU在线场景,如果没有达到所有VU在线(加载),则无法继续测试。【看Scenario Group中Run】
2)要保证所有的vu都登录成功,后面出错可以继续,若出现大量错误,也要查看原因,必要时停止。
3)有一种错误是正常的:发现有资源为负值。没有问题,表示监控的服务器中有出错的计数器,但是不属于监控的13项。

性能测试过程中何时需要监控资源,何时不需要监控资源

  • 性能测试过程中都需要监控资源,各种类型性能测试都需要监控服务器(若有多态服务器,则每台都需要监控)
    ①基准测试、并发测试、综合场景测试(在线)、疲劳强度测试要监控资源
    ②做测试(备用)数据(注册脚本,注册出30个用户,为后面的测试做准备)或背景数据(数据库中的容量数据,比如某大型系统,背景数据时2kw,)时,则不需要监控被测系统,因为还没有开始测试。

    Schedule by:Group(在实际中用的少,这里只是介绍部署为组时,应该如何设置)
    要求:先注册完成,然后再运行其他的脚本30分钟。
    注册脚本(迭代10次)、登录脚本、查询脚本、购票脚本
    在注册脚本设置中,Start Group:Start immediately after the scenario begins
    Duration:Run until completion(因为要迭代10次,并不能确定时间,所以选择此项:直到运行结束)

对于其他的脚本:Start Group:start when 注册 finishes
Duration:Run for 30分钟

posted @ 2018-07-11 21:46  测试开发分享站  阅读(137)  评论(0编辑  收藏  举报