CN107678941A - 应用程序测试的方法及装置、存储介质和计算机设备 - Google Patents
应用程序测试的方法及装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN107678941A CN107678941A CN201710775823.5A CN201710775823A CN107678941A CN 107678941 A CN107678941 A CN 107678941A CN 201710775823 A CN201710775823 A CN 201710775823A CN 107678941 A CN107678941 A CN 107678941A
- Authority
- CN
- China
- Prior art keywords
- test
- application program
- instruction
- plug
- unit
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明涉及应用程序自动化测试的方法、装置、存储介质和计算机设备一种应用程序自动化测试的方法包括:接收在同一自动化测试框架下根据所述应用程序的测试需求所编写的若干测试用例;其中,每个所述测试用例均包括至少一个测试组件;将接收的编辑指令的第一编程语言解析为适用于所述自动化测试框架的第二编程语言后,根据所述编辑指令对所述测试组件进行编辑操作;在所述应用程序中植入用以执行所述测试用例的若干执行插件;接收并以预定的格式展示所述自动化测试的测试结果。通过将测试用例、测试组件的编辑、执行插件的植入及测试结果的展示等流程之间独立运行及管理,并实现在不同语言环境下对测试组件的编辑,进而有效提升了自动化测试的适应性。
Description
技术领域
本发明涉及软件测试技术领域,特别是涉及应用程序自动化测试的方法及装置、存储介质和计算机设备。
背景技术
目前业内针对应用程序进行自动化测试过程中,由于测试用例编写及维护、测试组件的编辑、测试用例的执行及测试结果的展现等测试流程之间是高度耦合的,使得其相互之间无法实现单独的管理,造成自动化测试的适应性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种应用程序自动化测试的方法及装置、存储介质和计算机设备,能够实现诸如测试用例的编写及维护、测试组件的编辑、测试用例的执行及测试结果的展现等测试流程之间相互独立的运行及管理,进而提升应用程序自动化测试的适应性。
一种应用程序自动化测试的方法,所述方法包括:
接收在同一自动化测试框架下根据所述应用程序的测试需求所编写的若干测试用例;其中,每个所述测试用例包括至少一个测试组件;
将接收的第一编辑指令解析为适用于所述自动化测试框架的第二编辑指令,根据所述第二编辑指令在所述自动化测试框架内对所述测试用例中的测试组件进行编辑操作;
在所述应用程序中植入用以执行所述测试用例的若干执行插件,通过所述执行插件对所述应用程序进行自动化测试;
接收并以预定的格式展示所述自动化测试的测试结果。
上述的应用程序自动化测试的方法,将测试用例的获取、测试用例中测试组件的编辑、测试用例的执行及测试结果的展示等流程相互之间独立运行及管理,并通过对编辑指令的解析操作,以实现在不同语言环境下对测试组件的编辑,进而有效提升了自动化测试的适应性。
在其中的一个实施例中,所述将接收的第一编辑指令解析为适用于所述自动化测试框架的第二编辑指令可包括:
获取根据所述应用程序的测试需求规范接口定制的解析规则;
基于所述解析规则将所接收的所述第一编辑指令解析为所述第二编辑指令;
其中,所述第一编辑指令与所述第二编辑指令之间的指令信息相同但编程语言类型不同。
在其中的一个实施例中,可采用页面操作的方式对所述测试组件进行所述编辑操作。
在其中的一个实施例中,所述在所述应用程序中植入用以执行所述测试用例的若干执行插件,通过所述执行插件对所述应用程序进行自动化测试,可包括:
在所述应用程序中植入所述若干执行插件;
接收测试指令;其中,所述若干执行插件包括多个能够执行所述测试指令的执行插件,所述多个能够执行所述测试指令的执行插件之间的执行插件内容相同但编程语言类型不同;
根据需求选择所述多个能够执行所述测试指令的执行插件中至少一个执行插件,以执行相应的所述测试用例中的测试组件。
一种应用程序自动化测试的装置,所述装置可包括:
接收模块,用于接收在同一自动化测试框架下根据所述应用程序的测试需求所编写的若干测试用例;其中,每个所述测试用例包括至少一个测试组件;
编辑模块,用于将接收的第一编辑指令解析为适用于所述自动化测试框架的第二编辑指令,且根据所述第二编辑指令在所述自动化测试框架内对所述测试用例中的测试组件进行编辑操作;
植入模块,用于在所述应用程序中植入用以执行所述测试用例的若干执行插件,通过所述执行插件对所述应用程序进行自动化测试;
展示模块,用于接收并以预定的格式展示所述自动化测试的测试结果。
上述的应用程序自动化测试的装置,通过利用接收模块、编辑模块、植入模块及展示模块等实现测试用例的获取、测试用例中测试组件的编辑、测试用例的执行及测试结果的展示等测试流程之间相互独立的运行及管理,并利用对编辑命令的解析操作,实现在不同语言环境下对测试组件的编辑,进而有效提升了自动化测试的适应性。
在其中的一个实施例中,所述编辑模块可包括:
获取单元,用于获取根据所述应用程序的测试需求规范接口定制的解析规则;
解析单元,用于基于所述解析规则将所接收的所述第一编辑指令解析为所述第二编辑指令;
其中,所述第一编辑指令与所述第二编辑指令之间的指令信息相同但编程语言类型不同。
在其中的一个实施例中,采用页面操作的方式通过所述编辑模块对所述测试组件进行所述编辑操作。
在其中的一个实施例中,所述植入模块可包括:
植入单元,用于在所述应用程序中植入所述若干执行插件;
测试指令接收单元,用于接收测试指令;其中,所述若干执行插件包括多个能够执行所述测试指令的执行插件,所述多个能够执行所述测试指令的执行插件之间的执行插件内容相同但编程语言类型不同;
选择单元,用于根据需求选择所述多个能够执行所述测试指令的执行插件中至少一个执行插件,以执行相应的所述测试用例中的测试组件。
一种计算机可读存存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述方法的步骤。
附图说明
图1为一个实施例中应用程序自动化测试方法的应用环境图;
图2为图1中数据共享服务器的内部结构图;
图3为一个实施例中应用程序自动化测试方法的流程图;
图4为图3中步骤S2的流程图;
图5为图3中步骤S3的流程图;
图6为一个实施例中应用程序自动化测试方法的时序图;
图7为一个实施例中应用程序自动化测试装置的结构图;
图8为图7中编辑模块的结构图;
图9为图7中植入模块的结构图。
具体实施方式
为了使本发明的目的、技术方法及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中应用程序自动化测试方法的应用环境图。如图1所示,本发明应用程序自动化测试方法的应用环境可包括开发客户端11、数据共享服务器12、测试客户端13和测试终端14,数据共享服务器12分别与开发客户端11、测试客户端13和测试终端14连接,测试终端14还分别与开发客户端11和测试客户端13通信连接。开发客户端11可为设置有开发工具的计算机等,该开发客户端11可用于根据应用程序的测试需求编写测试用例、解析器及执行插件等,并可将编写的测试用例及解析器等自动化测试中的基础框架内容上传至数据共享服务器12进行存储及共享,以及将执行插件嵌入于测试终端14中的应用程序中等操作;数据共享服务器12可为具有数据存储、处理及程序执行的计算机设备,如可作为测试用例、测试结果、解析器等需要共享或转存数据的存储及处理,也可用于执行诸如解析器等程序;测试客户端13则可为具有相关测试功能的计算机设备,该测试客户端13可用于测试用例的导入、测试组件的编辑、测试用例的执行及解析器的调整等操作,也可根据测试需求添加诸如测试进程及测试结果的查看等功能;测试终端14可为能够用于待测试应用程序的存储及运行的硬件设备,并能够通过在该测试终端14中存储的应用程序中嵌入用于测试执行及代理的程序,以实现对应用程序进行自动化测试。
图2为图1中数据共享服务器的内部结构图。如图2所示,上述的共享服务器可包括通过系统总线连接的诸如处理器、非易失性存储介质、内存储器、通信接口、显示装置和输入装置等。上述的处理器可用于提供计算及控制功能,以支撑整个用户端设备的运行。共享服务器中的非易失性存储介质中可存储有操作系统,如Linux、UNIX或Windows Server等操作系统;该非易失性存储介质还可包括解析器,该解析器可实现不同编程语言之间的解析转换。上述的内存储器可为非易失性存储介质中的解析器提供运行环境,该内存储器中可存储有计算机可读取指令,且该计算机可读取指令被上述处理器执行时,可使得处理器执行不同编程语言之间的解析转换。通信接口可用于与开发客户端、测试客户端和测试终端之间的数据交互及通信。上述的显示装置可为液晶显示屏或电子墨水显示屏等;输入装置可以是显示屏上覆盖的触摸层,也可以是用户端设备上设置的诸如物理按键、轨迹球或触控板等,亦可以是外接诸如实体键盘、虚拟键盘、触控板或鼠标等。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成本申请方案所应用于其上的数据共享服务器的限定,具体的数据共享服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中应用程序自动化测试方法的流程图。如图3所示,一种应用程序自动测试方法,可包括如下内容:
步骤S1,接收在同一自动化测试框架下根据待测试应用程序的测试需求所编写的若干测试用例。
示例性地,本实施例中若干测试用例可为基于同一个自动化测试框架下,根据对应用程序的需求而开发出的若干个测试用例,每个测试用例均可包括至少一个测试组件;其中,每个测试用例可对应一个用例标示(即用例ID),每个测试组件对应一个组件标示(即组件ID)。后续通过上述的用例标示及组件标示即可对所接收的测试用例和测试组件进行定位,以便于测试用例和测试组件的调取或编辑等操作。
在本实施例中,由于是基于同一自动化测试框架开发上述的若干个测试用例,故能够实现测试用例的独立化管理,进而便于业务功能测试人员独立管理提交回归自动化测试用例;另外,还可采用诸如Web等技术实现对测试用例的可视化集成管理,可在无需任何编程技术支持的条件下,使得业务功能测试人员实现对自动化测试用例的独立管理。
步骤S2,将接收的编辑指令的第一编辑指令解析为适用于上述自动化测试框架的第二编辑指令,并根据第二编辑指令对测试用例中的测试组件进行编辑。
示例性地,本实施例中第一编辑指令与第二编辑指令可为采用相异的编程语言表达相同编辑内容的两个指令集,第一编辑指令和第二编辑指令的编程语言均可以包括诸如Java、Python、Basic、Pascal、Object Pascal、C、C++、C#、ASP、ASP.NET、Perl、PHP或SQL等编程语言中的一种或多种;例如若自动化测试框架适用的语言为Java,即第二编辑指令的编程语言为Java,而当第一编辑指令的编程语言为Python时,则可利用诸如解析器等编译软件将Python语言的第一编辑指令的解析为编程语言为Java的第二编辑指令,进而适应自动化测试框架要求,以实现对测试用例中的测试组件进行编辑操作。
在本实施例中,通过利用对所接收的编辑指令的编程语言进行解析,进而能够有效的测试组件的编辑操作的灵活性,使得测试人员可根据自己的所掌握的编程语言直接对测试组件进行编辑操作,而不用考虑其自身所掌握的编程语言是否与自动化测试框架相匹配,从而也实现了测试组件的编辑操作的独立性管理。
在一个可选的实施例中,可采用页面操作的方式对测试用例中的测试组件进行编辑操作,以通过伪代码的方式便于业务人员对测试执行过程的可视化理解和操作。
步骤S3,在应用程序中植入用以执行测试用例的若干执行插件。
示例性的,上述的若干执行插件可封装于一个测试执行模块中,用以实现对测试用例中测试组件的执行;即在完成上述的若干执行插件的开发后,即可将该若干执行插件嵌入于应用程序中,用以根据测试指令依次执行对应的测试组件,进而实现对应用程序的自动化测试。
步骤S4,接收并以预定的格式展示自动化测试的测试结果。
示例性的,在利用上述的若干执行插件于应用程序中执行对应的测试用例后,获取对应用程序自动化测试后的测试结果,并以同一的预定格式对测试结果予以展示,进而可方便统一汇总及整理。
在本实施例的应用程序自动化测试方法中,通过将测试用例的开发、测试组件的编辑、测试组件的执行及测试结果的展示等测试流程独立化分离管理,便于诸如功能测试人员、自动化测试人员等测试项目成员间的协同管理;利用定制的解析规则实现同一测试用例中可采用不同的编程语言进行开发及测试,以支持不同的测试人员测试技能可在同一自动化测试框架下进行灵活的配置。
图4为图3中步骤S2的流程图。如图3~4所示,在一个实施例中,上述的步骤S2可进一步包括:
步骤S21,根据应用程序的测试需求规范接口定制解析规则。
示例性的,基于应用程序的测试需求规范接口,根据应用程序测试所需编程语言类型,定制用于不同类型的编程语言之间解析编译的解析规则;例如,若是当前的自动化测试框架的编程语言为Java,而当前测试人员所熟练掌握的编程语言是Python,就可以基于待测试应用程序的测试需求规范接口,定制用于将Python解析为Java的解析规则,以便于当前测试人员利用Python就能进行应用程序的自动化测试操作。
步骤S22,基于解析规则将所接收的第一编辑指令解析为第二编辑指令。
示例性的,根据上述定制的解析规则,将所接收的第一编辑指令解析第二编辑指令;其中,在本发明的实施例中第一编辑指令与第二编辑指令可为指令信息相同但编程语言类型不同的两个指令或指令集。
在本实施例中,通过利用解析规则(或解析器)将接收的第一编辑指令解析为能够与自动化测试框架所适应的第二编辑指令,这样就使得测试人员可根据自身所熟练掌握的编程语言就能实现对应用程序的自动化测试操作,而不用考虑其所熟练掌握的编程语言是否与自动化测试框架相匹配,进而提升应用程序自动化测试操作的灵活性。
图5为图3中步骤S3的流程图。如图3和图5所示,在一个实施例中,上述的步骤S3可进一步包括:
步骤S31,在应用程序中植入若干执行插件。
示例性地,上述的若干执行插件可包括自动化测试框架中默认的插件和其他的第三方执行插件;例如,上述的若干执行插件可包括自动化测试框架默认的Java执行插件,以便于引入各种基于Java的第三方类库,也可包括诸如QTP、PYTHON、APPNIUM等其他任务第三方执行插件。
步骤S32,接收测试指令。
示例性地,上述的测试指令可包括用以测试执行的用例标示、组件标示及执行顺序等信息。
步骤S33,根据需求选择执行插件来执行测试组件。
示例性地,基于接收的测试指令,选择对应测试用例中的测试组件进行自动化测试时,可根据自身技能的需求灵活的选择默认的执行插件或第三方执行插件执行测试组件。
在本实施中,测试人员可灵活的选择个性化的测试执行插件,根据测试指令进行高效的自动化测试操作的同时,能够基于自身测试技能保证测试执行的稳定性。
图6为一个实施例中应用程序自动化测试方法的时序图。如图1和图6所示,一种应用程序自动化测试方法包括以下内容:
首先,在测试终端14中预置待测试的应用程序之后,根据测试需求于开发客户端11上基于同一自动化测试框架开发若干个测试用例,并将该若干个测试用例上传至数据共享服务器12中进行存储。其中,该若干测试用例中的每个测试用例均可包括若干个测试组件(即测试步骤),且每个测试用例对应设置有在自动化测试过程中具有唯一标示性的用例标示(即用例ID),每个测试组件也对应设置有在其所属的测试用例中具有唯一标示的组件标示(即组件ID),以便于后续对测试用例及测试组件进行定位。
其次,开发客户端11可根据应用程序的测试需求规范接口定制解析规则(即解析器),如可基于需要解析的编程语言类型在数据共享服务器中定制一个解析器,以用于数据共享服务器12将接收的指令或数据的编程语言解析为与自动化测试框架所适应的编程语言后,进行执行或存储。当然,上述的解析规则也可包括诸如其他参数或内容进行转换的解析规范,只要其能够实现两条编辑指令之间的转换,且使得转换后的编辑指令与自动化测试框架相适应即可。
再次,测试客户端13根据测试需求对测试用例中的测试组件进行编辑,即发送第一编辑指令至数据共享服务器12;数据共享服务器12判断该第一编辑指令是否与自动化测试框架匹配;若匹配则直接执行该第一编辑指令,而若不匹配即不能直接根据该第一编辑指令进行编辑操作时,则可利用上述定制的解析规则将第一编辑指令解析为与自动化测试框架匹配的第二编辑指令,后续再根据第二编辑指令对测试组件进行编辑操作。其中,上述的判断第一编辑指令是否与自动测试框架匹配时,一般可以是判断该第一编辑指令的编程语言是否与自动化测试框架相适应,而第一编辑指令与第二编辑指令为指令内容相同编程语言不同的两个指令或指令集,例如第一编辑指令的编程语言为Python,而第二编辑指令的编辑语言为Java。当然,上述的判断操作也可判断其他参数,即只要判断出第一编辑指令无法直接执行时,就利用上述的解析规则将其解析为适应自动化测试框架的编辑指令,以提升编程操作的灵活性。
其中,上述的第一编辑指令和第二编辑指令的指令内容中包括待编辑测试组件的组件标示及该测试组件所属测试用例的用例标示,同时还可包括具体的编辑动作及内容等信息。
另外,为了提升编辑操作的可视化管理,可采用页面操作的方式实现上述利用编辑指令对对应测试组件所进行的编辑操作,以通过在页面上显示的伪代码便于对测试组件编辑操作的管理及查看。
之后,完成上述针对测试组件编辑操作之前,且于预置应用程序之后,开发客户端11于应用程序中植入用于对应用程序进行自动化测试的若干执行插件;该若干执行插件可包括自动化测试框架内置的默认插件也可包括其他任务的第三方执行插件,例如该若干执行插件包括默认内置的Java执行,还可引入各种基于Java的第三方类库,同时还可包括诸如QTP、PYTHON、APPNIUM等第三方执行插件,以便于后续测试人员在测试执行时灵活的选用。
然后,测试客户端13发送第一测试指令至数据共享服务器12,该数据共享服务器12判断该第一测试指令是否与自动化测试框架匹配,并将不匹配的第一测试指令利用上述预置的解析规则或其他解析规则解析为与自动化测试框架匹配的第二测试指令,并根据匹配的第一测试指令或解析得到的第二测试指令自适应的选择执行插件及下载对应的测试用例,以利用选择的执行插件于应用程序中执行测试用例的测试组件,以实现对应用程序的自动化测试。
例如,测试客户端13启动自动化测试后,测试终端14读取预存在数据共享服务器12中的测试用例,并根据测试客户端13下发的测试指令中的测试用例标示、测试组件标示及测试顺序等,依次向自身投递执行相应测试用例及测试组件测试程序的消息;测试终端14在执行完一个测试组件或测试用例后,均自动判断是非还有其他的测试组件或测试用例需要执行,直至测试指令中所有的测试用例中的测试组件均执行完毕后,接收整个自动测试流程。
其中,在上述的测试组件执行的过程中,还可采用编程技术中的反射机制执行测试组件,测试人员可根据自身所掌握的测试技能灵活的选择个性化的测试环境、测试用例集合以及变速齿轮技术控制自动化测试的执行过程,同时还可增加多重防错、循环重试等相关步骤,以保证测试执行的稳定。
最后,在上述测试指令执行完毕后,测试终端14将获取的测试结果与预期结果相比较,以此判断测试是否成功,并将上述的测试结果等相关测试相关的内容数据均存储至数据共享服务器12中。后续例如测试开发端11、测试客户端13等与数据共享服务器12通信连接的一些终端设备均可读取上述的测试结果等与相关测试相关的内容数据,且可在终端设备上以诸如页面浏览等预定的格式进行呈现,以方便切换每一测试步骤的执行快照截图和响应结果,并可在诸如网页上查看当前测试用例的详细执行日志,进而可有效提高测试人员问题定位的效率。
例如,在登陆自动化测试管理节点后,选择一条测试用例后点击测试脚本,进而可在测试脚本编辑页面编写测试组件,该页面支持诸如API、GUI、Android等各种自动测试方法相关的测试组件编写;在完成上述测试组件的编辑后,可选择该测试组件所属的测试用例来组织测试计划后,选择内置的Java执行插件或其他第三方的执行插件执行该测试组件;执行上述测试组件后即可在测试结果界面查看生成的测试结果,并可在详细日志功能界面进行诸如分析定位等操作。
需要注意的是,上述的开发客户端11和测试客户端13可为同一台计算机设备,数据共享服务器12和测试终端14也可为同一个均有数据存储及处理的电子设备,甚至在特殊的情况下可使用同一台计算机分别实现上述的开发客户端11、数据共享服务器12、测试客户端13和测试终端14所能实现的功能;在本发明的实施例中,为了使得阐述更加清晰而将其各自分开进行阐述,但其不应理解为对本发明的限制。另外,也可设置在测试终端14中设置解析器,以使得开发客户端11和测试客户端13能够采用不同的编程语言对测试终端进行各项操作。
在本实施的应用程序自动化测试方法中,可在统一的自动化测试框架体系下,实现无需特殊编程技术支持即可实现业务功能测试人员独立管理提交自己的回归自动化测试用例,同时测试人员还可根据自己具备的编程技能在同一自动化测试框架下协同工作,并可灵活的选择个性化的测试环境、测试用例集合以及变速齿轮技术控制自动化测试的执行过程,以在有效的提升工作效率的同时,保证测试执行的稳定性;另外,采用页面浏览的方式展示测试结果,可查看每一测试组件执行的日志及快照,还能极大的提高测试人员的问题定位能力。
图7为一个实施例中应用程序自动化测试装置的结构图。如图7所示,一种自动化测试装置,可包括接收模块21、存储模块22、编辑模块23、植入模块24和展示模块25等,上述的接收模块21可用以接收在同一自动化测试框架下根据所述应用程序的测试需求所编写的若干测试用例,并将该若干测试用例存储至存储模块进行保存及共享,且每个测试用例均可包括至少一个测试组件;编辑模块23,用于将接收的第一编辑指令解析为适用于自动化测试框架的第二编辑指令,且根据第二编辑指令在自动化测试框架内对存储在存储模块22上的测试用例中测试组件进行编辑操作,该第一编辑指令和第二编辑指令为指令内容相同但编程语言相异的两条指令或指令集;植入模块24则可用于在应用程序中植入用以执行测试用例的若干执行插件,以对应用程序进行自动化测试;展示模块25则用于接收并以预定的格式展示自动化测试的测试结果。
具体的,参见图1和图7所示,开发客户端11基于测试需求且基于同一自动化测试框架的基础上,开发并发送若干个测试用例至接收模块21,以将开发的该若干个测试用例存储至存储模块中,以供其他终端设备进行调用及编辑;测试客户端13则可发送第一编辑指令至编辑模块23,该编辑模块23将该第一编辑指令解析为与自动化测试框架相适应的第二编辑指令后,利用该第二编辑指令对测试用例中的测试组件进行编辑操作;植入模块24向预置有应用程序的测试终端14中植入若干执行插件,该若干执行插件可在应用程序中执行上述的测试用例的测试组件,以实现对应用程序的自动化测试操作;展示模块25则可通过调取测试终端14存储至存储模块22中的测试结果,并以诸如页面浏览等预定的方式进行测试结果的展示。
上述的应用程序自动化测试的装置,通过利用诸如接收模块、编辑模块、植入模块及展示模块等实现测试用例的获取、测试用例中测试组件的编辑、测试用例的执行及测试结果的展示等测试流程之间相互独立的运行及管理,并可利用对编辑命令的解析操作,实现在不同语言环境下对测试组件的编辑,进而有效提升了自动化测试的灵活性。
图8为图7中编辑模块的结构图。如图8所示,在其中的一个实施例中,上述的编辑模块23可包括获取单元231、解析单元232和编辑单元233;获取单元231可用于根据应用程序的测试需求规范接口定制解析规则;解析单元232可用于基于解析规则将所接收的第一编辑指令解析为第二编辑指令,且第一编辑指令与第二编辑指令之间的指令信息相同但编程语言类型不同;编辑单元233则可根据解析后得到的第二编辑指令对测试用例中的测试组件进行编辑操作。其中,可采用页面操作的方式利用上述的编辑单元233对测试组件进行编辑,以提升测试组件编辑操作的可视化管理。
在本实施例中,通过解析单元232可实现使用不同的编程语言对测试组件进行编辑,以在统一的自动化测试框架下实现各种测试人员之间更好的协同工作,进而有效的提升工作效率。
图9为图7中植入模块的结构图。如图9所示,植入模块24可包括植入单元241、测试指令接收单元242和选择单元243,植入单元241可用于在应用程序中植入若干执行插件,测试指令接收单元242可用于接收用以执行相应的测试用例中的测试组件的测试指令,选择单元243可用于根据需求选择多个能够执行测试指令的执行插件中至少一个执行插件;其中,上述若干执行插件可包括多个能够执行测试指令的执行插件,多个能够执行所述测试指令的执行插件之间的执行插件内容相同但编程语言类型不同。
本发明实施例中的应用程序自动化测试装置是与应用程序自动化测试方法的实施例所相对应的结构,其两者之间的技术内容均可相互适用,即记载在应用程序自动化测试方法实施例中的技术内容均可适应性的用于应用程序自动化测试装置的实施例中,而为了阐述简便,在应用程序自动化测试装置实施例中未记载与应用程序自动化测试方法实施例重复的内容,但其不应理解为对本发明实施例中的限制。
参见图2所示,一种计算机可读存存储介质,其上可存储有计算机程序,该程序被处理器执行时可实现以下步骤:接收在同一自动化测试框架下根据应用程序的测试需求所编写的若干测试用例;其中,每个测试用例均包括至少一个测试组件;将接收的第一编辑指令解析为适用于自动化测试框架的第二编辑指令,根据所述第二编辑指令在自动化测试框架内对测试用例中测试组件进行编辑操作;在应用程序中植入用以执行测试用例的若干执行插件,以对应用程序进行自动化测试;接收并以预定的格式展示自动化测试的测试结果。
上述对于计算机可读存介质的限定可以参见上文中对于应用程序自动化测试方法的具体限定,在此不再赘述。
参见图2所示,一种计算机设备,例如数据共享服务器,可包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中该存储器可以包括非易失性存储介质以及内存储器,上述计算机程序可以存储在非易失性存储介质中;处理器执行上述计算机程序时可实现以下步骤:接收在同一自动化测试框架下根据应用程序的测试需求所编写的若干测试用例;其中,每个测试用例均包括至少一个测试组件;将接收的第一编辑指令解析为适用于自动化测试框架的第二编辑指令,根据所述第二编辑指令在自动化测试框架内对测试用例中测试组件进行编辑操作;在应用程序中植入用以执行测试用例的若干执行插件,以对应用程序进行自动化测试;接收并以预定的格式展示自动化测试的测试结果。
上述对于计算机设备的限定可以参见上文中对于应用程序自动化测试方法的具体限定,在此不再赘述。
需要说明的是,实现上述方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一计算机可读取存储介质中;上述的程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,简称ROM)或随机存储记忆体(Random Access Memory,简称RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序自动化测试的方法,其特征在于,所述方法包括:
接收在同一自动化测试框架下根据所述应用程序的测试需求所编写的若干测试用例;其中,每个所述测试用例包括至少一个测试组件;
将接收的第一编辑指令解析为适用于所述自动化测试框架的第二编辑指令,根据所述第二编辑指令在所述自动化测试框架内对所述测试用例中的测试组件进行编辑操作;
在所述应用程序中植入用以执行所述测试用例的若干执行插件,通过所述执行插件对所述应用程序进行自动化测试;
接收并以预定的格式展示所述自动化测试的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述将接收的第一编辑指令解析为适用于所述自动化测试框架的第二编辑指令包括:
获取根据所述应用程序的测试需求规范接口定制的解析规则;
基于所述解析规则将所接收的所述第一编辑指令解析为所述第二编辑指令;
其中,所述第一编辑指令与所述第二编辑指令之间的指令信息相同但编程语言类型不同。
3.根据权利要求1所述的方法,其特征在于,采用页面操作的方式对所述测试组件进行所述编辑操作。
4.根据权利要求1所述的方法,其特征在于,所述在所述应用程序中植入用以执行所述测试用例的若干执行插件,通过所述执行插件对所述应用程序进行自动化测试,包括:
在所述应用程序中植入所述若干执行插件;
接收测试指令;其中,所述若干执行插件包括多个能够执行所述测试指令的执行插件,所述多个能够执行所述测试指令的执行插件之间的执行插件内容相同但编程语言类型不同;
根据需求选择所述多个能够执行所述测试指令的执行插件中至少一个执行插件用以执行相应的所述测试用例中的测试组件。
5.一种应用程序自动化测试的装置,其特征在于,所述装置包括:
接收模块,用于接收在同一自动化测试框架下根据所述应用程序的测试需求所编写的若干测试用例;其中,每个所述测试用例包括至少一个测试组件;
编辑模块,用于将接收的第一编辑指令解析为适用于所述自动化测试框架的第二编辑指令,且根据所述第二编辑指令在所述自动化测试框架内对所述测试用例中的测试组件进行编辑操作;
植入模块,用于在所述应用程序中植入用以执行所述测试用例的若干执行插件,通过所述执行插件对所述应用程序进行自动化测试;
展示模块,用于接收并以预定的格式展示所述自动化测试的测试结果。
6.根据权利要求5所述的装置,其特征在于,所述编辑模块包括:
获取单元,用于获取根据所述应用程序的测试需求规范接口定制的解析规则;
解析单元,用于基于所述解析规则将所接收的所述第一编辑指令解析为所述第二编辑指令;
其中,所述第一编辑指令与所述第二编辑指令之间的指令信息相同但编程语言类型不同。
7.根据权利要求5所述的装置,其特征在于,采用页面操作的方式通过所述编辑模块对所述测试组件进行所述编辑操作。
8.根据权利要求5所述的装置,其特征在于,所述植入模块包括:
植入单元,用于在所述应用程序中植入所述若干执行插件;
测试指令接收单元,用于接收测试指令;其中,所述若干执行插件包括多个能够执行所述测试指令的执行插件,所述多个能够执行所述测试指令的执行插件之间的执行插件内容相同但编程语言类型不同;
选择单元,用于根据需求选择所述多个能够执行所述测试指令的执行插件中至少一个执行插件,以执行相应的所述测试用例中的测试组件。
9.一种计算机可读存存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~4中任意一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~4中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710775823.5A CN107678941A (zh) | 2017-08-31 | 2017-08-31 | 应用程序测试的方法及装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710775823.5A CN107678941A (zh) | 2017-08-31 | 2017-08-31 | 应用程序测试的方法及装置、存储介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107678941A true CN107678941A (zh) | 2018-02-09 |
Family
ID=61135349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710775823.5A Pending CN107678941A (zh) | 2017-08-31 | 2017-08-31 | 应用程序测试的方法及装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678941A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109308257A (zh) * | 2018-08-13 | 2019-02-05 | 北京奇虎科技有限公司 | 测试任务执行方法、装置、电子设备及计算机存储介质 |
CN111209210A (zh) * | 2020-01-15 | 2020-05-29 | 北京明略软件系统有限公司 | 一种生成测试用例方法、装置、电子设备及存储介质 |
CN111382055A (zh) * | 2018-12-29 | 2020-07-07 | 贝壳技术有限公司 | 一种基于统一描述语言的自动化单元测试方法及装置 |
CN111773733A (zh) * | 2020-07-06 | 2020-10-16 | 北京思明启创科技有限公司 | 基于Arcade平台的编程方法、设备及存储介质 |
CN112000386A (zh) * | 2019-05-08 | 2020-11-27 | 北京奇虎科技有限公司 | 一种应用的实现方法和装置 |
CN112187580A (zh) * | 2020-09-29 | 2021-01-05 | 苏州迈科网络安全技术股份有限公司 | 网关插件自动化测试框架及测试方法 |
CN112181822A (zh) * | 2020-09-24 | 2021-01-05 | 北京达佳互联信息技术有限公司 | 一种测试方法和应用程序的启动耗时测试方法 |
CN112559339A (zh) * | 2020-12-11 | 2021-03-26 | 中国信托登记有限责任公司 | 一种基于数据模板引擎的自动化测试验证方法及其测试系统 |
CN113190466A (zh) * | 2021-06-08 | 2021-07-30 | 科东(广州)软件科技有限公司 | 自动化测试方法、装置、设备及介质 |
CN113220563A (zh) * | 2021-04-12 | 2021-08-06 | 成都安易迅科技有限公司 | 一种测试用例生成方法、系统、存储介质及计算机设备 |
CN113377638A (zh) * | 2021-06-11 | 2021-09-10 | 北京百度网讯科技有限公司 | 性能测试工具的生成方法和装置 |
CN115840690A (zh) * | 2022-06-29 | 2023-03-24 | 北京永信至诚科技股份有限公司 | 接口测试数据的可视化服务方法、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331971A (zh) * | 2011-09-01 | 2012-01-25 | 北京用友政务软件有限公司 | 一种基于qtp的自动化测试方法及系统 |
CN102722437A (zh) * | 2012-05-29 | 2012-10-10 | 北京空间飞行器总体设计部 | 一种基于组件与脚本的航天器测试系统及测试方法 |
CN105487977A (zh) * | 2015-11-30 | 2016-04-13 | 北京锐安科技有限公司 | 一种面向敏捷的自动化测试管理系统和方法 |
CN107015903A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种界面测试程序的生成方法、装置及电子设备 |
-
2017
- 2017-08-31 CN CN201710775823.5A patent/CN107678941A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331971A (zh) * | 2011-09-01 | 2012-01-25 | 北京用友政务软件有限公司 | 一种基于qtp的自动化测试方法及系统 |
CN102722437A (zh) * | 2012-05-29 | 2012-10-10 | 北京空间飞行器总体设计部 | 一种基于组件与脚本的航天器测试系统及测试方法 |
CN105487977A (zh) * | 2015-11-30 | 2016-04-13 | 北京锐安科技有限公司 | 一种面向敏捷的自动化测试管理系统和方法 |
CN107015903A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种界面测试程序的生成方法、装置及电子设备 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109308257A (zh) * | 2018-08-13 | 2019-02-05 | 北京奇虎科技有限公司 | 测试任务执行方法、装置、电子设备及计算机存储介质 |
CN111382055A (zh) * | 2018-12-29 | 2020-07-07 | 贝壳技术有限公司 | 一种基于统一描述语言的自动化单元测试方法及装置 |
CN111382055B (zh) * | 2018-12-29 | 2023-09-15 | 贝壳技术有限公司 | 一种基于统一描述语言的自动化单元测试方法及装置 |
CN112000386A (zh) * | 2019-05-08 | 2020-11-27 | 北京奇虎科技有限公司 | 一种应用的实现方法和装置 |
CN111209210A (zh) * | 2020-01-15 | 2020-05-29 | 北京明略软件系统有限公司 | 一种生成测试用例方法、装置、电子设备及存储介质 |
CN111773733A (zh) * | 2020-07-06 | 2020-10-16 | 北京思明启创科技有限公司 | 基于Arcade平台的编程方法、设备及存储介质 |
CN111773733B (zh) * | 2020-07-06 | 2024-04-19 | 北京思明启创科技有限公司 | 基于Arcade平台的编程方法、设备及存储介质 |
CN112181822A (zh) * | 2020-09-24 | 2021-01-05 | 北京达佳互联信息技术有限公司 | 一种测试方法和应用程序的启动耗时测试方法 |
CN112187580A (zh) * | 2020-09-29 | 2021-01-05 | 苏州迈科网络安全技术股份有限公司 | 网关插件自动化测试框架及测试方法 |
CN112559339B (zh) * | 2020-12-11 | 2023-06-13 | 中国信托登记有限责任公司 | 一种基于数据模板引擎的自动化测试验证方法及其测试系统 |
CN112559339A (zh) * | 2020-12-11 | 2021-03-26 | 中国信托登记有限责任公司 | 一种基于数据模板引擎的自动化测试验证方法及其测试系统 |
CN113220563A (zh) * | 2021-04-12 | 2021-08-06 | 成都安易迅科技有限公司 | 一种测试用例生成方法、系统、存储介质及计算机设备 |
CN113220563B (zh) * | 2021-04-12 | 2023-11-17 | 成都安易迅科技有限公司 | 一种测试用例生成方法、系统、存储介质及计算机设备 |
CN113190466A (zh) * | 2021-06-08 | 2021-07-30 | 科东(广州)软件科技有限公司 | 自动化测试方法、装置、设备及介质 |
CN113377638A (zh) * | 2021-06-11 | 2021-09-10 | 北京百度网讯科技有限公司 | 性能测试工具的生成方法和装置 |
CN113377638B (zh) * | 2021-06-11 | 2023-10-27 | 北京百度网讯科技有限公司 | 性能测试工具的生成方法和装置 |
CN115840690A (zh) * | 2022-06-29 | 2023-03-24 | 北京永信至诚科技股份有限公司 | 接口测试数据的可视化服务方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678941A (zh) | 应用程序测试的方法及装置、存储介质和计算机设备 | |
CN104699616B (zh) | 一种应用测试的方法、装置及系统 | |
CN105378493B (zh) | 用于支持协议无关器件测试系统中协议重新配置的基于云的基础设施 | |
CN107992409A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN112270149B (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN104050078B (zh) | 测试脚本生成系统 | |
US9934136B2 (en) | Automated generation of scripted and manual test cases | |
US20050144529A1 (en) | Method for defined derivation of software tests from use cases | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
CN105143895B (zh) | 从交互式图形用户界面中自动生成测试类预编译头 | |
CN107133174A (zh) | 测试用例代码自动生成装置与方法 | |
CN105302706B (zh) | 应用程序测试方法和装置 | |
CN103399814B (zh) | 自动化测试的方法及装置 | |
US20060236327A1 (en) | GUI-based API for test systems | |
CN108845940A (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN107391219B (zh) | 函数编译方法和装置 | |
CN109885480A (zh) | 一种基于调试桥的自动化界面兼容性测试方法及装置 | |
US11245601B2 (en) | Automated integrated test system and method thereof | |
CN106897207A (zh) | 用户界面测试方法与装置 | |
CN107526679A (zh) | 自动化测试框架、基于其上的自动化测试方法、存储介质和计算机设备 | |
CN104364766A (zh) | 测试仪器基于来自测试中系统的信息的定制操作 | |
CN109101430A (zh) | 测试方法、装置和设备 | |
CN109815115A (zh) | 调试桥接口的方法及装置、计算机设备、存储介质 | |
CN105092992A (zh) | 用于在ate上进行向量控制的测试的方法和设备 | |
CN106708528A (zh) | 脚本生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210604 |