ABSTRACT

This chapter presents the challenges in testing context-aware applications, and surveys the recently reported testing techniques for such applications. It details the available tools and support for testing context-aware applications. Context-awareness allows computing entities to intelligently choose resources and provide customized services to the end-users. Computing entities in a software application are context-aware if they can sense and adapt their behavior in response to changes in their surrounding physical and logical environment attributes. Software testing is the well-known approach for assuring high-quality software products, with the aim of detecting as many faults as possible before shipping the product to the customers. Software testing for context-aware applications suffers from both the test adequacy problem and the test oracle problem in pervasive environment. Models for context-aware systems define and describe the contexts, and how contexts are created and used for adaptation in an application.