ProSa Load Testing
Customer: ProSiebenSat.1 Media AG
Technologies and Tools: Java, Rational TestManager
Workload: 3 man/months
ProSa is one of products of ProSiebenSat.1. It is intended for selling of advertising time. This product fits all companies that deal with advertising marketing (sell advertising time): either publish any content (TV/radio-stations, website-providers, publishing houses, etc.), or distribute the content (cable TV/Internet-providers, etc.).
ProSa is a client-server application developed on EJB-technology. Server is intended to be used by 200 clients simultaneously. So, after finishing first phases of server implementation our customer wanted to check if the server met that requirement.
ProSa client is a graphical frame developed in Java with use of Swing. So we proposed to develop special test clients for purposes of load testing. Those test clients directly accessed interface functions of the server, bypassing GUI. Rational TestManager had been selected as a tool for load testing.
A client, which tested functions for processing advertising blocks (particularly, creation and removal), has been developed. Tests provided synchronization points that allowed simultaneous requests to servers from a great amount of clients. In order to modify client's behavior it accepted some parameters (e.g. number of ad-blocks added at a time, necessity of synchronization with other client, and ProSa-specific information that was necessary to create query). Transfer of test parameters and synchronization was performed by the means of the testing tool (Rational TestManager).
We've developed several test scenarios which emulated server load in different production modes, as well as ultimate load. As a result of testing the following parameters of the server under tests have been detected: request execution time/server load relation; utmost server load. According to the results we made some proposals on server optimization.