使用LoadRunner 编写性能测试方案
1.声明
本测试方案适用于航空订票系统的性能测试,可指导其他航空订票系统的测试。
本方案版权归于某某性能测试开发组,如果引用请声明具体测试环境和测试数据,否则测试结果无效。
2. 系统概述
此次测试的系统是航空订票网站系统,此系统应用Perl语言开发的基于B/S架构的网上订票系统,此系统的主要功能包括:用户注册、用户登录、定制票据、查看票据、取消票据、用户注销等主要功能。
本次测试过程重点关注系统的响应时间、并发用户、吞吐量等性能指标。
3. 词汇表
1)用户
用户指所有的访问系统的人,包括已经注册了用户名的人和没有注册用户名的人,测试过程中的Vusers就是模拟人的行为。
2)在线用户
在线用户指所有访问系统的用户,这些用户可以是正在和服务器进行交互的用户,也可以是正在浏览信息、填写表单等跟服务器没有交互行为的用户。
3)并发用户
并发用户指同时向服务器发出请求的用户,这些用户必须跟服务器进行数据交互。
4)响应时间
响应时间指从客户端发出请求到客户端从服务器获得数据这个过程花费的时间。
响应时间是一个往返的过程,包括了客户端请求和服务器响应的时间,可以模拟用户的真实感受。
5)平均响应时间
平均响应时间指针对某个业务的访问统计所有的响应时间,然后求平均。
6)标准偏差
标准偏差指一组数据取样空间中所有的值对应平均值的偏离度,用来衡量系统响应的可靠性和稳定性的指标。
7)TPS
每秒钟的事物数
5. 性能测试模型
5.1 用户体验模型
业界网站的用户感受标准符合一个3-5秒的标准,其中3秒的响应时间用户会感觉网站的响应很好,我们定义为良好响应;5秒的响应时间用户还可以接受,我们定义为可忍受;响应时间在8秒以上时,用户感受基本上已经不能接受,我们定义为不可忍受。
5.2 系统用户模型
1. 系统创建1000个注册用户,test0001-test1000
2. 基准测试过程中采用非注册用户
3. 用户登录、订票、查票等业务采用注册用户
5.3 业务模型
5.4 用户接入模型
用户接入模型:是指用户在访问系统时,以什么样的方式或者带宽来访问系统。
比如拨号方式、ADSL、小区宽带或者校园网等。
测试过程中可通过测试工具或者相关设备对用户接入模式进行仿真。
对用户接入行为的仿真模型我们称为用户接入模型。
测试过程中为了保证在系统的最大压力下,测试系统支持并发用户的能力,因此在测试过程中采用局域网环境,所有用户接入均采用共享100MBPS或者1000MBPS方式。
根据木桶原理在保证最大压力情况下系统的性能特征,同样可以支持在不足带宽情况下用户接入的情况
5.5 浏览器模型
浏览器模型:是指在测试过程中模拟用户浏览器的类型、操作模式、缓存处理、非HTML 资源处理等配置方式的一个模型。
浏览器模型的建立可以真实的仿真用户基于客户端访问系统的情况。
测试过程中的浏览器模型:
浏览器仿真:IE6.0、IE7.0、Firefox
浏览器缓存仿真:缓存HTML资源、每次迭代清除缓存
非HTML资源:下载非HTML资源
5.6 思考时间模型
思考时间模型:是指在测试过程中模拟人的真实操作行为,比如一个人访问应用系统的过程中,不可能是一直跟服务器进行交互,一定存在浏览、填写表单、阅读说明等行为,因此在性能测试过程中,需要通过一种机制来模拟这种行为,那么这种行为的模拟方式就是建立“思考时间模型”,通过测试脚本程序上的等待来完成用户以上行为的仿真。
测试过程中的思考时间模型:通过对一般用户行为的调查确定思考时间为5-10秒随机选取方式
6. 性能测试环境
6.1 测试环境
负载与性能测试环境图
6.2 硬件/软件配置清单
序号名称硬件配置操作系统应用软件数量备注1PC机P4 2.8 512Mb 80G Windows XP3
2服务器P4 2.8 512Mb 80G Windows 2000 Server1
7. 性能测试工具引入
测试过程中应用到的测试及相关工具列表
序号工具类型工具名称备注
1性能测试工
具Loadrunner支持HTTP协议,预测系统行为和性能的测试工具,支持20Vusers以上
8. 测试用例
8.1 性能测试用例
序号用例名称用例内容测试目标
1用户注册业务类型:
用户注册
配置信息:
并发用户:10Vusers
运行方式:多次迭代
集合点策略:每个事物前增加集合点
负载机:1台检测在多用户并发情况下,用户注册功能能够同时支持的并发用户,以及在并发用户负载情况下系统的响应时间情况
2访问首页业务类型:
基准页面访问
配置信息:
并发用户:10/15/20/25
运行方式:每种用户类型持续10分钟
集合点策略:无
负载机:2台测试系统在基准页面访问的情况下支持的最大并发用户数以及不同并发用户情况下系统的响应情况
3用户登录业务类型:
用户登录验证在1000以内注册用户情况下系统是否能够
负载机
负载机
交换机
负载区
控制台
应用服务器
被测对象
性能监控。