An Android Applications Data Flow Testing Approach
DOI:
https://doi.org/10.64252/7gz9zh48Keywords:
Software testing, Android applications, mobile application testing, data flow testing, Android application data flow model, Android application testing techniques.Abstract
Motivation: Testing mobile applications is both critical and challenging. Conventional testing methods and tools often fail to address the particular requirements of mobile applications. Effective testing is essential because application failures can lead to expensive consequences. Problem Statement: Traditional data flow testing (DFT) techniques are designed for conventional programs and do not account for the structural and behavioral differences inherent in Android applications. As a result, there is a lack of specialized DFT methods tailored for Android applications. Proposed Approach: This paper presents a novel approach to DFT specifically designed for Android applications. The approach builds a data flow model that reflects the unique structure and execution semantics of Android applications. Our testing strategy operates at four levels: Method-level, within individual methods; Interprocedural, across method calls; Activity-level, within a single Android activity; and Inter-Activity, across multiple activities within the application. Technique: At each level, the approach identifies definition-use (def-use) chains for relevant variables. Once def-use chains are established, test inputs are generated to ensure coverage of all identified variable uses thereby satisfying the "all-uses" criterion. Implementation: We implemented the approach in an automated tool called AndroidDFT. Evaluation: The paper includes a case study to demonstrate the practical application of our technique on real Android applications. Experimental results show that AndroidDFT effectively uncovers errors, highlighting its error-detection capability and effectiveness in real-world testing scenarios. Contributions: This research delivers the first comprehensive DFT solution tailored for Android applications. By extending traditional data flow analysis to account for Android’s distinctive structure and lifecycle, it fills an important gap in mobile applications testing research.




