什么是 Rational 性能测试系统?
IBM Rational 性能测试系统 (RPT) 是一种性能测试工具,它在 IT 系统上生成负载并测量系统在负载下的响应时间,衡量 IT 系统的性能。RPT 可模拟多个并发用户在系统上的操作,生成负载。性能的主要指标是事务响应时间和吞吐量。事务响应时间指系统响应用户操作(例如从网络应用程序中的一个页面导航到另一页面)所花费的时间。吞吐量指系统在给定时间内可以执行的事务(例如导航)数量。RPT 是我们的软件生命周期专家用来实现整个软件生命周期自动化的工具之一。
Rational 性能测试系统有何作用
RPT 通过模拟多个并发用户的操作在系统上生成负载。每位用户通过一个运行名为脚本的简单程序的线程来进行模拟。在 RPT 中,脚本通过记录需要测试的用户操作来进行创建。在记录结束后,将自动生成脚本。与其他负载测试工具(包括 Micro Focus LoadRunner)不同,RPT 脚本不显示为代码块,而是显示为图形符号序列。然后,该脚本可以由多个线程运行,以模拟多位用户的操作。
在应用负载时,RPT 会测量系统响应用户命令所花费的时间。待测量的命令会在脚本中进行指定。在运行测试时,RPT 还会测量被测系统服务器的吞吐量和指标,例如 CPU 利用率、内存利用率和磁盘 I/O。要生成较高级别的负载,RPT 可以利用多台机器来运行模拟用户(负载生成器或负载注入器)。
在测试过程中,可以同时运行多个脚本。例如,在一个涉及 1000 位模拟用户的测试中,500 位用户可以运行脚本 A,300 位用户可以运行脚本 B,200 位用户可以运行脚本 C。这三个脚本将分别模拟系统上不同的用户活动,模拟用户运行的每个脚本的比例将设计为能够反映系统上观察到的真实用户的使用量。
随着系统负载的增加,响应时间通常也会增加(即从用户的角度来讲,系统变慢),总吞吐量会达到峰值。RPT 可以测量响应时间达到无法接受的高水平时的负载水平。
优势
Rational 性能测试系统的主要优势如下。
- 充足的性能是 IT 系统可用性的重要组成部分。如果系统速度过慢,用户工作效率可能会下降;如果系统是面向客户的,用户可能会切换到竞争对手的系统。在任何一种情况下,都会对系统所有者产生直接的不利财务影响。RPT 可帮助预防这种情况的出现。
- 某些缺陷只有在负载下才会显现出来,例如内存泄漏。如果在程序中分配了内存,但在不再需要时不完全释放出来,则会发生内存泄漏。在负载下,系统将逐渐耗尽内存并出现故障。RPT 可以帮助检测并解决内存泄漏。
- 其他系统资源(例如数据库连接)也可能耗尽,类似地,也会导致系统发生故障。内存泄漏及其他资源耗尽问题通常在浸泡测试(又名稳定性测试)期间出现。浸泡测试指在较长的时间内进行的性能测试,通常持续几小时到几天。
- 性能测试对于未来容量规划很有用。即使系统在预期的负载水平下表现良好,了解在哪个负载水平下系统将最终发生故障也很有用,因此可以制定计划,随着使用量的增长而增加其容量。这是在压力测试中确定的,在压力测试中,将逐渐增加负载直到系统出现故障。
特性
Rational 性能测试系统包括以下特性:
- RPT 在 IBM 高度可扩展的集成开发环境 Eclipse 中加以实现。
- 与大多数其他性能测试工具一样,RPT 的工作方式是记录客户端与服务器之间的网络流量,并在测试期间在多个同步线程中重放此流量。
- RPT 主要用于基于网络的系统(互联网或内网),还涵盖其他协议,例如 Sockets 和 IBM3270。RPT 还允许具有必要技能的用户开发自己的插件来测试其他协议。
- RPT 在关联方面特别强大。关联是识别和存储由服务器发出的变量(例如会话 ID),并稍后在测试中重新使用它们的过程。关联失败会导致脚本因无效的会话 ID 或类似错误而失败。在 RPT 中,测试人员几乎不需要进行手动关联。在许多测试中,不需要手动关联。
- 脚本可表示为一系列图形对象(如屏幕截图中所示),每个图形对象代表脚本的一个步骤。用户修改通过更改相关对象的属性加以执行。这对于大多数情况来说已经足够,但是当需要更复杂的处理时,可以编写代码模块并从脚本中的对象调用该代码模块。这些代码模块使用 Java 进行编写。