Specification-Based Unit Testing of Publish/Subscribe Applications

Testing remains the most applied verification method for software systems. Typically, the behavior of such systems is evaluated against their informal or formal specifications. In this paper, we consider an architecture-driven approach to software testing. We support the argument that, in many cases, the difficulties in testing can be alleviated by optimizing the test methodology to leverage the architecture of the application under test. To support this claim, we present a test framework for publish/subscribe applications. This paper evaluates our initial steps in this regard. We focus on the design of our framework, and illustrate how to accomplish unit testing of publish/subscribe applications against LTL specifications, considering a real-world application as example.

[1]  André van der Hoek,et al.  Palantir: raising awareness among configuration management workspaces , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[3]  Felix C. Freiling,et al.  A modular approach to build structured event-based systems , 2002, SAC '02.

[4]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[5]  Sebastián Uchitel,et al.  Fluent temporal logic for discrete-time event-based models , 2005, ESEC/FSE-13.

[6]  Sarfraz Khurshid,et al.  Korat: automated testing based on Java predicates , 2002, ISSTA '02.

[7]  Gary T. Leavens,et al.  The JML and JUnit Way of Unit Testing and its Implementation , 2004 .

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

[9]  Harald C. Gall,et al.  A systematic approach to the development of event based applications , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[10]  Luciano Baresi,et al.  Modeling and Validation of Publish/Subscribe Architectures , 2005 .

[11]  David Garlan,et al.  Model Checking Publish-Subscribe Systems , 2003, SPIN.

[12]  David Garlan,et al.  Reasoning about implicit invocation , 1998, SIGSOFT '98/FSE-6.

[13]  MeyerBertrand,et al.  Design by Contract , 1997 .

[14]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[15]  Marieke Huisman,et al.  Extending JML Specifications with Temporal Logic , 2002, AMAST.

[16]  Lydie du Bousquet,et al.  Filtering TOBIAS Combinatorial Test Suites , 2004, FASE.

[17]  Jürgen Dingel,et al.  Implementation and verification of implicit-invocation systems using source transformation , 2005, Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05).

[18]  Jürgen Dingel,et al.  Automating comprehensive safety analysis of concurrent programs using verisoft and TXL , 2004, SIGSOFT '04/FSE-12.