发明名称 |
基于事件处理器的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号 |