英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
Sapienz:多目标自动化测试
摘要
我们介绍Sapienz,这是Android测试的一种方法,使用基于多目标搜索的测试来自动执行,不断探索和优化测试序列,最大程度地减少时间,同时最大化覆盖范围和故障发布。Sapienz结合了随机模糊测试,系统化和基于搜索的探索,利用播种和多层次仪器。Sapienz的表现明显优于(大的效果尺寸)droid和广泛使用的工具Android Monkey(7/10)覆盖率实验,故障检测7/10和10/10用于显示故障的序列长度。当应用于顶部Sapienz找到1000个Google Play应用,共有558个独特的未知的崩溃。到目前为止,我们已经设法使与27个崩溃的应用程序的开发人员联系。这些,14个已经确认崩溃是由实际故障引起的。在这14个中,有六个已经具有开发者确认的修复程序。
CCS概念
bull;软件及其工程;软件测试和调试;基于搜索的软件工程;
关键词
Android;测试生成;基于搜索的软件测试
1.引言
Google提供了超过180万个应用程序截至2016年1月的游戏市场。对于发达互联网市场,例如美国,英国和加拿大,移动现在,应用程序的使用在当今的传统桌面软件中占主导地位。不幸的是,测试技术尚未赶上来,软件测试人员面临其他问题由于设备碎片,这会增加测试效率由于必须考虑的设备数量。根据对移动应用程序开发的研究移动应用测试仍然严重依赖手动测试,而自动化技术的使用仍然很少见。发生测试自动化的地方,通常使用Google的Android Monkey工具,目前已与Android系统集成。由于该工具是如此广泛的使用和分布,它被视为自动化软件测试的当前实践状态。虽然猴子自动化测试,它以相对灵活的方式进行测试:随机生成事件序列希望探索被测应用程序并揭示失败原因。它使用标准的,简单但有效的默认测试oracle 认为任何显示崩溃的输入都是故障揭示测试序列。自动化测试显然需要发现此类故障,但是如果测试时间过长,那么这样做是没有用的。开发人员可能会拒绝更长的序列调试不切实际,也不太可能在实践中发生;生成的测试序列越长,则可能性越小它是在实践中发生的。因此,自动配对测试的一个关键目标是使用尽可能短的测试来发现故障。从而使故障显示更加可行给开发者。探索性测试是“同步学习,测试设计,和测试执行” ,可以节省成本,并且一般被工业从业者广泛使用进行测试。但是,它特别不发达用于移动应用测试。虽然有几个测试自动化框架,例如Robotium 和Ap pium ,它们需要人工执行的脚本,因此禁止完全自动化。我们介绍Sapienz,这是提供多目标自动化Android应用程序探索性测试的第一种方法,力求最大程度地扩大代码覆盖范围和揭示错误,同时最小化揭示故障的测试序列的长度。我们的目标是提供一种完全自动化的方法,以最短的测试序列最大程度地体现故障显示。钥匙我们的方法的洞察力是最小化测试序列长度和最大化其他目标可以结合在一起基于帕累托最优的多目标搜索方法Android测试。通过使用帕累托最优,当它们是唯一的序列时,我们不会牺牲较长的序列发现错误,也不要在哪里达到更高的水平代码覆盖率。然而,通过使用帕累托最优,Sapienz逐渐取代了更长的序列同样好的情况下,测试顺序更短。本论文将做出以下主要贡献:
1)Sapienz方法:本文介绍了第一种
适用于Android测试的Pareto多目标方法,结合了用于传统自动化测试的技术,对其进行调整和扩展以用于Android测试。该方法
表1:概览:用于自动化Android应用测试(“ OSS”的现有工具和技术的摘要和“ CSS”分别是指用作评估主题的开放源代码和封闭源代码软件)。
技术 |
会场 |
公开地 可用的 |
框 |
方法 |
崩溃报告 |
重播剧本 |
仿真器/ |
评估学科规模 |
||
类型 |
OSS |
CSS |
||||||||
猴子 |
不适用 |
是 |
黑色 |
基于随机 |
文本 |
没有 |
都 |
不适用 |
不适用 |
不适用 |
AndroidRipper |
ASE12 |
是 |
黑色 |
基于模型 |
文本 |
没有 |
仿真器 |
开源软件 |
1 |
0 |
行动 |
FSE12 |
是 |
白色 |
程序分析 |
不适用 |
是 |
仿真器 |
开源软件 |
5 |
0 |
A3E |
OOPSLA13 |
部分的 |
灰色 |
基于模型 |
不适用 |
是 |
真实设备 |
CSS |
0 |
25 |
迅捷之手 |
OOPSLA13 |
是 |
黑色 |
基于模型 |
不适用 |
没有 |
都 |
开源软件 |
10 |
0 |
轨道 |
FASE13 |
没有 |
灰色 |
基于模型 |
不适用 |
没有 |
仿真器 |
开源软件 |
8 |
0 |
肌瘤 |
FSE13 |
是 |
黑色 |
基于随机 |
文字,图片 |
是 |
仿真器 |
都 |
50 |
1000 |
彪马 |
MobiSys14 |
是 |
黑色 |
基于模型 |
文本 |
是 |
都 |
CSS |
0 |
3600 |
EvoDroid |
FSE14 |
没有 |
白色 |
基于搜索 |
不适用 |
没有 |
仿真器 |
开源软件 |
10 |
0 |
SPAG-C |
TSE15 |
没有 |
黑色 |
记录重放 |
不适用 |
是 |
真实设备 |
都 |
3 |
2 |
猴子实验室 |
MSR15 |
没有 |
黑色 |
痕量采矿 |
不适用 |
是 |
都 |
开源软件 |
5 |
0 |
雷神 |
ISSTA15 |
是 |
黑色 |
不利条件 |
文字,图片 |
是 |
仿真器 |
开源软件 |
4 |
0 |
TrimDroid |
ICSE16 |
是 |
白色 |
程序分析 |
文本 |
是 |
都 |
开源软件 |
14 |
0 |
CrashScope |
ICST16 |
没有 |
黑色 |
组合 |
文字,图片 |
是 |
都 |
开源软件 |
61 |
0 |
萨皮恩茨 |
ISSTA16 |
是 |
灰色 |
基于搜索 |
文字,视频 |
是 |
都 |
都 |
78 |
1000 |
公开技术场地结合了随机模糊测试,系统化和基于搜索的探查,字符串播种和多级工具,所有其中已扩展到不仅可以满足传统白盒覆盖(我们称为“骨架覆盖”),但是还有Android用户界面的覆盖范围(我们称之为“皮肤覆盖范围”)。
2)实验结果:我们给出两个结果
开源现实世界的系统实验研究Android应用。第一个使用来自Android的68个应用程序基准套件,而第二个使用受控套件整个F-Droid套件中的10个应用的随机样本,Sapienz的表现始终优于Dynodroid和猴子,统计上显着且有较大影响30例中有24例。
3)工具Sapienz:实用的Android测试工具我们公开发布的Sapienz 1。
4)有用性的证明:
该技术在前1,000名中的实际实用性Google Play应用。 Sapienz发现558起独特的车祸。的崩溃行为已在真实的Android设备上得到验证(以及Android模拟器)。在撰写本文时,我们已经开始向开发者报告这些情况,其中14个已经被确认为真实,先前未被发现
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[237276],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。