针对能耗和并发缺陷的安卓应用测试用例生成研究
本文选题:安卓应用测试 切入点:测试用例生成 出处:《南京大学》2017年硕士论文
【摘要】:智能手机在人们的生活中成为了不可或缺的一部分。智能手机的计算能力变得越来越强,搭载的传感器越来越繁多。智能手机应用会采用并发编程技术以提高CPU的利用效率,利用传感器获取用户的物理环境的一些参数。但是,这里相应的出现了两个严重的问题——能耗和并发缺陷,从而降低了应用的质量,最终导致较差的用户体验。感知操作是一个十分消耗能源的操作,从中获取到的传感器数据应当被有效地利用。但是,已有的研究表明应用市场中的智能手机应用的传感器数据利用率通常较低,从而导致了严重的能耗浪费。为了解决这个问题,最新的技术GreenDroid能够自动地生成传感器数据,记录它们的传播以及分析它们在应用中的使用情况。然而GreenDroid的传感器数据生成方式是随机的,而这会使诊断结果不稳定和降低其有效性。众所周知,并发程序比较难以编写、测试和调试。安卓官方提供了一系列约束以避免出现并发缺陷,比如只能在Main Thread进行GUI更新。随着应用的复杂度不断增加,开发者越来越难以正确地理解应用的行为,从而导致出现难以察觉的并发缺陷。部分已有的工作通过利用已有的输入事件序列构建happens-before图,从而检测潜在的数据竞争。但是,它们严重地依赖于这些输入事件序列,从而造成较高的假阳性。针对能耗和并发缺陷,本文采用了测试用例生成技术,即利用应用的历史执行和当前状态生成新的测试用例。为了实现更加有效的能耗低效性诊断,本文提出了一个创新的方法以系统地生成多维的传感器数据,同时用更细粒度的方式定义了应用的状态。本文实现了一个原型工具CyanDroid,并且用了真实的应用以及它们的变异体对CyanDroid进行了评估。结果表明CyanDroid在诊断由传感器数据低利用率所导致的能耗缺陷时更加稳定、有效。另一方面,基于能够同时生成输入事件及其调度这样的事实,本文提出了一个触发安卓应用中并发缺陷的方法。本文实现了动静结合的混合分析以找到应用中潜在的冲突资源访问,然后通过导向型的事件和调度生成自动地运行被测应用。本文实现了相应的原型工具AATT,并用真实的应用对其进行了评估,结果表明了AATT的有效性和高效性。
[Abstract]:Smartphones have become an integral part of people's lives. The computing power of smartphones is getting stronger and more and more sensors are being carried. Smartphone applications will use concurrent programming technology to improve the efficiency of CPU. The sensor is used to obtain some parameters of the user's physical environment. However, there are two serious problems here-energy consumption and concurrency defects, which reduces the quality of the application. The end result is a poor user experience. Perception is a very energy-consuming operation from which sensor data should be used efficiently. Existing studies have shown that sensor data utilization in smartphone applications in the application market is often low, resulting in a serious waste of energy. To solve this problem, the latest technology, GreenDroid, can automatically generate sensor data. Record their propagation and analyze their use in applications. However, the way GreenDroid sensor data is generated is random, which makes diagnostics unstable and reduces its effectiveness. Concurrency programs are notoriously difficult to write. Testing and debugging. Android officials provide a series of constraints to avoid concurrency defects, such as GUI updates on Main Thread. As the complexity of applications increases, developers are finding it increasingly difficult to understand the behavior of apps correctly. Part of the existing work detects potential data competition by building happens-before diagrams using existing input event sequences. However, they rely heavily on these input event sequences. In order to achieve more efficient energy consumption and low efficiency diagnosis, this paper adopts test case generation technology, that is, using the historical execution and current status of the application to generate new test cases. This paper presents an innovative method to systematically generate multidimensional sensor data. At the same time, the state of the application is defined in a more granular way. This paper implements a prototype tool, Cyan Droid, and evaluates CyanDroid using real applications and their variants. The results show that CyanDroid is used in diagnosis by sensor data. The energy deficit caused by low utilization rate is more stable. Valid. On the other hand, based on the fact that input events and their scheduling can be generated at the same time, This paper proposes a method to trigger concurrency defects in Android applications. Then the test application is automatically run through the oriented event and scheduling generation. This paper implements the prototype tool AATT and evaluates it with real applications. The results show that AATT is effective and efficient.
【学位授予单位】:南京大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TN929.53;TP316;TP212
【相似文献】
相关期刊论文 前10条
1 路晓丽;葛玮;陈新丽;郝克刚;;支持共享和复用的测试用例库系统的设计[J];计算机科学;2006年05期
2 胡珊;杨丰玉;张晔;刘琳岚;;基于测试项抽取的测试用例复用方法[J];微电子学与计算机;2010年01期
3 张德平;查日军;;划分测试用例选择的风险决策方法[J];计算机应用研究;2010年12期
4 杨翊;陈挺;许峥;;证券软件的测试用例设计充分性实践[J];中国证券期货;2012年07期
5 张智轶;陈振宇;徐宝文;杨瑞;;测试用例演化研究进展[J];软件学报;2013年04期
6 杨悦;秦湘河;杨永安;郭荣;;航天测控软件测试用例标准及应用研究[J];无线电工程;2013年09期
7 王侃,卢庆龄,彭艳丽;测试用例自动生成的链方法研究与实现[J];装甲兵工程学院学报;2001年03期
8 李顺华;测试用例管理方法探讨[J];飞航导弹;2001年05期
9 徐仁佐,陈斌,陈波,吴闽泉,熊忠伟;构造面向对象软件可复用测试用例的模式研究[J];武汉大学学报(理学版);2003年05期
10 陈绍英;金成姬;;性能测试用例[J];程序员;2004年11期
相关会议论文 前10条
1 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
2 李磊;曹先彬;;基于进化的软件测试用例生成方法[A];2005年“数字安徽”博士科技论坛论文集[C];2005年
3 徐李勤;王洁宁;;基于层次有色Petri网的软件测试用例选取研究[A];全国第二届信号处理与应用学术会议专刊[C];2008年
4 林春哲;张凯;王道堂;;软件测试用例设计分析[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
5 张侠影;李志蜀;;一种优化的测试用例约简方法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
6 张德平;聂长海;徐宝文;;划分测试用例选择策略研究[A];第五届中国测试学术会议论文集[C];2008年
7 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];中国计量协会冶金分会2008年会论文集[C];2008年
8 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];2008全国第十三届自动化应用技术学术交流会论文集[C];2008年
9 周晓燕;李兵;潘伟丰;覃叶宜;;基于错误传播概率网络的软件回归测试用例选择[A];第五届全国复杂网络学术会议论文(摘要)汇集[C];2009年
10 万琳;张威;马雪雁;陈曼青;;基于路径的测试用例自动生成技术[A];第十届全国容错计算学术会议论文集[C];2003年
相关重要报纸文章 前6条
1 深圳市信息无障碍研究会 戴杰;“听”软件的IT工程师[N];人民政协报;2014年
2 谢敏 沈雪芳 戴金龙;解决软件测试的近忧和远虑[N];计算机世界;2005年
3 计算机世界实验室 韩勖;拨云见日[N];计算机世界;2008年
4 《网络世界》记者 郑楠;ONF测试步伐有条不紊[N];网络世界;2014年
5 ;找错[N];计算机世界;2002年
6 信息产业部软件与集成电路促进中心 于明邋唐仕武;驶入测试“快车道”[N];计算机世界;2007年
相关博士学位论文 前10条
1 罗玲;扩展π演算的建模、验证与测试[D];西安电子科技大学;2015年
2 王志强;基于模糊测试的漏洞挖掘及相关攻防技术研究[D];西安电子科技大学;2015年
3 涂径玄;基于覆盖分析的自动化错误定位关键技术研究[D];南京大学;2016年
4 苏亭;基于覆盖准则的软件测试用例自动化生成方法的研究与实现[D];华东师范大学;2016年
5 李丽;航天相机主控软件测试用例自动生成技术的研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2010年
6 黄如兵;组合测试用例的自适应随机生成与优先级排序方法研究[D];华中科技大学;2013年
7 张娟;软件测试中测试用例复用的研究[D];上海大学;2012年
8 游亮;回归测试用例选择技术研究[D];华中科技大学;2012年
9 谢晓东;基于模型比较的软件测试用例生成方法研究[D];华中科技大学;2007年
10 李根;基于动态测试用例生成的二进制软件缺陷自动发掘技术研究[D];国防科学技术大学;2010年
相关硕士学位论文 前10条
1 田春艳;基于灰色关联逼近理想解方法的测试用例评价模型研究[D];昆明理工大学;2009年
2 唐海鹏;基于Additional策略回归测试用例优先级排序优化研究[D];西南大学;2015年
3 陈梦云;基于圈复杂度和调用次数的测试用例排序方法[D];上海师范大学;2015年
4 姚瑞超;广东电网测试用例自动生成工具的研究与设计[D];华南理工大学;2015年
5 张泽林;基于数据挖掘的软件多故障定位与分析技术[D];南京理工大学;2015年
6 邹炳松;嵌入式软件的图形化测试用例生成系统设计与实现[D];哈尔滨工业大学;2015年
7 李锦程;基于微信平台的医疗就诊系统设计与实现[D];哈尔滨工业大学;2015年
8 赵群;软件错误定位中的巧合正确性问题研究[D];哈尔滨工业大学;2015年
9 常龙辉;Web应用的测试用例优化生成与优先级技术[D];上海大学;2015年
10 王令赛;基于粒子群优化算法的测试用例生成技术研究[D];中国矿业大学;2015年
,本文编号:1677946
本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/1677946.html