用于对应用程序的测试脚本进行优化的方法和装置制造方法及图纸

技术编号:18940269 阅读:31 留言:0更新日期:2018-09-15 11:01
本公开涉及一种用于对应用程序的测试脚本进行优化的方法和装置。根据本发明专利技术的对应用程序的测试脚本进行优化的方法包括如下步骤:检测应用程序的待测版本相对于已测版本的变化点;以及基于变化点对用于应用程序的待测版本的测试脚本进行优化。根据本公开的技术,可以获得具有高鲁棒性的测试脚本,从而提高应用程序的测试效率,降低测试成本。

Method and device for optimizing test scripts of application programs

The present disclosure relates to a method and device for optimizing the test scripts of an application. The method for optimizing the test script of an application according to the present invention includes the following steps: detecting the change point of the test version of the application relative to the test version; and optimizing the test script for the test version of the application based on the change point. According to the technology of the disclosure, a test script with high robustness can be obtained, thereby improving the test efficiency of an application and reducing the test cost.

【技术实现步骤摘要】
用于对应用程序的测试脚本进行优化的方法和装置
本公开总体上涉及应用程序的测试的
特别地,本公开涉及对移动应用程序的测试脚本进行优化的方法和装置。
技术介绍
随着适用于诸如移动电话、智能电话、个人数字助理(PDA)、平板电脑的移动设备的移动应用程序的快速发展,开发人员和测试人员花费在移动应用程序的测试上的时间和精力越来越多。移动应用程序的测试是一种特殊的软件测试,与适用于计算机的应用程序的测试有很大不同。由于不同的移动设备的硬件配置(诸如屏幕尺寸和分辨率)和软件配置(诸如操作系统)是不同的,因此移动应用程序的测试极为困难。测试人员需要针对移动设备的特定的硬件配置和软件配置编写特定的测试脚本,并且每个移动应用程序通常具有大量的测试脚本。测试脚本连同移动应用程序一起在移动设备的操作系统中运行。在移动应用程序的测试过程中出现运行错误时,由于测试人员仅希望对移动应用程序本身进行测试,因此首先要判断该运行错误是否由于移动应用程序的错误引起的,从而给测试人员带来极大的不便。
技术实现思路
在下文中将给出关于本公开的简要概述,以便提供关于本公开的某些方面的基本理解。应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图确定本公开的关键或重要部分,也不是意图限定本公开的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。针对现有技术中存在的问题,本公开提出了能够对应用程序的测试脚本进行优化的技术。根据本公开的一个方面,提供了一种用于对应用程序的测试脚本进行优化的方法,包括如下步骤:检测应用程序的待测版本相对于已测版本的变化点;以及基于变化点对用于应用程序的待测版本的测试脚本进行优化。根据本公开的另一方面,提供了一种用于对应用程序的测试脚本进行优化的装置,包括:检测单元,检测应用程序的待测版本相对于已测版本的变化点;以及优化单元,基于变化点对应用程序的待测版本的测试脚本进行优化。根据本公开的又一方面,还提供了能够实现上述方法的计算机程序。此外,还提供了具有至少计算机可读介质形式的计算机程序产品,其上记录有用于实现上述方法的计算机程序代码。根据本公开的技术可以在测试前对应用程序的测试脚本进行优化,从而避免因为测试脚本与版本更新后的移动应用程序不兼容或者测试脚本涉及到跨进程的操作而导致在测试期间出现运行错误,使得测试结果中仅包括因所测试的移动应用程序存在错误导致的运行错误。该技术可以显著减少对移动应用程序的测试结果进行解读的时间,从而极大地提高测试效率。此外,尽管这里主要针对移动应用程序的测试描述了本公开,但是对于本领域技术人员明显的是,这里公开的技术完全可以应用于复杂程度更低的计算机的应用程序的测试。附图说明参照下面结合附图对本公开实施例的说明,会更加容易地理解本公开的以上和其它目的、特点和优点,在附图中:图1是示出了根据本公开的第一实施例的用于对应用程序的测试脚本进行优化的方法的流程图;图2是示出了根据本公开的第一实施例的用于对应用程序的测试脚本进行优化的方法的一种具体实现方式示意性框图;图3是示出了通过根据本公开的第一实施例的方法构造的应用程序的层级结构的一个实施例的示意图;图4是示出了根据本公开的第一实施例的用于对应用程序的测试脚本进行优化的方法中的检测变化点的方法的一个实施例的流程图;图5是示出了根据本公开的第一实施例的对应用程序的测试脚本进行优化的装置的框图;图6是示出了根据本公开的第二实施例的用于对应用程序的测试脚本进行优化的方法的流程图;图7是示出了根据本公开的第二实施例的用于对应用程序的测试脚本进行优化的方法的一种具体实现方式的示意性框图;图8是示出了根据本公开的第二实施例的对应用程序的测试脚本进行优化的装置的框图;以及图9是示出了可用来实现根据本公开的第一和第二实施例的对应用程序的测试脚本进行优化的方法和装置的通用机器的结构简图。具体实施方式在下文中将结合附图对本公开的示例性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施方式的过程中可以做出很多特定于实施方式的决定,以便实现开发人员的具体目标,并且这些决定可能会随着实施方式的不同而有所改变。在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的部件,而省略了与本公开关系不大的其他细节。目前的移动应用程序通常具有很高的更新频率,很多移动应用程序甚至每周都要发布一个新的版本。这种频繁的更新给移动应用程序的测试带来了很大挑战,因为移动应用程序的每次更新都可能导致某些测试脚本无法使用或者出现错误。例如,旧版本的移动应用程序的某一视图的标识符(ID)可能在新版本的移动应用程序中发生变化,这可能导致旧的测试脚本不能通过该标识符定位到该视图,从而导致运行错误。然而,在测试过程中出现该运行错误时,测试人员可能并不清楚该运行错误是因为测试脚本与移动应用程序的新版本不兼容引起的,因此需要花费大量时间寻找该运行错误的原因,导致测试效率低下。再者,诸如Robotium的目前的移动应用程序的测试系统不能对具有跨进程操作的移动应用程序进行测试。特别地,由于应用于移动设备的Android操作系统本身的安全机制,自动化的测试脚本如果涉及到跨进程的操作,则会被Android操作系统认为是不安全的操作,从而终止测试。然而,这种情况也会被视为移动应用程序的测试过程中的运行错误。由此可见,在移动应用程序的测试期间出现的运行错误通常由以下几种原因引起:(1)所测试的移动应用程序存在错误,(2)所测试的移动应用程序因版本更新导致测试脚本与更新后的移动应用程序不兼容,(3)测试脚本涉及到移动应用程序中的跨进程的操作,等等。然而,测试人员对移动应用程序进行测试的目的在于发现所测试的移动应用程序中存在的错误,因此测试人员仅希望发现上文所述的原因(1),并且希望滤除其他原因(2)和(3)。换言之,上述所述的原因(2)和(3)可被视为移动应用程序的最终测试结果中的噪声。在现有的移动应用程序的测试系统中,测试人员需要花费大量时间去判断测试中出现的运行错误是因上文所述的哪种原因引起。在每次的测试中都需要重复这些工作,这极大地降低了测试的效率。因此,对于移动应用程序的测试而言,测试脚本的鲁棒性非常重要。为了解决上文所述的现有技术中存在的问题,需要提供一种能够对移动应用程序的测试脚本进行优化的技术以增强测试脚本的鲁棒性,从而提高移动应用程序的测试效率,并且降低测试成本。根据本公开的用于对应用程序的测试脚本进行优化的技术主要在于两个方面。一个方面是基于应用程序的待测版本相对于应用程序的已测版本的变化点的检测来对测试脚本进行优化。在此基础上,另一方面是基于对测试脚本中的涉及跨进程操作的部分的检测来对测试脚本进行优化。<第一实施例>图1是示出了根据本公开的第一实施例的用于对应用程序的测试脚本进行优化的方法100的流程图。图2示出了根据本公开的第一实施例的用于对应用程序的测试脚本进行优化的方法100的一种具体实现方式示意性框图。如图1所示,方法100开始于步骤S101。在S102中,检测应用程序的待测版本相对于已测版本的变本文档来自技高网...

【技术保护点】
1.一种用于对应用程序的测试脚本进行优化的方法,包括如下步骤:检测所述应用程序的待测版本相对于已测版本的变化点;以及基于所述变化点对用于所述应用程序的待测版本的测试脚本进行优化。

【技术特征摘要】
1.一种用于对应用程序的测试脚本进行优化的方法,包括如下步骤:检测所述应用程序的待测版本相对于已测版本的变化点;以及基于所述变化点对用于所述应用程序的待测版本的测试脚本进行优化。2.根据权利要求1所述的方法,进一步包括:检测所述测试脚本中的与跨进程操作相关的部分;以及根据所述跨进程操作对测试脚本进行进一步优化。3.根据权利要求1或2所述的方法,其中检测应用程序的待测版本相对于已测版本的变化点的步骤包括:将所述应用程序构造为层级结构,其中通过所述应用程序构造所述层级结构的第一层级的根节点,并且通过分解所述应用程序构造所述层级结构的第一层级以下各层级的子节点;通过对所述应用程序的待测版本的层级结构和所述应用程序的已测版本的层级结构进行比较来检测所述变化点。4.根据权利要求3所述的方法,其中将所述应用程序构造为层级结构的步骤包括:通过所述应用程序的行为构造所述层级结构的第二层级的子节点,根据所述应用程序的语义信息和视觉信息通过所述应用程序的行为包括的功能构造所述层级结构的第三层级的子节点,以及通过所述应用程序的实现所述功能的控件来构造所述层级结构的第四层级的子节点。5.根据权利要求3所述的方法,其中通过对所述应用程序的待测版本的层级结构和所述应用程序的已测版本的层级结构进行比较来检测所述变化点的步骤包括:对所述层级结构的各个层级的子节点进行建模,其中基于构成所述子节点的控件的属性形成所述子节点的特征向量;计算所述应用程序的待测版本的层级结构中的子节点的特征向量与所述应用程序的已测版本的层级结构中的同...

【专利技术属性】
技术研发人员:华松皮冰锋孙俊
申请(专利权)人:富士通株式会社
类型:发明
国别省市:日本,JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1