基于Linux Rational Performance Tester自动化测试研究

1.工具简介

Rational Performance Tester 是一个为测试 Web 应用程序设计的软件,它的功能是在部署之前捕获并更正性能问题。Rational Performance Tester 通过模拟并发用户的数量,产生一系列报告,这些报告被清晰的标志出来显示 Web 页面的性能、URL 和事务等信息,来帮助工程师在部署之前查明系统的瓶颈。高级的特性包括在每一个用户组的行为和使用方式层面的详细测试调度安排。Rational Performance Tester 同时还提供了一种自动化的”数据池”特性,它可以改变每一个模拟用户使用的测试数据设置。使用一个集成了测试编辑器的浏览器窗口,可以回顾在测试记录期间访问过的 Web 页面。除此之外,高级测试人员可以选择将自定义的 Java 代码插入到性能测试中,用来执行类似于高级数据分析和请求解析的操作。

2.使用场景

RPT是针对Web应用程序设计的一个强大的性能测试工具,它基于windows和Linux的用户界面,通过模拟生成若干数量的并发用户,完成性能测试并产生一系列报告,并清晰标示Web页面的各项性能数据。使用基于树型结构的测试编辑器,提供高级且详细的测试视图和测试数据以便查看。

实验环境配置:主机Linux,内存4G,操作系统Ubuntu 13.04,IBM Rational Performance Tester自动测试管理工具。

3使用方法

    RPT集成了Eclipse作为图形化界面,所以即使在Linux下操作起来也非常方便。我们主要通过RPT完成性能测试。因此首先新建性能测试项目,然后主要通过四个步骤:记录测试、关联数据池、创建调度、生成性能报告来完成测试。

3.1 新建性能测试项目

新建选择性能测试项目,点击下一步,填写项目名称完成。

(1),项目文件结构如图,项目文件夹中常用的有测试、调度、数据池、结果:

(2),在测试文件夹下建立测试,注意:对于Web应用程序的测试可以使用HTTP测试,套接字测试、TN3270测试,选择浏览器。

(3),开始记录测试,测试前最好要熟悉测试流程(包括网址以及所要进行的动作),注意测试前要删除所用浏览器访问过测试网址的所有记录包括Cookie等,避免造成测试结果不准确。

(4),测试过程中主要步骤:下面几幅图主要是利用测试工具中的注释、快照、解释等。
通过注释,标示当前测试页面

快照保留参数输入等关键动作:

(5),关闭浏览器,完成测试:

所有测试数据(包括快照,注释等)

3.2新建数据池

数据池中添加数据

3.3 用数据池中数据替换原有测试用数据项(如搜索关键字)

选择数据项,单击替换

用现有数据池数据替换

3.4 新建调度

在调度文件夹下新建调度

在调度中分配用户组,并添加延迟,循环等事务

运行调度

3.5 调度完成,生成性能报告

3.6 将性能报告导出

4. 结果收集和分析

收集响应时间分解数据、收集资源监控器数据、为分析收集的数据提供视图和工具,以便找出引起性能问题的原因。

4.1资源监控

资源监控数据由一序列在特定间隔期间的观察组成。实时收集数据,除了响应时间分解数据之外,资源监控数据提供了一种更加完善的系统视图,可以用来确定问题。可以收集并分析一下数据:

? CPU 使用状况(总体,对于单个处理器,甚至是单个进程)

? 可用内存

? 硬盘使用状况

? TCP/IP 以及网络吞吐量

4.2响应时间分解

响应时间分解显示了系统的每一个部分在测试期间的时间所占用系统运行总时间的比重。响应时间分解视图和一个测试或者时间表的页面元素(URL)相关。这样可以在任意 HTTP 页面元素的响应时间统计表中,察看在测试下系统每一个部分所花费的时间。可以通过响应时间:

? 识别代码问题

? 察看哪一个服务器上的哪一个应用程序是整个系统的瓶颈

? 进一步决定哪一个包、类或者方法引起了这个问题

5. 设计测试方案完成测试用例

5.1 测试方案

对于测试一个Web应用程序,需要一些简单的测试用例,如加载多图片页面,填入用户数据,搜索关键字等都是测试的关键部分。关联数据池,比如在测试过程中有搜索动作或者登录动作,可以用建立的数据池中的数据替换掉搜索的关键字并重复进行,比如持续性恶意登录。 

调度主要模拟并发,建立调度后可以根据百分比或者绝对数量建立用户组,用户组模拟现实中的大量用户,可以给用户组添加刚才的测试,即每个用户组中的用户执行以上测试所进行的动作,也可以为不通过的用户组分配不同的测试用例,同时可以添加循环,延迟等测试条件,这对测试网络并发量非常重要。

5.2 测试用例:

以北航ihome和未来花园为例,通过测试登录、加载多图、发表状态(更新数据库)、搜索关键字等关键性指标来测试网络性能;
主要动作包括:
Ihome 登录
Ihome加载多图页面和发表状态
未来花园查看贴子和搜索相关关键字

并且通过数据池传入不同参数模拟恶意登录和多人查找,以5人的用户组为例,并在调度中添加迭代、循环、延迟等,模拟并发。

以上截图均来自测试ihome和未来花园用例,故不再赘述测试过程。

6.数据分析和处理

生成的性能报告如下

6.1总体:

6.2摘要

6.3页面性能:

6.4 页面响应时间:

6.5页面响应时间详细

6.6页面吞吐量

6.7服务器吞吐量:

6.8服务器运行状况

6.9服务器运行详细

6.10 高速缓存

6.11资源:

6.12页面大小

6.13错误数:

6.14页面运行状况:

7.数据的简易分析

由于是试用版本的Rational Performance Tester只支持5人的用户组,所以对于并发的模拟结果并不太好,但还是能够从性能报告中获得一些我们需要的信息:

(1),ihome首页响应时间远远大于其它页面,此页面需要加载大量组件和图片,而且也没有做太多的优化。运行情况良好百分比也只在27%左右。

(2),用户页面命中率也比较低。

(3),服务器吞吐量在人数增加的情况下减少的情况比较明显。

(4),ihome的登录页面和首页服务器的状态码成功百分比很低。

(5),就主机资源来说,在登录到ihome首页时_Total–%Disk Time也是最长的。

当然,数据中包含大量信息,由于测试用例也比较简单,所以在此不再做复杂分析。只是说明整个性能测试流程和数据分析的基本方法。

  

时间: 2024-11-09 05:31:35

基于Linux Rational Performance Tester自动化测试研究的相关文章

Rational Performance Tester(RPTv8.6) 在launch Schedule 时一直卡在 29%

solution:Rational Performance Tester(RPTv8.6) 在launch Schedule 时一直卡在 29% 打开Task Manager(Windows server 2012 R2即win8内核的,右键左下角大概在中间部分即可看到),将所有和rpt有关的进行或者线程都end task掉,记住,是所有,包括Apps中的和Background processes中的.然后重启. 经验之谈:其实一直卡在29%的地方是因为后台还有"Schedule进程"

基于Linux的智能家居的设计(1)

写在前面:做了半年的毕业设计,找到的工作与这个完全无关,发现自己现在有写不甘心,但是我还是在关注这方面的发展,自己的摸索和前人的帮助我完成了智能家居的一部分,希望这个能够给一些初学者 能够一些便利,毕竟技术是一个开放的,不属于某一个人的. 摘要 本课题主要目的是设计和实现一个基于Linux开发平台的智能家居系统.本系统主要使用PVC板做成的家居模型.本系统硬件使用基于ARM架构的samsung S3C6410芯片做成的OK6410开发板为手持终端,利用Zigbee实现网络通讯,并结合各种电子元器

基于Linux的OJ系统的设计与开发(一)

最近在研究基于linux的OJ系统,然后想自己写一系列文章记录自己这段时间的学习成果. 首先,从原理上讲,OJ功能实现并不难,最主要解决的是安全性问题.总结一下,而安全性方面问题主要是用户可能提交恶意不友好的代码.关于如何过滤这些不安全的代码,我从网上收集整理了许多资料,大体上思路如下: 先说错误的做法: 1.所有的字符串过滤都是不靠谱儿的,坑人坑自己,C语言强大的宏几乎没有绕不过的字符串过滤,而且误伤也是很常见的,比如,你在程序里要是不小心定义一个叫做fork的变量,那么你的程序别指望可以AC

基于Linux平台下的僵尸网络病毒《比尔盖茨》

感觉分析的很好,所以决定翻译出来,希望和大家多多交流O(∩_∩)O~ 转载请注明出处:http://blog.csdn.net/u010484477     O(∩_∩)O谢谢 关键字:病毒,linux,信息安全 我昨天写的日志里面提到,家用路由器在x86的CentOS系统下奇怪的自己行动,像是在自己加载处理器.于是我决定爬上去看看,在那里发生了什么,然后我马上意识到有人爬到服务器和挂在进程中的dgnfd564sdf.com.主要是下面几个方面atddd,cupsdd,cupsddh, ksap

基于ARM的车牌识别技术研究与实现

在云盘里包含了我本科毕业设计的全部资料和代码.主要涉及下面摘要中的几个部分.虽然系统无法实用,但是适合机器视觉和嵌入式方向的入门.希望能对有志从事相关方向的朋友有所帮助.本人现在在深圳从事机器视觉算法工程师职业.现在做人脸识别相关系统.希望能和网络上的有志之士一起在相关方向上学习和进步. 本文首先介绍了课题背景和研究现状,然后介绍了方案选择和设计过程.设计过程包括车牌识别程序设计,引导程序设计,内核驱动设计和文件系统设计.车牌识别程序设计中的车牌定位采用边缘检测和支持向量机相结合的定位算法,字符

Rational Functional Tester 对象文件(rftdef)合并

Rational Functional Tester (RFT) 是一款集成在Eclipse上的自动化测试工具.而自动化测试最麻烦的维护部分,一大部分也是指的是对象库文件的管理维护. 之前的项目里,经常遇到对象库文件有冲突,虽然我们有用Rational Team Concert (RTC) 去做compair & merge 的工作,但是还是不是太理想,有时候还是会遇到一些文件的冲突(主要是对象文件,“*.rftdef”文件,以及与之相关的helper文件).下图就是一个典型的rftdef文件,

基于Linux的v4l2视频架构驱动编写(转载)

转自:http://www.linuxidc.com/Linux/2011-03/33022.htm 其实,我刚开始一直都不知道怎么写驱动,什么都不懂的,只知道我需要在做项目的过程中学习,所以,我就自己找了一个关于编写Linux下的视频采集监控项 目做,然后上学期刚开学的时候听师兄说,跟院长做项目,没做出来也没关系,所以直接退出博士的团队,投靠了院长的门下,呵呵,说到这里其实并不是我太见风 使驼了,而是····老是让我做单片机的东东,我嫌没意思,他也知道我一开始就要学嵌入式,所以,最后,我想了一

清华大学视频课件:基于Linux的C++(自主模式)

基于Linux的C++(自主模式) 课程简介 Linux操作系统开源的特性使得其获得越来越重要的地位,而Linux系统编程也向C++程序设计者提出了更高的要求.本课程由C/C++语言的共性与特性出发,在深入学习程序设计语言的基础上,进一步强调程序设计语言的适用性,并与Linux系统编程紧密结合,通过大力培养学习者的抽象思维能力和计算思维能力,将学习者对语言作为工具的基本认知转化为动手实践能力,完成从具象到抽象再到具象的思维能力转变.课程内容主要涵盖C++程序设计基本概念.数据组织与算法设计.程序

基于Linux的智能家居的设计(2)

1  系统整体设计方案 智能家居系统的是一个实时查询家庭的温湿度.照明控制.自己主动控制的设定.集家庭娱乐.智能安防为一体,大量数据快处理.可靠的系统,因此在硬件和软件上都有非常大的要求,因此在这里进行了多方面的考虑有下面两个实现方案: 方案一:利用STM32单片机作为手持终端的控制器,使用按键和12864液晶屏作为人机交互的接口.利用51单片机作为房子内部的电灯.空调.门禁等家电的控制器,利用串口实现STM32单片机和51单片机作为传输数据的通道.这个能够实现.可是.机械按键和12864在智能