计算机科学 ›› 2018, Vol. 45 ›› Issue (9): 99-103.doi: 10.11896/j.issn.1002-137X.2018.09.015

• 第十六届全国软件与应用学术会议 • 上一篇    下一篇

规则驱动的Android应用DFS测试技术

叶佳1, 葛红军2, 曹春2, 朱晋1, 张营2   

  1. 中兴通讯股份有限公司终端事业部 南京2100121
    南京大学计算机科学与技术系 南京2100462
  • 收稿日期:2017-12-15 出版日期:2018-09-20 发布日期:2018-10-10
  • 通讯作者: 葛红军 男,硕士,主要研究领域为安卓GUI智能自动化测试技术,E-mail:ghj_nju@163.com
  • 作者简介:叶 佳 男,硕士,主要研究领域为移动终端产品的软件研发与测试技术;曹 春 男,博士,副教授,主要研究领域为软件工程、软件测试与分析等;朱 晋 男,硕士,主要研究领域为移动终端软件自动化测试;张 营 男,博士,主要研究领域为软件工程、云计算平台等。
  • 基金资助:
    本文受中兴通讯研究基金资助。

Rule-driven DFS Testing Technology for Android Application

YE Jia1, GE Hong-jun2, CAO Chun2, ZHU Jin1, ZHANG Ying2   

  1. Terminal Business Division,ZTE Corporation,Nanjing 210012,China1
    Department of Computer Science and Technology,Nanjing University,Nanjing 210046,China2
  • Received:2017-12-15 Online:2018-09-20 Published:2018-10-10

摘要: 摘 要 GUI自动化测试是Android应用研究领域的重要组成部分,针对Android应用的GUI测试技术得到了广泛的研究。其中,基于DFS算法的GUI遍历测试技术得到了广泛的应用。然而,现有的DFS测试技术却仍然具有效率低下、覆盖率较低的问题。文中提出了结合外部预定义规则来驱动DFS自动化遍历的改进方法,以提高DFS自动化遍历的效率和覆盖率;基于规则驱动的改进方法实现了RDTA测试工具,进行了与Monkey以及无规则驱动下的DFS的对比实验,验证了该方法的有效性。

关键词: Android测试, DFS, 测试效率, 覆盖率, 规则驱动

Abstract: Automated GUI testing is the important part of Android application research field.Several technologies for automated Android GUI testing have attracted wide attention.Testing technology based on DFS exploration has been extensively used among them.However,the existing DFS testing technology is still inefficient and has low testing co-verage.This paper proposed an improved approach by driving the DFS automated exploration with external predefined rulesto improve the efficiency and coverage.A testing tool called RDTA based on the proposed approach was implemented and the performance of RDTA was evaluated by comparing to Monkey and original DFS without rules.The result verifies the effectiveness of the approach.

Key words: Android testing, Coverage, DFS, Rule-driven, Test efficiency

中图分类号: 

  • TP311
[1]DU R Y,WANG C H,HE K.Location Privacy Protection Technology on Smart Mobile Devices[J].ZTE Communications,2015,21(3):23-29.(in Chinese)
杜瑞颖,王持恒,何琨.智能移动终端的位置隐私保护技术[J].中兴通讯技术,2015,21(3):23-29.
[2]CHOUDHARY S R,GORLA A,ORSO A.Automated test input generation for android:Are we there yet?[C]∥2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).IEEE,2015:429-440.
[3]MACHIRY A,TAHILIANI R,NAIK M.Dynodroid:An input generation system for android apps[C]∥Proceedings of the 2013 9th Joint Meeting on Foundations of Software Enginee-ring.ACM,2013:224-234.
[4]AMALFITANO D,FASOLINO A R,TRAMONTANA P,et
al.Using GUI ripping for automated testing of Android applications[C]∥Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.ACM,2012:258-261.
[5]AZIM T,NEAMTIU I.Targeted and depth-first exploration for systematic testing of android apps[C]∥ACM SIGPLAN Notices.ACM,2013:641-660.
[6]MEMON A M,BANERJEE I,NAGARAJAN A.GUI Ripping:Reverse Engineering of Graphical User Interfaces for Testing[C]∥2003 10th Working Conference on Reverse Engineering.2003:260.
[7]ANBUNATHAN R,BASU A.A recursive crawler algorithm to detect crash in Android application[C]∥2014 IEEE Internatio-nal Conference on Computational Intelligence and Computing Research (ICCIC).IEEE,2014:1-4.
[8]MAHMOOD R,MIRZAEI N,MALEK S.Evodroid:Segmented evolutionary testing of android apps[C]∥Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering.ACM,2014:599-609.
[9]MIRZAEI N,MALEK S,PŠSŠREANU C S,et al.Testing android apps through symbolic execution[J].ACM SIGSOFT Software Engineering Notes,2012,37(6):1-5.
[10]AMALFITANO D,FASOLINO A R,TRAMONTANA P,et
al.A toolset for GUI testing of Android applications[C]∥2012 28th IEEE International Conference on Software Maintenance (ICSM).IEEE,2012:650-653.
[11]AMALFITANO D,FASOLINO A R,TRAMONTANA P.A
gui crawling-based technique for android mobile application testing[C]∥2011 IEEE Fourth International Conference on Software Testing,Verification and Validation Workshops (ICSTW).IEEE,2011:252-261.
[12]LI X,JIANG Y,LIU Y,et al.User guided automation for testing mobile apps[C]∥2014 21st Asia-Pacific Software Engineering Conference (APSEC).IEEE,2014:27-34.
[13]ZHANG C,XUE Y Z,CHEN J C.Design and application of Android platform-based GUI capture-replay testing tool[J].Computer Application and Software,2012,29(12):6-9.(in Chinese)
张灿,薛云志,陈军成.一种基于 Android 平台 GUI 录制回放工具的设计与实现[J].计算机应用与软件,2012,29(12):6-9.
[14]CHOI W,NECULA G,SEN K.Guided gui testing of android apps with minimal restart and approximate learning[C]∥ACM SIGPLAN Notices.ACM,2013:623-640.
[15]ZHANG D W,GUO X,HAN Z.Security and Trusted Intelli-gent Mobile Terminal [J].ZTE Communications,2015,21(5):39-44.(in Chinese)
张大伟,郭烜,韩臻.安全可信智能移动终端研究[J].中兴通讯技术,2015,21(5):39-44.
[1] 孙海华, 周思源, 谭国平, 张芝.
基于随机几何的无线中继网络上行链路精细化性能分析
Fine-grained Performance Analysis of Uplink in Wireless Relay Network Based on Stochastic Geometry
计算机科学, 2021, 48(2): 64-69. https://doi.org/10.11896/jsjkx.200800205
[2] 刘芳, 洪玫, 王潇, 郭丹, 杨正卉, 黄小丹.
面向Java的Randoop自动化单元测试生成工具性能分析
Performance Analysis of Randoop Automated Unit Test Generation Tool for Java
计算机科学, 2020, 47(9): 24-30. https://doi.org/10.11896/jsjkx.200200116
[3] 袁丽娜.
HDFS数据副本均衡放置策略的改进
Improvement of HDFS Balanced Placement Strategy
计算机科学, 2017, 44(Z11): 397-399. https://doi.org/10.11896/j.issn.1002-137X.2017.11A.083
[4] 郑通,郭卫斌,范贵生.
HDFS中海量小文件合并与预取优化方法的研究
Research on Optimization Method of Merging and Prefetching for Massive Small Files in HDFS
计算机科学, 2017, 44(Z11): 516-519. https://doi.org/10.11896/j.issn.1002-137X.2017.11A.109
[5] 杜红光,雷州,陈圣波.
共享集群基于HDFS的数据块密度调度策略
Data Block Density Scheduling Strategy Based on HDFS in Shared Cluster
计算机科学, 2017, 44(Z11): 510-515. https://doi.org/10.11896/j.issn.1002-137X.2017.11A.108
[6] 张栗粽,崔园,罗光春,陈爱国,卢国明,王晓雪.
面向大数据分布式存储的动态负载均衡算法
Dynamic Load Balance Algorithm for Big-data Distributed Storage
计算机科学, 2017, 44(5): 178-183. https://doi.org/10.11896/j.issn.1002-137X.2017.05.032
[7] 杨冬菊,李青.
存储中的副本分级存储调度策略
Scheduling Strategy of Hierarchical Storage about Replication in Cloud Storage
计算机科学, 2017, 44(4): 85-89. https://doi.org/10.11896/j.issn.1002-137X.2017.04.019
[8] 李树芳,安金霞,刘洋,陈良.
采用Clang/LLVM的C++源代码覆盖率分析插装方法
Approach to C++ Code Instrumentation for Coverage Analysis with Clang/LLVM
计算机科学, 2017, 44(11): 191-194. https://doi.org/10.11896/j.issn.1002-137X.2017.11.029
[9] 郭建华,杨洪斌,陈圣波.
基于HDFS的海量视频数据重分布算法
Weight Distribution Algorithm for Massive Video Data Based on HDFS
计算机科学, 2016, 43(Z6): 480-484. https://doi.org/10.11896/j.issn.1002-137X.2016.6A.113
[10] 李元平,李华,赵俊岚.
有限状态机模型测试序列生成算法研究
Research about FSM Test Sequence Generation Algorithm
计算机科学, 2016, 43(Z11): 474-481. https://doi.org/10.11896/j.issn.1002-137X.2016.11A.107
[11] 朱永强,秦志光.
一种基于编码关联的快速多模式匹配算法
Multi-pattern Matching Algorithm Based on Coding Association
计算机科学, 2016, 43(2): 26-30. https://doi.org/10.11896/j.issn.1002-137X.2016.02.005
[12] 黄胜,刘广钟,徐明.
一种基于虚拟力的分布式Voronoi控制策略
Distributed Voronoi Control Strategy Based on Virtual Force
计算机科学, 2016, 43(10): 125-129. https://doi.org/10.11896/j.issn.1002-137X.2016.10.023
[13] 臧继昆,喻 剑.
基于事件密集度的交通监控视频存储方法
Traffic Surveillance Video Storage in HDFS Based on Event Density
计算机科学, 2015, 42(5): 221-224. https://doi.org/10.11896/j.issn.1002-137X.2015.05.044
[14] 王瑞,田宇立,周东红,李 宁,李战怀.
面向故障定位的基于MC/DC的测试用例约简方法
Test-suite Reduction Based on MC/DC in Software Fault Localization
计算机科学, 2015, 42(10): 170-174.
[15] 冯亮.
基于子载波选择配对及功率优化分配的多跳中继系统研究
Multi-hop Relay OFDM System Based on Subcarrier Selection Pairing and Optimal Power Allocation
计算机科学, 2015, 42(10): 92-94.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!