发明名称 基于事件处理器的Android自动化测试工具及测试方法
摘要 本发明公开了一种基于事件处理器的Android自动化测试工具及测试方法,测试工具包括事件插桩模块、代码分析工具Soot和App探索模块;事件插桩模块包括XML解析器、识别器、分发器、语句构造器和语句管理器;代码分析工具Soot将插桩的调用语句、“Test”事件和Apk的原代码重新打包成一个新的Apk文件;App探索模块对重新打包后的Apk文件进行自动化测试。本发明能够触发Android的UI事件、系统事件和Inter-App事件,比传统的只能触发UI事件的测试工具更全面,代码覆盖率更高。
申请公布号 CN105677569A 申请公布日期 2016.06.15
申请号 CN201610016174.6 申请日期 2016.01.11
申请人 南京理工大学 发明人 宋巍;钱祥星;黄青青
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 南京理工大学专利中心 32203 代理人 朱显国
主权项 一种基于事件处理器的Android自动化测试工具,其特征在于,包括事件插桩模块、代码分析工具Soot和App探索模块;事件插桩模块包括XML解析器、识别器、分发器、语句构造器和语句管理器;XML解析器用于收集在XML中定义的事件,解析器的输入是Apk的XML文件,包括App的资源文件和AndroidManifest.xml,资源文件包含UI事件,AndroidManifest.xml包含系统事件和Inter‑App事件;XML解析器的输出是在资源文件和AndroidManifest.xml中定义的UI事件、系统事件和Inter‑App事件;识别器用于识别在代码中定义的事件,识别器的输入是Apk的Dex文件,Dex文件包含App所有的源代码,识别器采用程序静态分析方法,查找在代码中定义的UI事件和系统事件;识别器的输出是在代码中定义的UI事件和系统事件;分发器用于将XML解析器和识别器收集到的事件分发给事件所属的活动;语句构造器用于构造事件处理器的调用语句;语句构造器的输入是收集的事件,输出是事件处理器调用语句,调用语句用于验证事件处理器的正确性;语句管理器用于管理事件处理器调用语句,语句管理器的输入是事件处理器调用语句,输出是“Test”事件,“Test”事件的事件处理器封装所有事件处理器的调用语句;代码分析工具Soot将插桩的调用语句、“Test”事件和Apk的原代码重新打包成一个新的Apk文件;App探索模块对重新打包后的Apk文件进行自动化测试。
地址 210094 江苏省南京市孝陵卫200号