Generating test data for distributed software using the chaining approach

  • Authors:
  • Roger Ferguson;Bogdan Korel

  • Affiliations:
  • Department of Computer Science, Lawrence Technological University, 21000 West Ten Mile Road, Southfield, MI 48075-1058, USA;Department of Computer Science, Illinois Institute of Technology, 10 West 31st Street, Chicago, IL 60616, USA

  • Venue:
  • Information and Software Technology
  • Year:
  • 1996

Quantified Score

Hi-index 0.01

Visualization

Abstract

Software testing is very labour-intensive and expensive, and accounts for a significant proportion of software system development cost. If the testing process could be automated, the cost of developing software could be significantly reduced. Currently, most of the existing test data generators are for sequential programs. One of the major problems in dynamic testing of distributed software is reproducible program execution. Distributed programs often make non-deterministic selections of communications events, e.g. the select statement in Ada. Thus, a test case for the distributed program is defined as a set of input data plus a sequence of events that is used to resolve any non-deterministic choices that are possible during program execution. In this paper, we present a chaining approach for automated software test data generation for distributed software. This approach builds on current theory of existing execution-oriented test data generation. The goal is to find program input and a rendezvous sequence on which the selected statement is executed. The chaining approach uses program dependency analysis to identify statements that affect the execution of the selected statement. These statements are then used to guide the test data generation process. The experiments have shown that the chaining approach may significantly improve the chances of generating test data as compared to the existing methods.