APP测试方法、APP测试脚本生成装置和APP测试脚本执行装置与流程

文档序号:12824642阅读:172来源:国知局
APP测试方法、APP测试脚本生成装置和APP测试脚本执行装置与流程

本发明涉及app测试技术领域,特别是涉及app测试方法、app测试脚本生成装置和app测试脚本执行装置。



背景技术:

目前测试人员对于被测app(application应用程序)的测试,是根据app的功能进行黑盒子测试。由于被测app的功能很多,测试人员需要逐条功能测试,将测试人员的逐条功能测试的思路和方法步骤抽象写成代码后,即可生成自动化测试脚本。

被测app的功能增加时需要同步增加对应的测试脚本、被测app的测试思路改变时需要同步更改测试脚本、被测app的软件操作步骤增加时需要扩展测试脚本等等,导致app测试脚本维护不及时,则会直接影响到测试效率,进而影响到整个app的测试周期,造成大量测试人员的人力资源浪费。



技术实现要素:

基于此,有必要针对被测app的测试脚本需要编写代码后执行,若维护不及时影响会测试效率的问题,提供一种app测试方法、app测试脚本生成装置和app测试脚本执行装置,所述方法包括:

启动待测app;

依次获取测试待测app时各测试动作在第一测试设备的屏幕上对应的坐标信息;

获取测试结束信息;

将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

在其中一个实施例中,在依次获取测试待测app时各测试动作在第一测试设备的屏幕上对应的坐标信息的步骤之后,在将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本的步骤之前,所述方法还包括:

获取各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息;

所述将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本,还包括:

将各所述测试动作对应的坐标信息,和各所述测试动作对应的测试反馈信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

在其中一个实施例中,在将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本的步骤之前,所述方法还包括:

获取测试循环信息;

所述将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本,还包括:

将各所述测试动作对应的坐标信息,和所述测试循环信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

本发明还提供一种app测试方法,所述方法包括:

获取待测app的测试脚本,所述测试脚本中包括测试待测app时各测试动作在第二测试设备的屏幕上对应的坐标信息,以及与各所述测试动作对应的点击顺序;

启动待测app;

根据各所述测试动作对应的点击顺序,依次读取所述测试脚本中的坐标信息,并根据所述坐标信息在所述第二测试设备的屏幕上执行所述坐标信息对应的测试动作。

在其中一个实施例中,所述测试脚本中包括测试待测app时各测试动作在第二测试设备的屏幕上对应的坐标信息,以及与各所述测试动作对应的点击顺序,还包括:

各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息;

在根据各所述测试动作对应的点击顺序,依次读取所述测试脚本中的坐标信息,并根据所述坐标信息在所述第二测试设备的屏幕上执行所述坐标信息对应的测试动作的步骤之后,还包括:

读取所述测试步骤对应的测试实际反馈信息;

当所述测试实际反馈信息与所述测试动作对应的测试反馈信息不一致时,停止测试所述待测app。

在其中一个实施例中,通过获取测试待测app时各测试动作在测试设备上对应的坐标信息,将所述各测试动作对应的坐标信息按照操作顺序生成测试脚本的方法,使得app测试脚本的生成,可以由不具备脚本软件编辑能力的普通测试人员完成,提高了测试脚本的生成和更新速度,从而提高了整个app测试的测试效率。

在其中一个实施例中,通过获取各测试动作对应的反馈信息,并将各测试动作对应的所述反馈信息加入生成的测试脚本中,以使所述测试脚本在执行过程中,若所述测试测动作的实际反馈信息与测试脚本中不同,则停止执行所述测试脚本,以使整个测试流程更加完善,提高app测试的测试效率。

在其中一个实施例中,将测试循环信息,加入生成的所述测试脚本中,以使所述测试脚本可以自带循环执行信息,避免了需要借助外部程序提供测试循环信息,进一步提高了所生成测试脚本的自动化程度,提高app测试的效率。

在其中一个实施例中,获取待测app的测试脚本后,根据所述脚本中的坐标信息,依次在测试设备的屏幕上执行相应的点击操作,即可完成测试。测试人员不需要对待测app中的各种功能和测试脚本的编程语言有深入的了解,即可完成待测app的测试工作,提高了app测试的测试效率。

在其中一个实施例中,通过读取所述测试脚本中携带的测试动作的反馈信息,将其和获取到的所述测试动作的实际反馈信息进行比对,当所述测试信息不一致时,后续的测试动作不需要执行,提高了app测试的测试效率,避免了无意义的测试动作的执行。

本发明还提供一种app测试脚本生成装置,包括:

启动模块,用于启动待测app;

坐标信息获取模块,用于依次获取测试待测app时各测试动作在第一测试设备的屏幕上对应的坐标信息;

测试结束信息获取模块,用于获取测试结束信息;

测试脚本生成模块,用于将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

在其中一个实施例中,还包括:

反馈信息获取模块,用于获取各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息;

所述测试脚本生成模块,还用于将各所述测试动作对应的坐标信息,和各所述测试动作对应的测试反馈信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

在其中一个实施例中,还包括:

测试循环信息获取模块,用于获取测试循环信息;

所述测试脚本生成模块,还用于将各所述测试动作对应的坐标信息,和所述测试循环信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

本发明还提供一种app测试脚本执行装置,包括:

测试脚本获取模块,用于获取待测app的测试脚本,所述测试脚本中包括测试待测app时各测试动作在第二测试设备的屏幕上对应的坐标信息,以及与各所述测试动作对应的点击顺序;

测试启动模块,用于启动待测app;

测试执行模块,用于根据各所述测试动作对应的点击顺序,依次读取所述测试脚本中的坐标信息,并根据所述坐标信息在所述第二测试设备的屏幕上执行所述坐标信息对应的测试动作。

在其中一个实施例中,还包括:

所述测试脚本获取模块,用于获取的测试脚本中还包括各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息;

测试实际反馈信息获取模块,用于读取所述测试步骤对应的测试实际反馈信息;

停止测试判断模块,用于当所述测试实际反馈信息与所述测试动作对应的测试反馈信息不一致时,停止测试所述待测app。

在其中一个实施例中,通过获取测试待测app时各测试动作在测试设备上对应的坐标信息,将所述各测试动作对应的坐标信息按照操作顺序生成测试脚本的方法,使得app测试脚本的生成,可以由不具备脚本软件编辑能力的普通测试人员完成,提高了测试脚本的生成和更新速度,从而提高了整个app测试的测试效率。

在其中一个实施例中,通过获取各测试动作对应的反馈信息,并将各测试动作对应的所述反馈信息加入生成的测试脚本中,以使所述测试脚本在执行过程中,若所述测试测动作的实际反馈信息与测试脚本中不同,则停止执行所述测试脚本,以使整个测试流程更加完善,提高app测试的测试效率。

在其中一个实施例中,将测试循环信息,加入生成的所述测试脚本中,以使所述测试脚本可以自带循环执行信息,避免了需要借助外部程序提供测试循环信息,进一步提高了所生成测试脚本的自动化程度,提高app测试的效率。

在其中一个实施例中,获取待测app的测试脚本后,根据所述脚本中的坐标信息,依次在测试设备的屏幕上执行相应的点击操作,即可完成测试。测试人员不需要对待测app中的各种功能和测试脚本的编程语言有深入的了解,即可完成待测app的测试工作,提高了app测试的测试效率。

在其中一个实施例中,通过读取所述测试脚本中携带的测试动作的反馈信息,将其和获取到的所述测试动作的实际反馈信息进行比对,当所述测试信息不一致时,后续的测试动作不需要执行,提高了app测试的测试效率,避免了无意义的测试动作的执行。

附图说明

图1为一个实施例的app测试方法的流程示意图;

图2为另一个实施例的app测试方法的流程示意图;

图3为一个实施例的app测试方法的流程示意图;

图4为另一个实施例的app测试脚本生成装置的结构示意图;

图5为另一个实施例的app测试脚本生成装置的结构示意图;

图6为一个实施例的app测试脚本执行装置的结构示意图;

图7为另一个实施例的app测试脚本执行装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

图1为一个实施例的app测试方法的流程示意图,如图1所示的app测试方法,包括:

步骤s100,启动待测app。

具体地,由于需要测试待测app的各项功能及操作流程,在测试之前,需要启动待测app,使待测app处于启动状态后才能开始测试,或开始进行本实施例中测试脚本的生成工作。

步骤s200,依次获取测试待测app时各测试动作在第一测试设备的屏幕上对应的坐标信息。

具体地,将所述待测app加载于测试设备后,待测app启动后,每一个测试步骤对应的测试动作,都不会在同一个坐标点上,如取消或确认,会分别显示在在屏幕上的不同的位置,因此,各测试动作按照待测app启动后的先后顺序,都可以通过各所述测试动作在测试设备的屏幕上的坐标点来进行记录。

步骤s300,获取测试结束信息。

具体地,由于测试待测app时,各个测试流程的不同,或每次测试时待测app的具体反应不同,而本实施例中,是通过记录测试动作的坐标点的方式记录测试步骤的,而不是记录测试动作的具体操作内容或操作反馈信息,因此,需要通过获知一个测试结束信息来界定整个测试脚本的测试动作的结束。

获取测试结束信息的具体方式,可以通过设置一个测试结束的选项供测试人员点击后,获取所述测试结束信息,也可以通过设置一个时长,当超过固定的时长没有进一步的坐标信息被获取时,则获取测试结束信息。

步骤s400,将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

具体地,将所述各测试动作对应的坐标信息,通过sqlite数据库的方式存储起来。在生成所述测试脚本时,需要将测试动作的坐标信息,按照所述测试动作的执行顺序,写入测试脚本中,以生成待测app的测试脚本。

在本实施例中,通过获取测试待测app时各测试动作在测试设备上对应的坐标信息,将所述各测试动作对应的坐标信息按照操作顺序生成测试脚本的方法,使得app测试脚本的生成,可以由不具备脚本软件编辑能力的普通测试人员完成,提高了测试脚本的生成和更新速度,从而提高了整个app测试的测试效率。

在其中一个实施例中,在依次获取测试待测app时各测试动作在第一测试设备的屏幕上对应的坐标信息的步骤之后,在将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本的步骤之前,所述方法还包括:获取各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息;所述将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本,还包括:将各所述测试动作对应的坐标信息,和各所述测试动作对应的测试反馈信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

具体地,在待测app的测试过程中,每一个测试动作,都可能会包含不同的反馈信息,如各种原因导致的操作失败等,所述反馈信息通过弹窗或直接在app的显示页面中显示不正常的信息来表现。

通过获取所述反馈信息中的特定信息的特定用词的方式,也可以通过对特定的失败信息进行全文匹配的方式,获取测试动作的反馈信息。

获取到特定测试动作的反馈信息后,通过测试动作与其对应的反馈信息的组合,使得用于整个的测试过程的,各个测试动作对应的坐标信息之间的逻辑关系更强。

在本实施例中,通过获取各测试动作对应的反馈信息,并将各测试动作对应的所述反馈信息加入生成的测试脚本中,以使所述测试脚本在执行过程中,若所述测试测动作的实际反馈信息与测试脚本中不同,则停止执行所述测试脚本,以使整个测试流程更加完善,提高app测试的测试效率。

在其中一个实施例中,在将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本的步骤之前,所述方法还包括:获取测试循环信息;所述将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本,还包括:将各所述测试动作对应的坐标信息,和所述测试循环信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

具体地,由于app测试中需要数量较多的多次循环,将所述的循环次数写入所述的测试脚本中后,测试脚本的循环测试执行过程不需要再借助外部的服务实现,具体的实现方式,可以通过设置操作次数标志位的方式来具体实现即可。

在本实施例中,将测试循环信息,加入生成的所述测试脚本中,以使所述测试脚本可以自带循环执行信息,避免了需要借助外部程序提供测试循环信息,进一步提高了所生成测试脚本的自动化程度,提高app测试的效率。

图2为另一个实施例的app测试方法的流程示意图,如图2所示的app测试方法,包括:

步骤s10,获取待测app的测试脚本,所述测试脚本中包括测试待测app时各测试动作在第二测试设备的屏幕上对应的坐标信息,以及与各所述测试动作对应的点击顺序。

具体地,一个待测app可以有多个测试脚本,确定好待测app的测试内容后,获取所述测试内容对应的测试脚本。所述测试脚本执行测试,通过依次执行所述测试脚本中的按顺序记录的坐标信息对应的测试动作来实现。

步骤s20,启动待测app。

具体地,获取到所述测试脚本后,启动待测app,已进入测试状态。

步骤s30,根据各所述测试动作对应的点击顺序,依次读取所述测试脚本中的坐标信息,并根据所述坐标信息在所述第二测试设备的屏幕上执行所述坐标信息对应的测试动作。

具体地,通过在所述坐标信息对应的位置,执行点击操作,即可完成响应的测试动作,将测试脚本中的测试动作按照顺序执行后,即可完成测试脚本的测试内容。

所述的按照顺序执行测试动作,可能是测试人员手动执行,也可以通过设定好的程序自动执行。

在本实施例中,获取待测app的测试脚本后,根据所述脚本中的坐标信息,依次在测试设备的屏幕上执行相应的点击操作,即可完成测试。测试人员不需要对待测app中的各种功能和测试脚本的编程语言有深入的了解,即可完成待测app的测试工作,提高了app测试的测试效率。

图3为一个实施例的app测试方法的流程示意图,如图3所示的app测试方法,包括:

步骤s10a,获取待测app的测试脚本,所述测试脚本中包括测试待测app时各测试动作在第二测试设备的屏幕上对应的坐标信息,以及与各所述测试动作对应的点击顺序,还包括各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息。

具体地,所述测试脚本中,包括了各所述测试动作的测试反馈信息,由于在app的正常操作过程和测试操作过程中,都会根据操作动作的执行内容设置反馈信息,如app操作打开某个页面时,出现错误无法打开页面时,会给出一个反馈信息提示操作者是因为何种原因打开失败等,尤其对于app测试来说,此类操作反馈信息非常重要,因此,在测试脚本中,将不同操作动作的反馈信息包括在内后,可以使app操作的流程逻辑性更强,更有针对性。

步骤s20a,启动待测app。

具体地,所述启动待测app的步骤,也可以在步骤s10a的步骤之前执行。

步骤s30a,根据各所述测试动作对应的点击顺序,依次读取所述测试脚本中的坐标信息,并根据所述坐标信息在所述第二测试设备的屏幕上执行所述坐标信息对应的测试动作。

具体地,同步骤s30。

步骤s40a,读取所述测试步骤对应的测试实际反馈信息。

具体地,当所述测试步骤有对应的测试反馈信息时,读取测试中实际获取到的反馈信息。所述反馈信息的获取,通过提取弹窗内的内容,或通过提取app页面的内容均可。

步骤s50a,当所述测试实际反馈信息与所述测试动作对应的测试反馈信息不一致时,停止测试所述待测app。

具体地,当所述实际的反馈信息,和测试脚本中设定好的反馈信息不同时,则正在执行的测试步骤,已经不复合脚本测试设定好的流程,因此需要停止测试所述待测app。

在本实施例中,通过读取所述测试脚本中携带的测试动作的反馈信息,将其和获取到的所述测试动作的实际反馈信息进行比对,当所述测试信息不一致时,后续的测试动作不需要执行,提高了app测试的测试效率,避免了无意义的测试动作的执行。

图4为另一个实施例的app测试脚本生成装置的结构示意图,如图4为另一个实施例的app测试脚本生成装置,包括:

启动模块100,用于启动待测app;

坐标信息获取模块200,用于依次获取测试待测app时各测试动作在第一测试设备的屏幕上对应的坐标信息;

测试结束信息获取模块300,用于获取测试结束信息;

测试脚本生成模块400,用于将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

在本实施例中,通过获取测试待测app时各测试动作在测试设备上对应的坐标信息,将所述各测试动作对应的坐标信息按照操作顺序生成测试脚本的方法,使得app测试脚本的生成,可以由不具备脚本软件编辑能力的普通测试人员完成,提高了测试脚本的生成和更新速度,从而提高了整个app测试的测试效率。

图5为另一个实施例的app测试脚本生成装置的结构示意图,如图5所示的app测试脚本生成装置,包括:

启动模块100,用于启动待测app。

坐标信息获取模块200,用于依次获取测试待测app时各测试动作在第一测试设备的屏幕上对应的坐标信息。

测试结束信息获取模块300,用于获取测试结束信息。

测试脚本生成模块400,用于将各所述测试动作对应的坐标信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本;还用于将各所述测试动作对应的坐标信息,和各所述测试动作对应的测试反馈信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本;还用于将各所述测试动作对应的坐标信息,和所述测试循环信息,按照与各所述测试动作对应的点击顺序生成所述待测app的测试脚本。

反馈信息获取模块500,用于获取各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息;

测试循环信息获取模块600,用于获取测试循环信息;

在本实施例中,通过获取各测试动作对应的反馈信息,并将各测试动作对应的所述反馈信息加入生成的测试脚本中,以使所述测试脚本在执行过程中,若所述测试测动作的实际反馈信息与测试脚本中不同,则停止执行所述测试脚本,以使整个测试流程更加完善,提高app测试的测试效率。将测试循环信息,加入生成的所述测试脚本中,以使所述测试脚本可以自带循环执行信息,避免了需要借助外部程序提供测试循环信息,进一步提高了所生成测试脚本的自动化程度,提高app测试的效率。

图6为一个实施例的app测试脚本执行装置的结构示意图,如图6所示的app测试脚本执行装置,包括:

测试脚本获取模块10,用于获取待测app的测试脚本,所述测试脚本中包括测试待测app时各测试动作在第二测试设备的屏幕上对应的坐标信息,以及与各所述测试动作对应的点击顺序;

测试启动模块20,用于启动待测app;

测试执行模块30,用于根据各所述测试动作对应的点击顺序,依次读取所述测试脚本中的坐标信息,并根据所述坐标信息在所述第二测试设备的屏幕上执行所述坐标信息对应的测试动作。

在本实施例中,获取待测app的测试脚本后,根据所述脚本中的坐标信息,依次在测试设备的屏幕上执行相应的点击操作,即可完成测试。测试人员不需要对待测app中的各种功能和测试脚本的编程语言有深入的了解,即可完成待测app的测试工作,提高了app测试的测试效率。

图7为另一个实施例的app测试脚本执行装置的结构示意图,如图7所示的app测试脚本执行装置,包括:

测试脚本获取模块10,用于获取待测app的测试脚本,所述测试脚本中包括测试待测app时各测试动作在第二测试设备的屏幕上对应的坐标信息,以及与各所述测试动作对应的点击顺序;用于获取的测试脚本中还包括各所述测试动作对应的测试反馈信息,所述测试反馈信息包括各所述测试动作对应的反馈弹窗中的信息。

测试启动模块20,用于启动待测app。

测试执行模块30,用于根据各所述测试动作对应的点击顺序,依次读取所述测试脚本中的坐标信息,并根据所述坐标信息在所述第二测试设备的屏幕上执行所述坐标信息对应的测试动作。

测试实际反馈信息获取模块40,用于读取所述测试步骤对应的测试实际反馈信息。

停止测试判断模块50,用于当所述测试实际反馈信息与所述测试动作对应的测试反馈信息不一致时,停止测试所述待测app。

在本实施例中,通过读取所述测试脚本中携带的测试动作的反馈信息,将其和获取到的所述测试动作的实际反馈信息进行比对,当所述测试信息不一致时,后续的测试动作不需要执行,提高了app测试的测试效率,避免了无意义的测试动作的执行。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1