Deriving tests from software architectures

Software architectures are intended to describe essential high level structural and behavioral characteristics of a system. Architecture Description Languages (ADLs) describe these characteristics in ways that can be analyzed and manipulated algorithmically. This provides a unique opportunity for deriving tests at the system level. The paper defines formal testing criteria based on architecture relations, which are paths that architectural components use to communicate. The criteria have been applied to a specific ADL. Results from a comparative empirical study on industrial software are presented.

[1]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[2]  Alexander L. Wolf,et al.  Software testing at the architectural level , 1996, ISAW '96.

[3]  Barry Boehm,et al.  Composing Components: How Does One Detect Potential Architectural Mismatches? , 1998 .

[4]  Robert J. Allen A formal approach to software architecture , 1997 .

[5]  A. Jefferson Offutt,et al.  A software architecture-based testing technique , 2001 .

[6]  David S. Rosenblum Adequate Testing of Component-Based Software , 1997 .

[7]  David Garlan,et al.  Beyond Definition/Use: Architectural Interconnection , 1994, Workshop on Interface Definition Languages.

[8]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..

[9]  Sudipto Ghosh,et al.  Testing component-based distributed applications , 2000 .

[10]  A. Jefferson Offutt,et al.  Coupling‐based criteria for integration testing , 1998 .

[11]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[12]  A. Jefferson Offutt,et al.  Coupling-based Criteria for Integration Testing , 1998, Softw. Test. Verification Reliab..

[13]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[14]  Nenad Medvidovic,et al.  Domains of Concern in Software Architectures and Architecture Description Languages , 1997, DSL.

[15]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[16]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[17]  David S. Rosenblum Challenges in Exploiting Architectural Models for Software Testing , 1998 .

[18]  Grzegorz Rozenberg,et al.  Petri Nets: Basic Notions, Structure, Behaviour , 1986, Current Trends in Concurrency.