Abstract
ContextMobile devices, such as smartphones, have increased their capacity of information processing and sensors have been aggregated to their hardware. Such sensors allow capturing information from the environment in which they are introduced. As a result, mobile applications that use the environment and user information to provide services or perform context-based actions are increasingly common. This type of application is known as context-aware application. While software testing is an expensive activity in general, testing context-aware applications is an even more expensive and challenging activity. Thus, efforts are needed to automate testing for context-aware applications, particularly in the scope of Android, which is currently the most used operating system by smartphones.ObjectiveThis paper aims to identify and discuss the state-of-the-art tools that allow the automation of testing Android context-aware applications.MethodIn order to do so, we carried out a systematic mapping study (SMS) to find out the studies in the existing literature that describe or present Android testing tools. The discovered tools were then analyzed to identify their potential in testing Android context-aware applications.ResultA total of 68 works and 80 tools were obtained as a result of the SMS. From the identified tools, five are context-aware Android application testing tools, and five are general Android application testing tools, but support the test of the context-aware feature.ConclusionAlthough context-aware application testing tools do exist, they do not support automatic generation or execution of test cases focusing on high-level contexts. Moreover, they do not support asynchronous context variations.
Highlights
Mobile applications have become more than entertainment stuff in our lives
The systematic mapping focused only on studies on Android testing tools, and we cannot say that the number of studies on Android testing has diminished
Research question (RQ) 1: What are the android testing tools published in the literature? From the 68 found studies presented in the “Results” section, we identified 80 tools (Table 4)
Summary
Mobile applications have become more than entertainment stuff in our lives. While mobile applications have been developed primarily for the entertainment industry, they are touching more critical sectors such as payment systems. It presents related work that addresses problems and solutions of concepts that touch the objective of this paper. Android applications are developed using the Java language, there is no Java virtual machine (JVM) in the Android operating system. Until before the Android 4.4 (KitKat), what existed was a virtual machine called Dalvik, which is optimized to run on mobile devices. As soon as the bytecode (.class) is compiled, it is converted to the .dex (Dalvik Executable) format, which represents the compiled Android application.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have