Traffic-aware stress testing of distributed systems based on UML models

Vahid Garousi, Lionel C. Briand, Yvan Labiche
2006 Proceeding of the 28th international conference on Software engineering - ICSE '06  
A stress test methodology aimed at increasing chances of discovering faults related to network traffic in distributed systems is presented. The technique uses the UML 2.0 model of the distributed system under test, augmented with timing information and is based on an analysis of the control flow in sequence diagrams. It yields stress test requirements that are made of specific control flow paths along with time values indicating when to trigger them. Different variants of our stress testing
more » ... stress testing technique already exist (they stress different aspects of a distributed system) and we focus here on one variant that is designed to identify and to stress test the system at the instant when data traffic on a network is maximal. Using a real-world distributed system specification, we design and implement a prototype distributed system and describe, for that particular system, how the stress test cases are derived and executed using our methodology. The stress test results indicate that the technique is significantly more effective at detecting network traffic-related faults when compared to test cases based on an operational profile. Distributed nodes of a DS regularly need to communicate with each other to perform system functionality. Network communications are not always successful and on time as problems such as congestion, transmission errors, or delays might occur. On the other hand, many real-time and safety-critical systems have hard deadlines for many of their operations, where if the deadlines are not met, serious or even catastrophic consequences will happen. Furthermore, a DS might behave well with normal network traffic loads (e.g., in terms of amount of data, number of requests), but the communication might turn out to be poor and unreliable if many network messages or high loads of data are concurrently transmitted over a particular network or towards a particular node. Since 1997, UML has become the de facto standard for modeling object-oriented software for nearly 70 percent of IT industry [26] . The new version of UML, version 2.0 [23] offers an improved modeling language compared to UML 1.x versions. Some of the high level improvements are: enhanced architecture modeling, extensibility, support for component-based development, modeling of relationships and model management [26] . As we expect UML to be increasingly used for D S, it is therefore important to develop automatable UML model-driven, stress test 2
doi:10.1145/1134285.1134340 dblp:conf/icse/GarousiBL06 fatcat:ndvnzd7punhp5f52ealrsy2fqy