Features

Home > Product > Features
CloudPuncher is an innovative platform for conducting Load and Performance tests of web sites and web-based applications using a Cloud Computing infrastructure. Your website or an online application can have multiple workflows for different types of visitors, guests, registered or power users, administrators, etc. Using the CloudPuncher service you can record any number of workflows simply by navigating through your site or application, configure how virtual clients would be allocated for each of the recorded workflow and run your test scenario directly from the cloud. CloudPuncher automatically allocates required hardware and configures the client application to execute your test. The service includes a monitoring component capable to instrument various elements of your server-side application including but not limited to operating system resources (both for Windows and Linux), web servers, databases, Java application servers and RIA remoting/messaging gateways. As a result, while a test is running you can monitor the performance of your servers and get a real-time report about any errors or bottlenecks caused by traffic created by CloudPuncher.

Test recording

The first step in creating a stress test is recording a test. To record a test, you simply navigate through the site or application which will be tested. CloudPuncher provides a tool called AppPuncher which records all the communication between the browser and the server. This includes requests for static pages, stylesheets, javascript files as well as form submissions and AJAX requests. AppPuncher can also record client/server interaction between applications using Flex, Flash or Silverlight components (or is entirely built with any of these technologies), AppPuncher will be able to intercept those requests as well. Once a test is recorded, it can be synchronized with your CloudPuncher account.

Rich client support (Flex, Silverlight, AJAX)

Rich Internet Applications (RIAs) add a new dimension of complexity when it comes to stress and performance testing. RIAs use more advanced forms of client/server communications than traditional web application. This is required to enable richness and interactivity the RIAs provide. CloudPuncher includes rich support for recording and replaying user sessions originated from RIAs developed with Flash, Flex and Silverlight. The product supports a sophisticated system of value substitution during stress tests thus allowing simulation of real-world high volume traffic. Additionally, CloudPuncher provides monitors for most popular RIA servers including Adobe LiveCycle DS, Adobe BlazeDS and Midnight Coders WebORB. The monitors can instrument the performance of the servers during a stress test.

Test randomization

Replaying a recorded test will execute all the requests in their original form. This approach is not practical for a realistic stress test as in a real-world scenario users would not be working with the same data in an application. CloudPuncher supports randomization of the requests through configurable data 'catalogs'. A catalog can be created based on the data obtained during the execution of a test or using static data sources (files, database queries, etc).

Monitoring

Application monitoring during a stress test enables testers and developers to diagnose problems and bottlenecks before they are discovered by an increased traffic of real-world users. Monitoring can pin point spikes in resource utilization on the server-side. CloudPuncher not only provides several thousand monitors out of the box, but also supports user-defined monitors. While a stress test is running, server monitors periodically submit collected data which is superimposed the data collected from the client-side.

Multiple workflow support

CloudPuncher can execute a stress test consisting of multiple workflows. A workflow is a path a user goes through on a website or online application. Typically sites and applications have multiple workflows – guests, registered users, administrators will be going through different paths. A realistic stress test should mix multiple workflows to measure true performance of the system. When you configure a stress test, you can use the intuitive interface of the CloudPuncher scenario builder to specify the percentage of workflow instances in a test. For example, 80% should be guest users, 10% registered users and 10% administrators.

Custom client allocation

Conducting a stress test can be as simple as launching a large number of clients accessing your application. However a realistic stress test should represent a real-world scenario of users navigating through your website or using your online application. As a result, it is important to structure a test where the allocation of new users/clients follows a real-world pattern or one which could identify potential performance problems in the application. CloudPuncher scenario builder provides several options for configuring multiple client allocation policies including incremental ramp-up of concurrent users, intervals of high/low number of user or a completely custom, user-defined policy.

Unlimited client support

CloudPuncher architecture leverages the power and elasticity of cloud computing infrastructure and supports stress tests with virtually unlimited number of concurrent clients. CloudPuncher stress tests can be designed to incrementally increase the number of concurrent clients until a configurable error condition takes place. This includes response time increasing specified value or the number of errors reported by the server. This approach can determine the number of concurrent clients your system can support whether it is in the hundreds or millions.

Multiple browser support

Traditional web sites and online applications may have different strategies for rendering content or the application itself depending on the type of browser or the device accessing them. For instance, an application can be rendered very differently in iPhone web browser than in Internet Explorer. As a result, it may be important for a stress test to have multiple representations of browser types. CloudPuncher recognizes that need and provides a way to customize the breakdown between different types of browsers participating in a test.