Traffic-aware stress testing of distributed real-time systems based on UML models using genetic algorithms

  • Authors:
  • Vahid Garousi;Lionel C. Briand;Yvan Labiche

  • Affiliations:
  • University of Calgary, Department of Electrical and Computer Engineering, Software Engineering Research Group, 2500 University Drive N.W. Calgary, AB T2N 1N4, Canada;Simula Research Laboratory, Department of Software Engineering, Martin Linges v 17, Fornebu, P.O. Box 134, 1325 Lysaker, Norway;Carleton University, Department of Systems and Computer Engineering, Software Quality Engineering Laboratory, 1125 Colonel By Drive, Ottawa, ON, Canada K1S5B6

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a model-driven, stress test methodology aimed at increasing chances of discovering faults related to network traffic in distributed real-time systems (DRTS). 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. The technique considers different types of arrival patterns (e.g., periodic) for real-time events (common to DRTSs), and generates test requirements which comply with such timing constraints. Though different variants of our stress testing technique already exist (that stress different aspects of a distributed system), they share a large amount of common concepts and we therefore focus here on one variant that is designed to stress test the system at a time instant when data traffic on a network is maximal. Our technique uses genetic algorithms to find test requirements which lead to maximum possible traffic-aware stress in a system under test. Using a real-world DRTS specification, we design and implement a prototype DRTS 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.