一句话:提出结合静态参数提取与自适应强度组合测试的 Android 组件自动化测试工具 ICTDroid,以紧凑测试集高效触发异常。
Android 应用组件是基本构建块,组件间通信常通过输入参数完成跨模块数据传递和方法调用。参数结构复杂、输入空间巨大,开发者易遗漏会引发组件启动崩溃或隐私泄露的异常输入。ICTDroid 自动提取组件参数并采用自适应强度组合测试生成测试用例,兼顾覆盖与测试集规模,并自动执行以检测异常。在 30 个开源应用上,该工具用 1919 个测试用例、83 分钟触发 205 个唯一异常,开发者已确认所报告问题中的 6 个缺陷。结果说明参数感知的组合测试能在有限预算下有效提升 Android 组件鲁棒性测试效率。
Components are the fundamental building blocks of Android applications. Different functional modules represented by components often rely on inter-component communication mechanisms to achieve cross-module data transfer and method invocation. It is necessary to conduct robustness testing on components to prevent component launching crashes and privacy leaks caused by unexpected input parameters. However, as the complexity of the input parameter structure and the diversity of possible inputs, developers may overlook specific inputs that result in exceptions. At the same time, the vast input space also brings challenges to efficient component testing. In this paper, we designed an automated test generation and execution tool for Android application components named ICTDroid, which combines static parameter extraction and adaptive-strength combinatorial testing generation to detect bugs with a compact test suite. Experiments have shown that the tool triggers 205 unique exceptions in 30 open-source applications with 1,919 test cases in 83 minutes, where the developers have confirmed six defects in three issues we reported.