Automated Input Generation Techniques for Testing Android Applications




Mirzaei Alvari, Nariman Mirzaei

Journal Title

Journal ISSN

Volume Title



The rising popularity of Android and the GUI-driven nature of its apps have motivated the need for applicable automated testing techniques. This dissertation describes two automatic techniques for generating inputs for testing Android applications, SIG-Droid and TrimDroid. Both presented techniques employ a model-based approach to capture the event-driven nature of Android applications into two inferred models : Interface Model and Activity Transition Model. The Interface Model is used to find values that an app can receive through its interfaces. The Activity Transition Model is used to generate sequences of events that resemble user interactions with the app. SIG-Droid uses symbolic execution for obtaining test inputs that ensure covering each reachable branch in the program, while TrimDroid focuses on reducing the combinatorics (i.e. dealing with combinatorial explosion of test cases) in combinatorial testing of Android apps. TrimDroid relies on pro- gram analysis to extract formal specifications that express the dependencies between the GUI elements. The dependencies among the GUI elements comprising the app are used to reduce the number of combinations with the help of a solver. All conducted experiments corroborate the effectiveness and efficiency of SIG-Droid and TrimDroid.



Computer science, Android, Combinatorial Testing, Input Generation, Software engineering, Software Testing, Symbolic Execution