

如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
面向Android平台的GUI测试输入自动生成研究综述 随着智能手机和平板电脑的广泛使用,Android操作系统成为了人们日常生活中最常用的移动操作系统之一。每个Android应用程序都包含一个图形用户界面(GUI),用户可以通过这个界面与应用程序进行交互。随着Android应用程序数量的不断增加,测试成为了一个至关重要并且必不可少的过程。 在GUI测试中,输入是一个非常重要的方面。不同的输入参数和输入组合可以使应用程序的行为发生很大的变化,一个优秀的输入测试套件能够很好地测试应用程序的边界条件和极端情况。输入自动生成是一个可以有效提高GUI测试效率和准确性的技术。 本文将介绍一些关于面向Android平台的GUI测试输入自动生成的研究,并对它们进行综述。 1.研究背景 在应用程序的测试中,输入覆盖率是衡量测试覆盖率的一个关键指标。输入覆盖率可以通过输入参数和输入值的组合来计算。例如,一些参数可以具有多个选项,每个选项都可以设置多个输入值。如果所有的参数选项在测试中都被测试了一次,并且所有的输入都被测试到了至少一次,那么就可以说对输入的覆盖率已经足够了。 传统的手工输入测试通常非常耗时而且低效。自动生成输入测试可以很好地提高测试效率和准确性。在自动生成输入时,测试人员需要指定输入参数的类型和范围,然后测试工具会自动生成各种可能的输入组合,从而覆盖所有可能的输入值。 2.研究现状 首先,我们回顾一下一些早期的输入自动生成技术。在2009年,SaffandErnst提出了一种名为Droidmate的自动生成输入工具,该工具可以产生一些具有挑战性和有趣的交互用例。该工具仅针对Android应用程序进行测试,并可识别单词,语音,GPS位置等各种其他类型的输入。但是,它没有考虑到应用程序的特定行为模式。 在2011年,还有一篇研究报道了一种名为A3E的新技术,它可以通过逐步增量的方式产生输入用例。A3E可以根据已经执行的用例的结果自动地生成更多的用例。与以前的Droidmate相比,A3E的主要优势是可以减少测试时间和测试覆盖率。 更进一步的,有学者采用模型驱动技术生成测试实例,其中随机化算法和无序算法被学界广泛使用。例如,2014年Hadjsaidetal提出了一种结合随机路径生成技术的新方法,该方法可以同时生成参数和输入值,并可以处理调用依赖关系、循环和递归等关系,以及处理异常、标识符共享和错误插桩。他们的方法可以识别应用程序的结构,并自动地生成测试用例。 此外,还有一些研究基于符号执行技术来生成输入测试。在符号执行中,程序被执行的每个路径都被完整地探索和测试。由于程序的每个分支都有多条路径,因此符号执行方法可以覆盖所有可能的合法输入值和参数组合。 3.结论与展望 在这篇文章中,我们综述了有关面向Android平台的GUI测试输入自动生成的一些研究。如前所述,手工输入测试通常是低效和耗时的。而自动生成输入测试可以显著提高测试效率和准确性,同时覆盖所有可能的合法输入值和参数组合,对应用程序的整体测试覆盖率有很大帮助。 目前,自动生成输入测试的研究虽然已经取得了很大的进步,但是仍然存在一些需要解决的问题。例如,移动应用程序可能包含一些复杂的组件和动态加载的模块,这些可能会导致自动生成输入测试变得更加具有挑战性。另外,自动生成输入测试还存在一些局限性,例如它不能涵盖所有的输入和参数组合,并且对于一些复杂的应用程序,输入测试可能会引入额外的错误。因此,未来的研究中需要加强研究对象的复杂性,结合更加标准化、科学化的测试流程与验证手段应对新的挑战。

快乐****蜜蜂
实名认证
内容提供者


最近下载