Integration Testing of Context-sensitive Middleware-based Applications: a Metamorphic Approach

During the testing of context-sensitive middleware-based software, the middleware checks the current situation to invoke the appropriate functions of the applications. Since the middleware remains active and the situation may continue to evolve, however, the conclusion of some test cases may not easily be identified. Moreover, failures appearing in one situation may be superseded by subsequent correct outcomes and, therefore, be hidden. We alleviate the above problems by making use of a special kind of situation, which we call checkpoints, such that the middleware will not activate the functions under test. We recommend testers to generate test cases that start at a checkpoint and end at another. Testers may identify relations that associate different execution sequences of a test case. They then check the results of each test case to detect any contravention of such relations. We illustrate our technique with an example that shows how hidden failures can be detected. We also report the experimentation carried out on an RFID-based location-sensing application on top of a context-sensitive middleware.

[1]  Peng Wu,et al.  Iterative Metamorphic Testing , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[2]  Tsong Yueh Chen,et al.  A metamorphic approach to integration testing of context-sensitive middleware-based applications , 2005, Fifth International Conference on Quality Software (QSIC'05).

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

[4]  Stephen S. Yau,et al.  Development and runtime support for situation-aware application software in ubiquitous computing environments , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[5]  Yunhao Liu,et al.  LANDMARC: Indoor Location Sensing Using Active RFID , 2004, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

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

[7]  Nigel Davies,et al.  Evaluating a location-based application: a hybrid test and simulation environment , 2004, IEEE Pervasive Computing.

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

[9]  Juan Carlos Augusto,et al.  Towards context-aware testing for semantic interoperability on PvC environments , 2004, 2004 IEEE International Conference on Systems, Man and Cybernetics (IEEE Cat. No.04CH37583).

[10]  BylundMarkus,et al.  Testing and demonstrating context-aware services with Quake III Arena , 2002 .

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

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

[13]  Martin Klepal,et al.  A testbed for evaluating human interaction with ubiquitous computing environments , 2005, First International Conference on Testbeds and Research Infrastructures for the DEvelopment of NeTworks and COMmunities.

[14]  Einar Broch Johnsen,et al.  Toward Reflective Application Testing in Open Environments , 2004 .

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

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

[17]  Maria M. Klawe Making a difference through computing communities , 2002, CACM.

[18]  Trevor Darrell,et al.  MULTIMODAL INTERFACES THAT Flex, Adapt, and Persist , 2004 .

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

[20]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

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

[22]  Tsong Yueh Chen,et al.  Case studies on the selection of useful relations in metamorphic testing , 2004 .

[23]  Fredrik Espinoza,et al.  Testing and demonstrating context-aware services with Quake III Arena , 2002, CACM.

[24]  Shing-Chi Cheung,et al.  Inconsistency detection and resolution for context-aware middleware support , 2005, ESEC/FSE-13.

[25]  Stephen S. Yau,et al.  Testing context-sensitive middleware-based software applications , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[26]  Ichiro Satoh,et al.  A Testing Framework for Mobile Computing Software , 2003, IEEE Trans. Software Eng..

[27]  Felix T.S. Chan,et al.  Application of metamorphic testing in numerical analysis , 1998, ICSE 1998.