Systematic Testing of Software Architectures in the C2 Style

The topic of software architecture (SA) based testing has recently raised some interest. Recent work on the topic has used the SA as a reference model for code conformance testing, to check if an implementation fulfills (conforms to) its specification at the SA level. In this context, on previous papers, we have analyzed: i) how suitable test cases can be ”selected” from the SA specification and ii) how they may be ”refined” into concrete tests executable at the code level. While the selection stage has been done systematically, the refinement step has been left to be done manually, based on the software engineer knowl- edge on how to map ”abstract values of the specification to the concrete values of the implementation”. In this paper, we extend previous approaches, by pro- viding a systematic way to perform the refinement step. We show how choos- ing a specific architectural style, which supports implementation and facilitates the mapping among SA-based and code-based test cases, a completely system- atic SA-based testing approach can be delivered.

[1]  Michal Young Testing Complex Architectural Conformance Relations , 1998 .

[2]  Peyman Oreizy,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[3]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[4]  Dolores R. Wallace,et al.  Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric , 1996 .

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

[6]  Jan Tretmans,et al.  Conformance Testing with Labelled Transition Systems: Implementation Relations and Test Generation , 1996, Comput. Networks ISDN Syst..

[7]  Richard N. Taylor,et al.  An infrastructure for the rapid development of XML-based architecture description languages , 2002, ICSE '02.

[8]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[9]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[10]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[11]  Richard H. Carver,et al.  Use of sequencing constraints for specification-based testing of concurrent programs , 1998 .

[12]  Flavio Oquendo,et al.  Software Architecture , 2004, Lecture Notes in Computer Science.

[13]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[14]  Thierry Jéron,et al.  Using On-The-Fly Verification Techniques for the Generation of test Suites , 1996, CAV.

[15]  Alexander Egyed,et al.  A scenario-driven approach to traceability , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  Alexandre Petrenko,et al.  Protocol testing: review of methods and relevance for software testing , 1994, ISSTA '94.

[17]  Marie-Claude Gaudel,et al.  Software testing based on formal specifications: a theory and a tool , 1991, Softw. Eng. J..

[18]  Henry Muccini,et al.  Formal Methods in Testing Software Architectures , 2003, SFM.

[19]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[20]  David Garlan,et al.  Rapid development of custom software architecture design environments , 1999 .

[21]  Nenad Medvidovic Formal Definition of the Chiron-2 Software Architectural Style , 1995 .

[22]  Henry Muccini,et al.  An explorative journey from architectural tests definition downto code tests execution , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[23]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

[24]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[25]  Henry Muccini,et al.  Software architecture-based regression testing , 2006, J. Syst. Softw..