Selection criteria for stress and load testing SAP Solutions
Companies are constantly evolving their SAP® applications and business processes – launching new products and services, complying with regulations and industry standards, and applying technical changes introduced by support packs, enhancement packs and other vendor upgrades. As such, many customers are extending their SAP application capabilities and usage to new end-users by way of employee self services, web services and business analytics applications.
For each of these changes, you must not only assure that your business processes will continue uninterrupted, but that system performance will either improve or at least remain unaffected. Degradation in user response time can waste precious time and create frustration. Reduction in transaction throughput can impair overall operating efficiency throughout the entire enterprise and supply chain, even to the point of compromising system availability and stability. Most organizations today have service level agreements in place that define performance and availability requirements.
The only way to uncover performance issues before they disrupt operations is to test the system under conditions that reproduce or simulate production. This is not a trivial task and to date, these tools have introduced issues of their own.
This white paper provides an overview of the challenges surrounding performance testing and explains the ideal selection criteria to assure these are satisfied.
Define Performance, Load and Stress Testing?
Although often used interchangeably, these are actually three different concepts. Performance testing is the process of measuring and tuning the system’s user response time and transaction throughput under normal load conditions. Load testing is the introduction of varying levels and profiles of demand to pinpoint potential bottlenecks. Stress testing is the application of extreme demand to uncover breaking points and observe the system’s ability to handle failure.
However, for purposes of this paper, these terms will be referred to collectively as “performance testing”. So, why should you be so concerned with performance testing your SAP application? Here’s why:
- Before going “live”, you need to test the behavior of the SAP application under real-world workload scenarios. This becomes even more critical as the set of SAP applications becomes exposed to a broader population of employees, partners, and customers.
- You need to uncover performance issues that will only surface when a realistic and adequate workload is placed on the application.
- You need to understand the capacity of the application – its limits and thresholds.
- You may need to fine tune the application and its underlying infrastructure based on these performance characteristics (e.g. hardware, storage, etc.).
The inability to achieve expected user response times and business transaction throughput can arise from any number of factors. These factors include inaccurate volume/sizing estimates, undefined operational profiles, poorly written custom transactions, an un-tuned database, mis-configured SAP landscape, inaccurate hardware sizing, and so forth.
Employing repeatable performance testing up front can proactively diagnose and eliminate these problems, avoiding the fire-drill associated with poor performance, system incompatibilities or complex business process reengineering near or into production.
The earliest performance testing techniques were brute force: end users would be conscripted for nights or weekends to conduct activities on the system while measurements were taken, often with stopwatches. This approach was costly and inefficient but plausible in an age when systems were monolithic and limited to internal users. But the emergence of distributed applications and services for customers, employees and suppliers exploded the potential limit of demand and posed new challenges for performance testing.
Tools began to emerge that could simulate user load and measure response time and other indicators of performance automatically. While powerful, these tools brought an additional set of challenges. They relied on cryptic scripting languages that required costly, specialized skills to use and consumed excess time and effort to implement and maintain. They also failed to provide the information necessary to not just measure but also diagnose and correct problems, often requiring even more tools to monitor key indicators.
Further, these tools were disconnected from the test processes and tools already employed for functional validation, adding yet another layer of technology, time and effort. Their highly technical nature excluded the business process experts and end user stakeholders, and the additional time required to develop and debug complex scripts placed additional stress on already compressed project timelines.
As a result, performance testing processes and tools are not as widely adopted and effective as they should be.
Selection Criteria for Performance Testing Your SAP Applications
Performance test tools are not new to SAP, whether through the SAP GUI client or via its various web interfaces, but for reasons discussed above they have not met the need for time and cost efficiency or effectiveness. A new approach is needed that addresses the shortcomings in traditional tools. The ideal solution should offer:
No coding: Most companies buy SAP or other packaged applications because they do not want to develop or maintain custom code. Requiring exactly that during the test phase defies logic and is ultimately not supportable. It must be possible to create usage profiles and load without writing custom code.
Integrated data: Data is the driving factor in virtually every business process or transaction, and it is a crucial element in proper performance test design. Tools that rely on externally developed spreadsheets are both unwieldy and unreliable. Exploiting the system’s own data design and dependencies, instead of trying to recreate them, is key to making performance testing work.
User accessible: The business experts who define and design the business processes should be able to fully participate in performance testing without having to engage with specialized coders. Injecting additional resources and skills into the mix adds time and costs while reducing effectiveness. Performance testing solutions must be usable by application users versus specialized resources.
Rapid results: Performance testing, of necessity, typically occurs at the latest stage of the project when schedules are most pressured. Introducing new tools with steep learning and implementation curves only serves to delay and divert resources. Performance testing tools should leverage existing business processes, transactions and data to minimize extra time and effort.
Meaningful measurements: The entire goal of performance testing is to acquire information that will uncover issues and point to solutions. Tools that produce attractive but generic reports or depend on yet another suite of monitoring tools fail to serve this goal. Performance testing tools must deliver actionable information, not just data.
New Approach with Worksoft Certify Performance Test™
Worksoft Certify Performance Test offers a new approach that meets these criteria.
For performance testing core SAP applications, Certify Performance Test is built within the SAP landscape so that it is instantly familiar to users, allowing them to build a performance test without writing a single line of code. This method uses common business processes and transactional models to organize the tests. It automatically creates data dependencies and leverages existing SAP data sources between business transactions without the need to create any external data spreadsheets or perform any programming activities. For testing SAP business processes that utilize web interfaces, Certify Performance Test extends Worksoft’s non-programming philosophy and leverages a familiar browser based interface. This method captures, organizes and manages the performance scenario-again based on business process and transaction approach.
During the performance test, key performance metrics are displayed based on existing CCMS , SAP® Solution Manager or web data points, negating the need to configure yet another set of monitoring solutions. Client-side metrics, such as web page response times, transaction throughput and transaction response codes are captured in an easy to understand document. The right information is presented, not just data.
Worksoft Certify Performance Test can simulate hundreds or even thousands of users, allowing you to accurately measure the impact on system performance and functionality using 75% less time and resources than traditional solutions.
How Does it Work?
As illustrated in the diagram below, the Worksoft Certify Performance Test process is fairly straightforward. For stress and load testing SAP GUI based applications, Certify Performance Test is embedded into the SAP landscape. For performance testing web-based applications, the user interface is driven via a web browser interface. In either case, the business users can simply capture the production business transactions using the interface that they are familiar with.
Using standard SAP GUI or web-based interfaces, users can then organize the captured business transactions into hierarchical lists of business processes. These business processes are linked together and are managed under the construct of “project” to model real-life usage. Business processes can then be quickly validated by simply executing the mode and viewing the resultant screens.
As necessary, data dependencies that flow between transactions within a business process are automatically mapped out. For example, a Sales Order that must be generated in order for billing to proceed. In addition, all the necessary data required by the business process can be adjusted by a simple click of a button – specifying whether the system should automatically generate unique values, time related data, or to select data from an existing SAP table. All of these capabilities are provided by Certify Performance Test with no coding or scripting.
End-user administration including user id and password generation, security domains, and user types are all automatically managed. Unlike traditional solutions, Worksoft Certify Performance Test can even simulate external interfaces from third-party applications via RFC, BAPI®, iDocs or file transfers using a similar approach.
Using a typical “day in the life” profile, all of the necessary business processes are then scheduled, managed and directed by Certify Performance Test using agents to simulate real user load via SAP GUI or web browser interfaces. Performance testing progress is displayed in real-time to ensure a successful performance run.
After completion, detailed test results are captured and stored, including key metrics such as end user response time, number of dialog steps processed, web throughput and transaction response times and so forth. Historical data allows you to compare different runs to ensure that any tuning efforts are having a positive impact to the business.
It is important for every company to understand the real objective of performance testing – ensuring that there is sufficient SAP application performance, scalability and stability available for the end users to perform their daily business functions efficiently.
Compared to traditional performance testing solutions, Worksoft Certify Performance Test delivers a time and cost effective solution with:
- A familiar user interface that is built within the native SAP landscapes
- A native web browser interface for testing SAP and non-SAP HTML-based applications
- No coding, scripting or programming required
- Automatic test data management and integration
- Monitoring based on existing CCMS, SAP Solution Manager and other web data
- Fewer resources, less training and less time