2015-02: Testing Life Cycle-related Properties of Mobile Applications
The following technical report is available from http://aib.informatik.rwth-aachen.de: Testing Life Cycle-related Properties of Mobile Applications Dominik Franke AIB 2015-02 With an increasing number of mobile devices like smartphones and tablets, their relevance to users and growing number of available applications, also their field of application widens. For the software quality of mobile applications, the application life cycle - the process-related states and state transitions - plays an important role. Today's mobile platforms, like Android, iOS and Windows Phone, have specific scheduling policies on application level to ensure the reactiveness of an application, targeting an improved responsiveness and a good user experience. Depending on the life cycle state of an application, it is allowed or restricted to access resources like RAM and CPU. Such policies can lead to data loss and unexpected behavior of the mobile application. This work presents a conceptual approach for testing application properties which are related to life cycle state changes, so called life cycle-related properties. The first step consists of reverse engineering the life cycles of mobile applications. These life cycles are used as a basis for testing life cycle-related properties at state changes. The testing approach uses callback-mechanisms of the underlying mobile platforms to check assertions about life cycle-related properties. It handles application components with an own life cycle as units and tests each unit in a unit-based testing approach. In a case study, the conceptual approach is implemented for the mobile platform Android. One of the results of the case study is the AndroLIFT tool for testing life cycle-related properties of Android applications. The evaluation of this work presents the capabilities and limitations of the conceptual approach. While the approach is well-suited for today's mobile platforms, extensible and scalable with respect to the type and number of life cycle-properties, it mainly depends on the callback-mechanism of the underlying mobile platform. The evaluation of the AndroLIFT tool in the context of a practical course with student participants confirms the value of the Android implementation of the presented approach to test life cycle-related properties of Android applications.
participants (1)
-
Thomas Ströder