Ensuring the scalability of complex applications using Rational Performance Test tool in Performance Test Automation
In this IT market, we have “N” no of tools w.r.t Commercial tools (Loadrunner, Rational Performance Tester…) and Open Source tools (Grinder, OpenSTA…) to measure the performance and scalability of the Web based and desktop based applications. Also it is an open area for performance Test Engineer/Test Consultant to choose an appropriate performance testing tool to measure the performance and scalability of the application to detect and resolve bottlenecks in the application while considering Web Servers, Application Servers and Database Servers. In this paper, I have focused on primary objective of using commercial tool – Rational Performance Tester (RPT) for end to end activity on performance testing for Web based and desktop based applications.
IBM Rational Performance Tester (RPT) software is a performance test creation, execution and analysis tool for teams validate the scalability and reliability of their Web and enterprise resource planning (ERP) – based applications before deployment.
- RPT is a load and performance testing solution for concerned about the scalability of Web-based applications.
- Combining ease of use with deep analysis capabilities, RPT simplifies test creation, load generation, and data collection to help ensure that applications can scale to thousands of concurrent users.
- It combines a simple-to-use test recorder with advanced scheduling, real-time reporting, automated data variation and a highly scalable execution engine to help ensure that applications are prepared to handle large user loads.
Key Highlights on RPT tool:
- Creates code free tests quickly without programming knowledge
- Executes multiuser performance testing for Microsoft Windows, Linux, UNIX and mainframe environments with an available
- Windows and Linux software based user interface
- Supports load testing against a broad range of applications such as HTTP, SAP, Siebel, Entrust, Citrix and SOA/Web Services and Supports Windows, Linux and z/OS as distributed controller agents
- Rendered HTML view of Web pages visited during test recording
- Java code insertion for flexible test customization
- Reports in real time to enable immediate recognition of performance problems and renders an HTML browser-like view of Web pages in the test
- Enables Windows, Linux and mainframe technology – based test execution
- Provides a rich, tree-based test editor that delivers both high level and detailed views of tests
- Collection and visualization of server resource data
- Automates identification and management of dynamic server responses
- Automates test data variation – Data substitution with data pools
- High extensibility with Java coding: custom coding should be supported in a well known standard language that is platform independent and widely available. Java makes an ideal choice for any tool’s extensibility language
- Built-in Verification Points (VPs)
- Collects and integrates server resource data with real-time application performance data
- A low memory and processor footprint that enables large, multi-user tests with limited hardware resources
- Accurately emulates large population user transactions with minimal hardware
- Runs large scale performance tests to validate application scalability
- Provides no code testing, point and click wizards, report readability, usability and customization
- Delivers both high-level and detailed views of tests with a rich, tree-based text editor
- Enables large, multi-user tests with minimal hardware resources
- Windows and Linux-based user interface and test execution agents
- Graphical test editing and workload modeling
- Offers flexible modeling and emulation of diverse user populations
- Real-time monitoring and reporting
- Report customization and export capability
- Programming extensibility with Java custom code
- Real-time reporting for immediate performance problem identification with the presence and cause of application performance bottlenecks
- Diagnoses the root cause of performance bottlenecks by quickly identifying slow performing lines of code and integrates with Tivoli composite application management solutions to identify the source of production performance problems
- Leverage existing assets for load and performance testing
Advantage of RPT:
High productivity with no programming: Basic skills required to use a performance testing tool should only include knowledge of how to schedule and scale the user scenarios and where to put in the data variation for the application being tested.
Rapid adoption: Rational Performance Tester contains features explicitly designed to enable you to quickly build, execute and analyze the impact of load on your application environment.
Robust analysis and reporting: Individual page or screen response times can be decomposed into response times for individual page elements (for example, JPGs, Java Server Pages, Active Server Pages), which helps testers identify the elements responsible for poor page or screen response time.
- And the ability to insert custom Java™ code that can be executed at any point during test execution supplements automated data correlation and data generation capabilities. This capability permits advanced data manipulation and diagnostic techniques.
- During test execution, system resource information such as CPU and memory utilization statistics can be collected from remote servers and correlated with response time and throughput data.
- Collected resource data is crucial for diagnosing which remote system—router, Web server, application server, database server, etc.—is responsible for detected delays, as well as for pinpointing the component (for example, CPU, RAM, disk) that is causing the bottleneck.
Lowered cost of performance testing: RPT generates a low processor and memory footprint when emulating multiple users. As a result, high levels of scalability can be achieved even if the team does not have access to excessive computing power. In addition, test execution and system information retrieval can occur on Microsoft Windows, UNIX and Linux software based machines, optimizing a team’s usage of existing hardware resources. It provides automation support for essentially all aspects of software development.
Customized reporting with all classes of data: the number of data points has moved from 100,000 to 100 million individual measurements, a design imperative is to reduce the data in real time during the test in a distributed fashion. This principle is coupled with the increased complexity of the tested system architectures yield a need to have complete flexibility in reporting and correlating a variety of data sources.
In this paper, have discussed about need for using Rational Performance Test tool (RPT) in performance testing with sufficient key important advantage of this tool in addition to lot of factors like High productivity with no programming, Rapid adoption, Robust analysis and reporting, Lowered cost of performance testing and Customized reporting with all classes of data while using this tool. Once again it is an open area for performance Test Engineer/Test Consultant to choose an appropriate performance testing tool to measure the performance and scalability of the application to detect and resolve bottlenecks in the application while considering Web Servers, Application Servers and Database Servers.