移动测试方法、装置、计算机设备及存储介质与流程

文档序号:21362274发布日期:2020-07-04 04:36阅读:91来源:国知局
移动测试方法、装置、计算机设备及存储介质与流程

本发明涉及软件测试领域,尤其涉及一种移动测试方法、装置、计算机设备及存储介质。



背景技术:

移动设备的多样性会导致应用程序兼容性问题(即程序缺陷)频繁发生。一般需要通过移动测试去发现兼容性问题。同时,由于移动设备的用户的多样性和复杂性,除了使用常规的功能测试外,为了提高应用程序的健壮性,还需要增加monkey测试(猴子测试)。

一般无序的monkey测试采用位置随机组合或控件随机组合的方式生成测试用例。然而,通过monkey测试方式产生的测试用例数量较多,而且这些测试用例还需要应用在不同型号的移动设备上,导致测量工作量大,测试时间非常长。

另外,对于移动测试而言,兼容性问题的重要性与该问题带来的风险相关。若某一兼容性问题的发生频次高(容易被用户发现),则其重要性高;发生频次低,则其重要性低。一般无序的monkey测试,无法区分兼容性问题的重要性,因而其发现重要性高的兼容性问题的效率普遍较低。需要寻找一种更为高效的移动测试方法,提高发现重要性高的兼容性问题的能力,提高测试效率。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种移动测试方法、装置、计算机设备及存储介质,以解决现有的测试方法发现重要性高的兼容性问题效率低的问题。

一种移动测试方法,包括:

根据预设随机机制执行第一测试步骤后,获取当前的页面信息;

判断所述第一测试步骤在步骤数据库中是否存在;

若所述第一测试步骤在步骤数据库中存在,判断所述页面信息与页面数据库的预设页面是否相符;

若所述页面信息与页面数据库的预设页面相符,则将所述页面信息标记为正确。

一种移动测试装置,包括:

获取页面信息模块,用于根据预设随机机制执行第一测试步骤后,获取当前的页面信息;

第一判断模块,用于判断所述第一测试步骤在步骤数据库中是否存在;

第二判断模块,用于若所述第一测试步骤在步骤数据库中存在,判断所述页面信息与页面数据库的预设页面是否相符;

标记正确模块,用于若所述页面信息与页面数据库的预设页面相符,则将所述页面信息标记为正确。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述移动测试方法。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述移动测试方法。

上述移动测试方法、装置、计算机设备及存储介质,通过预设随机机制,一方面可以产生随机化的测试用例,另一方面,所生成的测试用例可以更准确地模拟用户可能进行的测试操作,减少了重要性低的测试用例的执行次数,可以提高发现重要性高的兼容性问题的能力,提高测试效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中移动测试方法的一应用环境示意图;

图2是本发明一实施例中移动测试方法的一流程示意图;

图3是本发明一实施例中移动测试装置的一结构示意图;

图4是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例提供的移动测试方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。客户端包括但不限于各种笔记本电脑、智能手机、平板电脑、便携式可穿戴设备等移动设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种移动测试方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:

s10、根据预设随机机制执行第一测试步骤后,获取当前的页面信息。

本实施例中,在进行移动测试时,通过设置预设随机机制,可以同时实现测试用例的生成和执行(针对多次测试而言),提高移动测试的执行效率。对于第一测试步骤而言,通过预设随机机制可以随机选取至少两种测试路径中的一种。其中,一种测试路径为原有的测试用例存在的测试操作,另一种则为随机生成的测试操作。随机生成的测试操作一般是执行第一测试步骤前页面内的若干个测试操作之一。因而,对于执行第一测试步骤前页面内的某个测试操作而言,其执行的概率小于原有测试用例存在的测试操作。因而,在可以满足原有的测试用例的测试需求的同时,可以结合monkey测试的优点,发现一些非正常操作可能发现的缺陷。

当前的页面信息指的是执行第一测试步骤后跳转至的页面所包含的内容。页面信息可由若干页面元素组成。每一页面元素都有对应的页面类型,且与一个识别码相关联。

s20、判断所述第一测试步骤在步骤数据库中是否存在。

步骤数据库中存储了若干测试用例,包括具体的测试步骤及其对应的页面信息。步骤数据库中的数据存储结构有两种,第一种可以表示为:{原始页面信息→步骤→变换后的页面信息};第二种可以表示为:{测试用例【页面信息1→测试步骤1→页面信息2→测试步骤2→页面信息3→测试步骤3→……】}。常规的测试用例是按顺序的步骤串联存储的,与第二种的存储结构相同。第一种存储结构可以认为是一种状态表的存储模式。通过这种存储方式可以快速地定位到预设页面的识别标识,并从页面数据库中获取预设页面。

一般情况下,经过测试的测试步骤都会记录在步骤数据库中。因而,判断第一测试步骤在步骤数据库中是否存在,可以确定第一测试步骤是否曾经测试过。

s30、若所述第一测试步骤在步骤数据库中存在,判断所述页面信息与页面数据库的预设页面是否相符。

本实施例中,页面数据库是一个用于存储页面信息的数据库。其原始数据来自测试用例中定义的各个步骤遍历的页面及对应的页面信息。相同的页面及其页面信息仅在页面数据库保存一次(此处指的是同一页面前后若内容相同,则只保存一次,若存在不同,则使用新的正确的页面信息替换原有的页面信息)。页面数据库中的数据存储结构可以表示为:测试用例{页面信息1【页面元素1/识别码/页面类型;页面元素2/识别码/页面类型;页面元素3/识别码/页面类型;......】;页面信息2【……】、页面信息3【……】、……}。

页面数据库可以作为一个持久化的存储,在执行页面信息比对时,可以使用页面数据库内的预设页面,大大提高了数据的比对效率。

预设页面指的是,在执行与第一测试步骤相同的在先测试步骤时产生的并存储在页面数据库内的页面信息。通过页面信息之间的比对,可以快速确定当前的页面信息是正确或存疑。

s40、若所述页面信息与页面数据库的预设页面相符,则将所述页面信息标记为正确。

本实施例中,当前的页面信息与页面数据库的预设页面相符,指的是各自页面内包含的页面元素完全相同。例如,若当前的页面信息正常加载,且与预设页面相符,说明当前的页面信息是正确。这样,通过自动的页面信息比对(判断页面信息与页面数据库的预设页面是否相符),大大提高了移动测试的效率。

需要注意的是,在对一个测试用例进行测试时,可以重复执行多次步骤s10-s40(实际执行的测试步骤不同,但方法是一致的)。当确定第一测试步骤在步骤数据库中存在时,可以重复开始执行第一测试步骤的下一个测试步骤,如第二测试步骤。

可选的,所述预设随机机制包括:

执行预设用例的第n步骤,所述预设用例来自所述步骤数据库;或,

执行初始页面信息内所包含的任意元素的操作步骤,所述初始页面信息为执行所述第一测试步骤前的页面信息。

本实施例中,预设随机机制可以随机选取至少两种测试路径中的一种。预设用例中包含了若干个测试步骤。若预设用例的测试步骤总数为x,则n的取值一般为[1,x-1]。预设用例可以直接来自步骤数据库,也可以是根据步骤数据库中已经经过测试的步骤进行组合后形成的新的测试用例。

初始页面信息内所包含的任意元素一般指可以进行操作的页面元素,如可以是超链接、控制按钮、选项等。执行的操作步骤可以是这些元素中的任意一个。

若使用本实施例提供的测试方法对同一个测试用例执行m次,可以得到m-x种测试结果,x<m。

可选的,所述判断所述第一测试步骤在步骤数据库中是否存在之后,还包括:

若所述第一测试步骤在步骤数据库中不存在,将所述页面信息存入所述页面数据库,并将所述页面信息标记为存疑。

本实施例中,若第一测试步骤在步骤数据库中不存在,此时通过机器的方式无法正确识别当前的页面信息是否正确。新步骤的执行结果对于计算机设备而言是未知的,需要通过测试专家人工识别处理。因而,可以将新出现的页面信息标记为存疑,等待测试专家判定。

可选的,所述判断所述页面信息与页面数据库的预设页面是否相符之后,还包括:

若所述页面信息与页面数据库的预设页面不相符,则将所述页面信息标记为存疑。

本实施例中,若页面信息与页面数据库的预设页面不相符,则当前的页面信息可能是页面更新后的结果,也可能是因为非正常加载形成的结果。所以通过机器的方式无法正确识别当前的页面信息是否正确。此时,需要通过测试专家人工识别处理。因而,可以将不相符的页面信息标记为存疑,等待测试专家判定。

可选的,所述将所述页面信息标记为存疑之后,还包括:

接收标记修改指令;

根据所述标记修改指令确定所述页面信息的标记状态,所述标记状态包括正确和错误。

本实施例中,测试专家可在计算机上输入标记修改指令,修改页面信息的标记状态。通常情况下,页面信息的标记状态包括正确和错误两种。正确说明该页面信息所对应的测试操作通过测试,错误则说明该页面信息所对应的测试操作没有通过测试,存在需要修复的缺陷(即bug)。

可选的,在执行所述第一测试步骤时,若所述页面信息无法正常加载或所述页面信息的标记状态为错误,将所述第一测试步骤标记为缺陷步骤。

本实施例中,页面信息无法正常加载指的是页面出现闪退、系统崩溃等严重错误。此时可以自动将第一测试步骤标记为缺陷步骤,并等待技术人员处理该缺陷步骤。同样的,页面信息的标记状态为错误,属于人工标注的缺陷,可以将第一测试步骤标记为缺陷步骤,并等待技术人员处理该缺陷步骤。

可选的,所述根据预设随机机制执行第一测试步骤后,获取当前的页面信息之后,还包括:

若所述第一测试步骤为所述预设用例的第n步骤,则根据所述预设随机机制执行第二测试步骤;

重复上述测试步骤直至测试结束,将所有测试步骤写入新增测试用例,并将所述新增测试用例存储至用例数据库;

所述预设随机机制还包括:

执行预设用例的第n+1步骤,所述预设用例来自所述步骤数据库;或,执行所述当前的页面信息内的任意元素的操作步骤。

本实施例中,用例数据库用于存储执行移动测试后产生的多个测试用例及对应的执行结果。每个测试用例包含了若干的测试步骤。用例数据库的初始状态为空。理论上,每次执行测试操作,都有可能衍生新的测试用例,即上述新增测试用例。这些新增测试用例可以保存至软件项目完成为止。技术专家还可以对用例数据库内的测试用例进行人工筛选,挑选出有价值的测试用例,并存储在用例数据库中。用例数据库用于存储若干优选的测试用例,这些测试用例可供移动测试使用。用例数据库中的数据存储结构可以表示为:测试用例{页面信息1【页面元素1/识别码/页面类型;页面元素2/识别码/页面类型;页面元素3/识别码/页面类型;……】;页面信息2【……】、页面信息3【……】、……}。

对于同一个测试用例而言,若某个测试步骤在先执行过,则在后的测试步骤尽力避免已执行过的测试步骤。

此处的预设随机机制基本与之前实施例的预设随机机制相同,仅执行对象存在差异。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种移动测试装置,该移动测试装置与上述实施例中移动测试方法一一对应。如图3所示,该移动测试装置包括获取页面信息模块10、第一判断模块20、第二判断模块30和标记正确模块40。各功能模块详细说明如下:

获取页面信息模块10,用于根据预设随机机制执行第一测试步骤后,获取当前的页面信息;

第一判断模块20,用于判断所述第一测试步骤在步骤数据库中是否存在;

第二判断模块30,用于若所述第一测试步骤在步骤数据库中存在,判断所述页面信息与页面数据库的预设页面是否相符;

标记正确模块40,用于若所述页面信息与页面数据库的预设页面相符,则将所述页面信息标记为正确。

可选的,所述预设随机机制包括:

执行预设用例的第n步骤,所述预设用例来自所述步骤数据库;或,

执行初始页面信息内所包含的任意元素的操作步骤,所述初始页面信息为执行所述第一测试步骤前的页面信息。

可选的,移动测试装置还包括:

第一存疑模块,用于若所述第一测试步骤在步骤数据库中不存在,将所述页面信息存入所述页面数据库,并将所述页面信息标记为存疑。

可选的,移动测试装置还包括:

第二存疑模块,用于若所述页面信息与页面数据库的预设页面不相符,则将所述页面信息标记为存疑。

可选的,移动测试装置还包括:

接收修改模块,用于接收标记修改指令;

确定标记状态模块,用于根据所述标记修改指令确定所述页面信息的标记状态,所述标记状态包括正确和错误。

可选的,移动测试装置还包括:

标记缺陷模块,用于在执行所述第一测试步骤时,若所述页面信息无法正常加载或所述页面信息的标记状态为错误,将所述第一测试步骤标记为缺陷步骤。

可选的,移动测试装置还包括:

继续执行测试模块,用于若所述第一测试步骤为所述预设用例的第n步骤,则根据所述预设随机机制执行第二测试步骤;

存储模块,用于重复上述测试步骤直至测试结束,将所有测试步骤写入新增测试用例,并将所述新增测试用例存储至用例数据库;

所述预设随机机制还包括:

执行预设用例的第n+1步骤,所述预设用例来自所述步骤数据库;或,

执行所述当前的页面信息内的任意元素的操作步骤。

关于移动测试装置的具体限定可以参见上文中对于移动测试方法的限定,在此不再赘述。上述移动测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储移动测试方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种移动测试方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

根据预设随机机制执行第一测试步骤后,获取当前的页面信息;

判断所述第一测试步骤在步骤数据库中是否存在;

若所述第一测试步骤在步骤数据库中存在,判断所述页面信息与页面数据库的预设页面是否相符;

若所述页面信息与页面数据库的预设页面相符,则将所述页面信息标记为正确。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

根据预设随机机制执行第一测试步骤后,获取当前的页面信息;

判断所述第一测试步骤在步骤数据库中是否存在;

若所述第一测试步骤在步骤数据库中存在,判断所述页面信息与页面数据库的预设页面是否相符;

若所述页面信息与页面数据库的预设页面相符,则将所述页面信息标记为正确。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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