CN104765680A - 一种用于软件自动测试的方法及装置 - Google Patents

一种用于软件自动测试的方法及装置 Download PDF

Info

Publication number
CN104765680A
CN104765680A CN201510111589.7A CN201510111589A CN104765680A CN 104765680 A CN104765680 A CN 104765680A CN 201510111589 A CN201510111589 A CN 201510111589A CN 104765680 A CN104765680 A CN 104765680A
Authority
CN
China
Prior art keywords
test point
test
software
point sequence
tested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510111589.7A
Other languages
English (en)
Other versions
CN104765680B (zh
Inventor
李彦成
彭云鹏
车全利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Anyi Hengtong Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anyi Hengtong Beijing Technology Co Ltd filed Critical Anyi Hengtong Beijing Technology Co Ltd
Priority to CN201510111589.7A priority Critical patent/CN104765680B/zh
Publication of CN104765680A publication Critical patent/CN104765680A/zh
Application granted granted Critical
Publication of CN104765680B publication Critical patent/CN104765680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种用于软件自动测试的方法及装置。其中,该方法包括以下步骤:确定待测试软件的测试点序列,所述测试点序列包括所述待测试软件的一个或多个测试点;从所述测试点序列中顺序获取下一个尚未被获取的测试点;根据所述测试点的测试坐标信息,控制输入设备进行测试操作;重复执行所述从所述测试点序列中顺序获取下一个尚未被获取的测试点的步骤以及所述根据所述测试点的测试坐标信息,控制输入设备进行测试操作的步骤,直至所述测试点序列中的所有测试点均已被获取。与现有技术相比,本发明通过测试点序列中的各个测试点的测试坐标信息,来控制输入设备进行测试操作,从而能够提高自动测试的有效性和效率。

Description

一种用于软件自动测试的方法及装置
技术领域
本发明涉及自动测试领域,尤其涉及一种用于软件自动测试的方法及装置。
背景技术
现有技术中,在对软件进行自动测试,例如稳定性测试时,大多通过暴力点击测试软件的稳定性。例如现有技术中,通常可以枚举出软件的界面,然后通过在软件界面内随机频繁点击,来测试软件的稳定性。然而,现有的测试方法,由于采用随机点击的方式,可能导致无效点击次数过多,测试周期过长,并影响测试效果。因此,如何提高软件自动测试的有效性是一个需要解决的问题。
发明内容
本发明的目的是提供一种用于软件自动测试的方法和装置。
根据本发明的一个方面,提供一种用于软件自动测试的方法,其中,该方法包括:
-确定待测试软件的测试点序列,所述测试点序列包括所述待测试软件的一个或多个测试点;
-从所述测试点序列中顺序获取下一个尚未被获取的测试点;
-根据所述测试点的测试坐标信息,控制输入设备进行测试操作;
-重复执行所述从所述测试点序列中顺序获取下一个尚未被获取的测试点的步骤以及所述根据所述测试点的测试坐标信息,控制输入设备进行测试操作的步骤,直至所述测试点序列中的所有测试点均已被获取。
根据本发明的另一个方面,提供一种用于软件自动测试的装置,其中,该装置包括:
-用于确定待测试软件的测试点序列的装置,所述测试点序列包括所述待测试软件的一个或多个测试点;
-用于从所述测试点序列中顺序获取下一个尚未被获取的测试点的装置;
-用于根据所述测试点的测试坐标信息,控制输入设备进行测试操作的装置;
-用于重复执行从所述测试点序列中顺序获取下一个尚未被获取的测试点以及根据所述测试点的测试坐标信息,控制输入设备进行测试操作,直至所述测试点序列中的所有测试点均已被获取的装置。
与现有技术相比,本发明通过测试点序列中的各个测试点的测试坐标信息,来控制输入设备进行测试操作,从而能够提高自动测试的有效性和效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的实施例的用于软件自动测试的方法的流程图;
图2示出根据本发明另一个方面的实施例的用于软件自动测试的装置的示意图;
图3a-c示出软件的待测试用户界面的实例;
图4a-b示出软件的待测试用户界面的另一个实例;
图5示出软件的待测试用户界面的又一个实例。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
本发明方法主要通过计算机设备来实现;所述计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。一般地,计算机设备上可以运行软件。用户可以通过计算机设备的输入设备,例如鼠标、键盘等,以及计算机设备的输出设备,例如显示屏等,来与计算机设备上所运行的软件进行交互。
通常,软件可以运行于一台或多台计算机设备上。一般地,软件可具有一个或多个用户界面。用户界面可以是在该软件所运行的计算机设备上所显示的本地用户界面。软件也可以通过网络将用户界面相关信息发送至远程客户端计算机设备,从而在远程客户端计算机设备上显示用户界面,例如在远程客户端计算机设备上所运行的浏览器中以网页的形式呈现该相应的用户界面。
用户界面中通常包括用户可操作的元素,例如按钮、输入文本框、菜单等。用户可以使用输入设备来相应地操作上述可操作元素,例如点击按钮、在输入文本框中输入文本,选择菜单中的菜单项等,以操作该软件。
现有软件自动测试技术通常通过在软件界面内随机点击,来测试软件的功能以及稳定性。然而,现有技术存在无效点击次数多,测试效率低的问题。本发明所公开的方法则解决了上述问题。
本领域技术人员应理解,此处,对于软件、用户界面以及自动测试的相关描述仅为便于读者理解本发明原理而给出的示例性描述,而非对于本发明适用范围的任何限制。本发明的范围由所附权利要求而非上述说明限定。
图1示出根据本发明一个方面的实施例的用于软件自动测试的方法的流程图。
首先,在步骤S11中,确定待测试软件的测试点序列,所述测试点序列包括所述待测试软件的一个或多个测试点。
在本文中,测试点意指对应于待测试软件的用户界面中所包括的一个或多个可操作元素的测试操作点。如上文所述,可操作元素可以为例如按钮、输入文本框、菜单等。其中,测试操作可以包括以下至少任一项:
-点击操作;
-输入操作。
测试点中包括测试坐标信息,其为该测试点所对应的一个或多个可操作元素的坐标信息。例如,如图3a所示,测试点序列1中的测试点1为对应于用户界面1中按钮A的测试操作点,则该测试点1中包括该按钮A相对于屏幕左上角的坐标信息(320,450)。在一个优选实施例中,测试点的所述测试坐标信息为相对于待测试界面的左上角的相对坐标信息。例如,如图3b所示,测试点序列1中的测试点1仍为对应于用户界面1中按钮A的测试操作点,此处用户界面1为待测试界面。由于按钮A相对于用户界面1的左上角的相对坐标信息为(123,456),则该测试点1的测试坐标信息可为(123,456)。
在另一个实例中,测试点还可包括所对应的一个或多个可操作元素的其他各种相关信息,例如该一个或多个可操作元素的测试操作信息。例如,如图3c所示,测试点序列2中的测试点2为对应于界面1中输入文本框T以及按钮B的测试点。该测试点2中包括针对输入文本框T的测试操作信息,例如“输入-password”,并包括针对按钮B的测试操作信息,例如“点击”。
本领域技术人员应理解,此处,对于测试点的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在本文中,测试点序列意指包括经排序的一个或多个测试点的序列。其中,测试点序列中的各个测试点所对应的可操作元素可以位于待测试软件的同一个用户界面中,也可以位于不同用户界面中。对测试点序列中的各个测试点依次进行测试操作后,可视为完成针对待测试软件的一项测试。不同的测试点序列可用于测试软件的不同功能。并且,当利用同一个测试点序列进行多次测试,可以测试软件的相应功能的稳定性。
在一个实施例中,可以根据实际测试需要来确定待测试软件的测试点序列。
此外,还可以为待测试软件确定测试点序列集合,其中,所述测试点序列集合中包括一个或多个测试点序列。
具体地,在一个实施例中,可以通过分析待测试软件的各个用户界面间的逻辑关系,以及各个用户界面中的可操作元素之间的逻辑关系,来确定该待测试软件的测试点序列。例如,某待测试软件包括用户界面1及用户界面2,其分别如图4a和图4b所示。通过分析其逻辑关系可知,当点击用户界面1中的按钮A后,可进入用户界面2;然后可点击用户界面2中的按钮B以完成功能AB。则相应地,可以确定测试点序列1为:测试点1(测试坐标信息(200,200))->测试点2(测试坐标信息(300,300))。其中,测试坐标信息(200,200)为按钮A相对于用户界面1的左上角的相对坐标信息;测试坐标信息(300,300)为按钮B相对于用户界面2的左上角的相对坐标信息。按照上述方式,可以确定出该待测试软件的各个测试点序列以构成该待测试软件的测试点序列集合。
在另一个实施例中,可以通过在该待测试软件的各个界面中进行操作并记录操作过程来得到测试点序列。以下仍结合图4a及图4b来举例说明。例如,可记录用户点击界面1中的按钮A后,进入用户界面2,然后点击用户界面2中的按钮B以完成功能AB这一操作过程来得到上述测试点序列1:测试点1(测试坐标信息(200,200),测试操作信息(点击))->测试点2(测试坐标信息(300,300),测试操作信息(点击))。按照上述方式,可以确定出该待测试软件的各个测试点序列以构成该待测试软件的测试点序列集合。
本领域技术人员应理解,此处,对于确定测试点序列集合的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,在步骤S11中,可以根据实际测试需要从待测试软件的测试点序列集合中确定一个测试点序列。在一个实施例中,可以从一个或多个测试点序列所构成的测试点序列集合中随机确定测试点序列。
接着,在步骤S12中,从在步骤S11中所确定的测试点序列中顺序获取下一个尚未被获取的测试点。以下结合图5进行说明。例如,在步骤S11中所确定的测试点序列为:测试点1(测试坐标信息(100,100))->测试点2(测试坐标信息(200,200))->测试点3(测试坐标信息(300,300))。假定测试点1、2、3均尚未被获取,则在本步骤中将按序获取到测试点1。
接着,在步骤S13中,根据所获取的测试点的测试坐标信息,控制输入设备进行测试操作。接上例,当所获取的测试点为测试点1(测试坐标信息(100,100)),其中,测试坐标信息为相对于屏幕左上角的坐标位置信息时,则根据其测试坐标信息(100,100),控制输入设备,例如鼠标,移动至相对于屏幕左上角坐标位置(100,100)处,然后进行缺省测试操作,例如点击操作。
在一个优选实施例中,当测试点中还包括测试操作信息时,可根据该测试操作信息来控制输入设备在相应坐标位置处进行该测试操作。以下仍结合图5进行说明。例如,所获取的测试点为测试点3(测试坐标信息(300,300),测试操作信息(输入-password);测试坐标信息(400,400),测试操作信息(点击)),其中,测试坐标信息为相对于待测试界面左上角的相对坐标信息。则根据测试点3,可控制输入设备,例如键盘,在相对于待测试界面左上角的坐标位置(300,300)处输入“password”;然后控制输入设备,例如鼠标,在相对于待测试界面左上角的坐标位置(400,400)处进行点击操作。
在另一个优选实施例中,当测试点中还包括测试等待时间信息时,可根据该测试点的测试坐标信息以及测试等待时间信息,控制输入设备等待相应的时间后在相应坐标位置处进行测试操作。
接着,在步骤S14中,重复执行步骤S12以及步骤S13,直至该测试点序列中的所有测试点均已被获取。也即,顺序依次获取该测试点序列中的各个测试点,并根据各个测试点的测试坐标信息,按照上文所述的方法来控制输入设备进行测试操作,从而完成对于待测试软件的一项测试。
在一个实施例中,还可以记录测试操作结果相关信息。该测试操作结果相关信息可以包括对于某个测试点所进行的测试操作是否成功的信息。该测试操作结果相关信息还可以包括出错信息、系统日志等信息。此外,该测试操作结果相关信息还可以包括该软件的dump(转储)信息等。
在一个优选实施例中,当需要对待测试软件进行稳定性测试时,在步骤S11中可以根据实际需要来多次选择同一个测试点序列并执行步骤S12-S14,也即,对待测试软件针对同一个测试点序列进行重复多次测试以测试待测试软件的相应功能的稳定性。
图2示出根据本发明另一个方面的实施例的用于软件自动测试的装置的示意图。
如图2所示,该用于软件自动测试的装置包括用于确定待测试软件的测试点序列的装置,所述测试点序列包括所述待测试软件的一个或多个测试点21,以下简称测试点序列确定装置21;用于从所述测试点序列中顺序获取下一个尚未被获取的测试点的装置22,以下简称测试点获取装置22;用于根据所述测试点的测试坐标信息,控制输入设备进行测试操作的装置23,以下简称控制装置23;用于重复执行从所述测试点序列中顺序获取下一个尚未被获取的测试点以及根据所述测试点的测试坐标信息,控制输入设备进行测试操作,直至所述测试点序列中的所有测试点均已被获取的装置24,以下简称重复执行装置24。
首先,测试点序列确定装置21确定待测试软件的测试点序列,所述测试点序列包括所述待测试软件的一个或多个测试点。
在本文中,测试点意指对应于待测试软件的用户界面中所包括的一个或多个可操作元素的测试操作点。如上文所述,可操作元素可以为例如按钮、输入文本框、菜单等。其中,测试操作可以包括以下至少任一项:
-点击操作;
-输入操作。
测试点中包括测试坐标信息,其为该测试点所对应的一个或多个可操作元素的坐标信息。例如,如图3a所示,测试点序列1中的测试点1为对应于用户界面1中按钮A的测试操作点,则该测试点1中包括该按钮A相对于屏幕左上角的坐标信息(320,450)。在一个优选实施例中,测试点的所述测试坐标信息为相对于待测试界面的左上角的相对坐标信息。例如,如图3b所示,测试点序列1中的测试点1仍为对应于用户界面1中按钮A的测试操作点,此处用户界面1为待测试界面。由于按钮A相对于用户界面1的左上角的相对坐标信息为(123,456),则该测试点1的测试坐标信息可为(123,456)。
在另一个实例中,测试点还可包括所对应的一个或多个可操作元素的其他各种相关信息,例如该一个或多个可操作元素的测试操作信息。例如,如图3c所示,测试点序列2中的测试点2为对应于界面1中输入文本框T以及按钮B的测试点。该测试点2中包括针对输入文本框T的测试操作信息,例如“输入-password”,并包括针对按钮B的测试操作信息,例如“点击”。
本领域技术人员应理解,此处,对于测试点的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在本文中,测试点序列意指包括经排序的一个或多个测试点的序列。其中,测试点序列中的各个测试点所对应的可操作元素可以位于待测试软件的同一个用户界面中,也可以位于不同用户界面中。对测试点序列中的各个测试点依次进行测试操作后,可视为完成针对待测试软件的一项测试。不同的测试点序列可用于测试软件的不同功能。并且,当利用同一个测试点序列进行多次测试,可以测试软件的相应功能的稳定性。
在一个实施例中,测试点序列确定装置21可以根据实际测试需要来确定待测试软件的测试点序列。
此外,该用于软件自动测试的装置还包括用于为所述待测试软件软件确定测试点序列集合的装置,以下简称测试点序列集合确定装置25(未示出),所述测试点序列集合中包括一个或多个测试点序列,。
具体地,在一个实施例中,测试点序列集合确定装置25可以通过分析待测试软件的各个用户界面间的逻辑关系,以及各个用户界面中的可操作元素之间的逻辑关系,来确定该待测试软件的测试点序列。例如,某待测试软件包括用户界面1及用户界面2,其分别如图4a和图4b所示。测试点序列集合确定装置25通过分析其逻辑关系可知,当点击用户界面1中的按钮A后,可进入用户界面2;然后可点击用户界面2中的按钮B以完成功能AB。则相应地,测试点序列集合确定装置25可以确定测试点序列1为:测试点1(测试坐标信息(200,200))->测试点2(测试坐标信息(300,300))。其中,测试坐标信息(200,200)为按钮A相对于用户界面1的左上角的相对坐标信息;测试坐标信息(300,300)为按钮B相对于用户界面2的左上角的相对坐标信息。按照上述方式,测试点序列集合确定装置25可以确定出该待测试软件的各个测试点序列以构成该待测试软件的测试点序列集合。
在另一个实施例中,测试点序列集合确定装置25可以通过在该待测试软件的各个界面中进行操作并记录操作过程来得到测试点序列。以下仍结合图4a及图4b来举例说明。例如,测试点序列集合确定装置25可记录用户点击界面1中的按钮A后,进入用户界面2,然后点击用户界面2中的按钮B以完成功能AB这一操作过程来得到测试点序列1:测试点1(测试坐标信息(200,200),测试操作信息(点击))->测试点2(测试坐标信息(300,300),测试操作信息(点击))。测试点序列集合确定装置25按照上述方式,可以确定出该待测试软件的各个测试点序列以构成该待测试软件的测试点序列集合。
本领域技术人员应理解,此处,对于测试点序列集合确定装置的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,测试点序列确定装置21可以根据实际测试需要从待测试软件的测试点序列集合中确定一个测试点序列。在一个实施例中,测试点序列确定装置21可以从一个或多个测试点序列所构成的测试点序列集合中随机确定测试点序列。
接着,测试点获取装置22从测试点序列确定装置21所确定的测试点序列中顺序获取下一个尚未被获取的测试点。以下结合图5进行说明。例如,测试点序列确定装置21所确定的测试点序列为:测试点1(测试坐标信息(100,100))->测试点2(测试坐标信息(200,200))->测试点3(测试坐标信息(300,300))。假定测试点1、2、3均尚未被获取,则测试点获取装置22将按序获取到测试点1。
接着,控制装置23根据所获取的测试点的测试坐标信息,控制输入设备进行测试操作。接上例,当测试点获取装置22所获取的测试点为测试点1(测试坐标信息(100,100)),其中,测试坐标信息为相对于屏幕左上角的坐标位置信息时,则控制装置23根据该测试点的测试坐标信息(100,100),控制输入设备,例如鼠标,移动至相对于屏幕左上角坐标位置(100,100)处,然后进行缺省测试操作,例如点击操作。
在一个优选实施例中,当测试点中还包括测试操作信息时,控制装置23可根据该测试操作信息来控制输入设备在相应坐标位置处进行该测试操作。以下仍结合图5进行说明。例如,测试点获取装置22所获取的测试点为测试点3(测试坐标信息(300,300),测试操作信息(输入-password);测试坐标信息(400,400),测试操作信息(点击)),其中,测试坐标信息为相对于待测试界面左上角的相对坐标信息。则根据测试点3,控制装置23可控制输入设备,例如键盘,在相对于待测试界面左上角的坐标位置(300,300)处输入“password”;然后控制输入设备,例如鼠标,在相对于待测试界面左上角的坐标位置(400,400)处进行点击操作。
在另一个优选实施例中,当测试点中还包括测试等待时间信息时,控制装置23可根据该测试点的测试坐标信息以及测试等待时间信息,控制输入设备等待相应的时间后在相应坐标位置处进行测试操作。
接着,重复执行装置24重复执行从所述测试点序列中顺序获取下一个尚未被获取的测试点以及根据所述测试点的测试坐标信息,控制输入设备进行测试操作,直至该测试点序列中的所有测试点均已被获取。也即,重复执行装置24将利用测试点获取装置22来顺序依次获取该测试点序列中的各个测试点,并利用控制装置23来根据各个测试点的测试坐标信息,按照上文所述的方法来控制输入设备进行测试操作,直至该测试点序列中的所有测试点均已被获取,从而完成对于待测试软件的一项测试。
在一个实施例中,该用于软件自动测试的装置还包括用于记录测试操作结果相关信息的装置,以下简称记录装置26(未示出)。该记录装置26可记录测试操作结果相关信息,例如对于某个测试点所进行的测试操作是否成功的信息。该测试操作结果相关信息还可以包括出错信息、系统日志等信息。此外,该测试操作结果相关信息还可以包括该软件的dump(转储)信息等。
在一个优选实施例中,当需要对待测试软件进行稳定性测试时,测试点序列确定装置21可以根据实际需要来多次选择同一个测试点序列,也即,对待测试软件针对同一个测试点序列进行重复多次测试以测试待测试软件相关功能的稳定性。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。

Claims (14)

1.一种用于软件自动测试的方法,其中,该方法包括:
-确定待测试软件的测试点序列,所述测试点序列包括所述待测试软件的一个或多个测试点;
-从所述测试点序列中顺序获取下一个尚未被获取的测试点;
-根据所述测试点的测试坐标信息,控制输入设备进行测试操作;
-重复执行所述从所述测试点序列中顺序获取下一个尚未被获取的测试点的步骤以及所述根据所述测试点的测试坐标信息,控制输入设备进行测试操作的步骤,直至所述测试点序列中的所有测试点均已被获取。
2.根据权利要求1所述的方法,其中,所述测试点的测试坐标信息为相对于待测试界面的左上角的相对坐标信息。
3.根据权利要求1或2所述的方法,其中,所述根据所述测试点的测试坐标信息,控制输入设备进行测试操作的步骤包括:
-根据所述测试点的测试坐标信息以及测试等待时间信息,控制输入设备等待相应的时间后进行测试操作。
4.根据权利要求1至3中任一项所述的方法,其中,所述确定待测试软件的测试点序列的步骤包括:
-从一个或多个测试点序列所构成的测试点序列集合中随机确定测试点序列,所述测试点序列包括一个或多个测试点。
5.根据权利要求1至4中任一项所述的方法,其中,所述方法还包括:
-记录测试操作结果相关信息。
6.根据权利要求1至5中任一项所述的方法,其中,所述方法还包括:
-为所述待测试软件确定测试点序列集合,其中所述测试点序列集合包括一个或多个测试点序列。
7.根据权利要求1至6中任一项所述的方法,其中,所述测试操作包括以下至少任一项:
-点击操作;
-输入操作。
8.一种用于软件自动测试的装置,其中,该装置包括:
-用于确定待测试软件的测试点序列的装置,所述测试点序列包括所述待测试软件的一个或多个测试点;
-用于从所述测试点序列中顺序获取下一个尚未被获取的测试点的装置;
-用于根据所述测试点的测试坐标信息,控制输入设备进行测试操作的装置;
-用于重复执行从所述测试点序列中顺序获取下一个尚未被获取的测试点以及根据所述测试点的测试坐标信息,控制输入设备进行测试操作,直至所述测试点序列中的所有测试点均已被获取的装置。
9.根据权利要求8所述的装置,其中,所述测试点的测试坐标信息为相对于待测试界面的左上角的相对坐标信息。
10.根据权利要求8或9所述的装置,其中,所述用于根据所述测试点的测试坐标信息,控制输入设备进行测试操作的装置用于:
-根据所述测试点的测试坐标信息以及测试等待时间信息,控制输入设备等待相应的时间后进行测试操作。
11.根据权利要求8至10中任一项所述的装置,其中,所述用于确定待测试软件的测试点序列的装置用于:
-从一个或多个测试点序列所构成的测试点序列集合中随机确定测试点序列,所述测试点序列包括一个或多个测试点。
12.根据权利要求8至11中任一项所述的装置,其中,所述装置还包括:
-用于记录测试操作结果相关信息的装置。
13.根据权利要求8至12中任一项所述的装置,其中,所述装置还包括:
-用于为所述待测试软件确定测试点序列集合的装置,其中所述测试点序列集合包括一个或多个测试点序列。
14.根据权利要求8至13中任一项所述的装置,其中,所述测试操作包括以下至少任一项:
-点击操作;
-输入操作。
CN201510111589.7A 2015-03-13 2015-03-13 一种用于软件自动测试的方法及装置 Active CN104765680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510111589.7A CN104765680B (zh) 2015-03-13 2015-03-13 一种用于软件自动测试的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510111589.7A CN104765680B (zh) 2015-03-13 2015-03-13 一种用于软件自动测试的方法及装置

Publications (2)

Publication Number Publication Date
CN104765680A true CN104765680A (zh) 2015-07-08
CN104765680B CN104765680B (zh) 2017-11-03

Family

ID=53647524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510111589.7A Active CN104765680B (zh) 2015-03-13 2015-03-13 一种用于软件自动测试的方法及装置

Country Status (1)

Country Link
CN (1) CN104765680B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893243A (zh) * 2015-12-14 2016-08-24 乐视网信息技术(北京)股份有限公司 用于测试工具的测试框架及一种测试工具
CN107273284A (zh) * 2017-04-20 2017-10-20 北京小度信息科技有限公司 测试应用程序性能的方法及装置
CN108874668A (zh) * 2018-06-04 2018-11-23 北京潘达互娱科技有限公司 一种应用测试方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916225A (zh) * 2010-09-02 2010-12-15 于秀山 图形用户界面软件功能覆盖测试方法
US20130074043A1 (en) * 2011-09-21 2013-03-21 Chengde Fu Self Generating Automation System (SGAS) including framework for automation of software functional testing
CN103309802A (zh) * 2012-03-16 2013-09-18 百度在线网络技术(北京)有限公司 一种移动终端中系统稳定性测试的方法及装置
CN103353858A (zh) * 2013-06-06 2013-10-16 百度在线网络技术(北京)有限公司 一种基于动作触摸模拟的自动化测试方法和装置
CN104050076A (zh) * 2013-03-12 2014-09-17 阿里巴巴集团控股有限公司 移动终端上的应用软件测试方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916225A (zh) * 2010-09-02 2010-12-15 于秀山 图形用户界面软件功能覆盖测试方法
CN101916225B (zh) * 2010-09-02 2012-05-02 于秀山 图形用户界面软件功能覆盖测试方法
US20130074043A1 (en) * 2011-09-21 2013-03-21 Chengde Fu Self Generating Automation System (SGAS) including framework for automation of software functional testing
CN103309802A (zh) * 2012-03-16 2013-09-18 百度在线网络技术(北京)有限公司 一种移动终端中系统稳定性测试的方法及装置
CN104050076A (zh) * 2013-03-12 2014-09-17 阿里巴巴集团控股有限公司 移动终端上的应用软件测试方法、装置及系统
CN103353858A (zh) * 2013-06-06 2013-10-16 百度在线网络技术(北京)有限公司 一种基于动作触摸模拟的自动化测试方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893243A (zh) * 2015-12-14 2016-08-24 乐视网信息技术(北京)股份有限公司 用于测试工具的测试框架及一种测试工具
CN107273284A (zh) * 2017-04-20 2017-10-20 北京小度信息科技有限公司 测试应用程序性能的方法及装置
CN107273284B (zh) * 2017-04-20 2020-12-25 北京星选科技有限公司 测试应用程序性能的方法及装置
CN108874668A (zh) * 2018-06-04 2018-11-23 北京潘达互娱科技有限公司 一种应用测试方法及装置

Also Published As

Publication number Publication date
CN104765680B (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN103810089B (zh) 自动测试基于姿态的应用
US9519401B2 (en) Providing context menu based on predicted commands
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
CN103914260B (zh) 基于触摸屏的操作对象的控制方法及装置
CN104102643B (zh) 一种进行页面快照的方法和装置
US9280451B2 (en) Testing device
US8225287B2 (en) Method for testing a system
CN109857303B (zh) 交互控制方法及装置
CN103492981A (zh) 触摸屏选择
CN105677329A (zh) 一种控制方法及电子设备
CN103164191A (zh) 网页元素拖拽方法和装置
CN104679485A (zh) 页面元素的控制方法及装置
CN110889056B (zh) 页面标记的方法及装置
CN106993091A (zh) 一种图像虚化方法及移动终端
CN105988931A (zh) 测试方法及装置
CN104765680A (zh) 一种用于软件自动测试的方法及装置
CN105260092A (zh) 一种动态改变输入键盘的方法和装置
US10210001B2 (en) Automatic execution of objects in a user interface
EP3262504A1 (en) Application event tracing
CN103412717A (zh) 一种快速定位列表顶端或末端的方法及移动设备
CN106775421A (zh) 一种截图界面恢复的方法及移动终端
CN103699552A (zh) 一种用于对计算机文件进行管理的方法、装置和设备
CN107077272B (zh) 响应于用户动作而确定启用直接操纵的命中测试
CN105094511A (zh) 测试例生成方法和测试例生成设备
US20150143289A1 (en) Automatic check box interaction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190821

Address after: 100085 Beijing, Haidian District, No. ten on the ground floor, No. 10 Baidu building, layer 2

Patentee after: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd.

Address before: 100091 C, block, building No. 4, Zhongguancun Software Park, No. 8, West flourishing West Road, Beijing, China 1-03

Patentee before: Pacify a Heng Tong (Beijing) Science and Technology Ltd.

TR01 Transfer of patent right