Testing context-sensitive middleware-based software applications

Context-sensitive middleware-based software is an emerging kind of ubiquitous computing application. The components of such software communicate proactively among themselves according to the situational attributes of their environments, known as the "contexts". The actual process of accessing and updating the contexts lies with the middleware. The latter invokes the relevant local and remote operations whenever any context inscribed in the situation-aware interface is satisfied. Since the applications operate in a highly dynamic environment, the testing of context-sensitive software is challenging. Metamorphic testing is a property-based testing strategy. It recommends that, even if a test case does not reveal any failure, follow-up test cases should be further constructed from the original to check whether the software satisfies some necessary conditions of the problem to be implemented. This work proposes to use isotropic properties of contexts as metamorphic relations for testing context-sensitive software. For instance, distinct points on the same isotropic curve of contexts would entail comparable responses by the components. This notion of testing context relations is novel, robust, and intuitive to users.

[1]  Franco Zambonelli,et al.  Developing multiagent systems: The Gaia methodology , 2003, TSEM.

[2]  Gregory D. Abowd,et al.  Charting past, present, and future research in ubiquitous computing , 2000, TCHI.

[3]  Tobin J. Lehman,et al.  T Spaces : The Next Wave , 2004 .

[4]  Context-Aware Computing,et al.  Reconfigurable Context- Sensitive Middleware for Pervasive Computing , 2002 .

[5]  Tsong Yueh Chen,et al.  Fault-based testing without the need of oracles , 2003, Inf. Softw. Technol..

[6]  Tobin J. Lehman,et al.  T Spaces , 1998, IBM Syst. J..

[7]  Mark Weiser,et al.  Some computer science issues in ubiquitous computing , 1993, CACM.

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

[9]  Tsong Yueh Chen,et al.  Metamorphic testing of programs on partial differential equations: a case study , 2002, Proceedings 26th Annual International Computer Software and Applications.

[10]  Thomas Ziegert,et al.  Integrating context information into enterprise applications for the mobile workforce - a case study , 2001, WMC '01.

[11]  Roy H. Campbell,et al.  An application of a context-aware file system , 2003, Personal and Ubiquitous Computing.

[12]  Amy L. Murphy,et al.  LIME: Linda meets mobility , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[13]  Alvin T. S. Chan,et al.  MobiPADS: A Reflective Middleware for Context-Aware Mobile Computing , 2003, IEEE Trans. Software Eng..

[14]  David Yoon,et al.  A Smart Classroom For Enhancing Collaborative Learning Using Pervasive Computing Technology , 2003 .

[15]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

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

[17]  Kuo-Chung Tai,et al.  Automated test sequence generation using sequencing constraints for concurrent programs , 1999, 1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[18]  Jan Madey,et al.  The Z notation: A reference manual , 1990 .

[19]  Elaine J. Weyuker,et al.  On Testing Non-Testable Programs , 1982, Comput. J..

[20]  Stephen S. Yau,et al.  An Adaptive Middleware for Context-Sensitive Communications for Real-Time Applications in Ubiquitous Computing Environments , 2004, Real-Time Systems.

[21]  Cecilia Mascolo,et al.  XMIDDLE: A Data-Sharing Middleware for Mobile Computing , 2002, Wirel. Pers. Commun..

[22]  Arnaud Gotlieb,et al.  Automated metamorphic testing , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[23]  Tsong Yueh Chen,et al.  Semi-proving: an integrated method based on global symbolic evaluation and metamorphic testing , 2002, ISSTA '02.

[24]  Stephen S. Yau,et al.  Situation-aware contract specification language for middleware for ubiquitous computing , 2003, The Ninth IEEE Workshop on Future Trends of Distributed Computing Systems, 2003. FTDCS 2003. Proceedings..

[25]  Harriet J. Nock,et al.  Multimodal processing by finding common cause , 2004, CACM.

[26]  Mads Haahr,et al.  Supporting CORBA applications in a mobile environment , 1999, MobiCom.

[27]  Paolo Bellavista,et al.  Context-Aware Middleware for Resource Management in the Wireless Internet , 2003, IEEE Trans. Software Eng..

[28]  Peter Tarasewich,et al.  Designing mobile commerce applications , 2003, CACM.

[29]  Stephen S. Yau,et al.  Development of situation-aware application software for ubiquitous computing environments , 2002, Proceedings 26th Annual International Computer Software and Applications.

[30]  Peter Tandler,et al.  The BEACH application model and software framework for synchronous collaboration in ubiquitous computing environments , 2004, J. Syst. Softw..

[31]  Paul G. Bahn Charting the past , 2004, Nature.

[32]  Franco Zambonelli,et al.  Engineering mobile-agent applications via context-dependent coordination , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[33]  Sandeep K. S. Gupta,et al.  Smart classroom: Enhancing collaborative learning using pervasive computing technology , 2003 .

[34]  Elaine J. Weyuker,et al.  A simplified domain-testing strategy , 1994, TSEM.

[35]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[36]  Stephen S. Yau,et al.  Context-sensitive distributed software development for ubiquitous computing environments , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.