Early Performance Testing of Distributed Software Applications

Giovanni Denaro
Dip. di Informatica, Sistemistica e Communicazione
Universita di Milano Bicocca
I-20126 Milano, Italy

Andrea Polini
ISTI-CNR
Via Moruzzi 1
I-56124 Pisa, Italy

Wolfgang Emmerich
Dept. of Computer Science
University College London
Dept. of Computer Science
Gower Street, London, WC1E 6BT UK

Abstract:
Performance characteristics, such as response time, throughput and scalability, are key quality attributes of distributed applications. Current practice, however, rarely applies systematic techniques to evaluate performance characteristics. We argue that evaluation of performance is particularly crucial in early development stages, when important architectural choices are made. At first glance, this contradicts the use of testing techniques, which are usually applied towards the end of a project. In this paper, we assume that many distributed systems are built with middleware technologies, such as the Java~2 Enterprise Edition (J2EE) or the Common Object Request Broker Architecture (CORBA). These provide services and facilities whose implementations are available when architectures are defined. We also note that it is the middleware functionality, such as transaction and persistence services, remote communication primitives and threading policy primitives, that dominate distributed system performance. Drawing on these observations, this paper presents a novel approach to performance testing of distributed applications. We propose to derive application-specific test cases from architecture designs so that performance of a distributed application can be tested using the middleware software at early stages of a development process. We report empirical results that support the viability of the approach.


[ Home ] [ Profile ] [ Research ] [ Selected Publications ]


Updated on: 14/10/2003
Wolfgang Emmerich