A transformation-based approach to testing concurrent programs using UML activity diagrams

Chang ai Sun, Yan Zhao, Lin Pan, Xiao He, Dave Towey

Research output: Journal PublicationArticlepeer-review

9 Citations (Scopus)
20 Downloads (Pure)

Abstract

Unified Modeling Language (UML) activity diagrams are widely used to model concurrent interaction among multiple objects. In this paper, we propose a transformation-based approach to generating scenario-oriented test cases for applications modeled by UML activity diagrams. Using a set of transformation rules, the proposed approach first transforms a UML activity diagram specification into an intermediate representation, from which it then constructs test scenarios with respect to the given concurrency coverage criteria. The approach then finally derives a set of test cases for the constructed test scenarios. The approach resolves the difficulties associated with fork and join concurrency in the UML activity diagram and enables control over the number of the resulting test cases. We further implemented a tool to automate the proposed approach and studied its feasibility and effectiveness using a case study. Experimental results show that the approach can generate test cases on demand to satisfy a given concurrency coverage criterion and can detect up to 76.5% of seeded faults when a weak coverage criterion is used. With the approach, testers can not only schedule the software test process earlier, but can also better allocate the testing resources for testing concurrent applications.

Original languageEnglish
Pages (from-to)551-576
Number of pages26
JournalSoftware - Practice and Experience
Volume46
Issue number4
DOIs
Publication statusPublished - 1 Apr 2016

Keywords

  • UML activity diagrams
  • concurrent programs
  • scenario-oriented testing
  • software testing

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'A transformation-based approach to testing concurrent programs using UML activity diagrams'. Together they form a unique fingerprint.

Cite this