CN106874204A - 自动化测试定制方法及定制系统 - Google Patents
自动化测试定制方法及定制系统 Download PDFInfo
- Publication number
- CN106874204A CN106874204A CN201710081408.XA CN201710081408A CN106874204A CN 106874204 A CN106874204 A CN 106874204A CN 201710081408 A CN201710081408 A CN 201710081408A CN 106874204 A CN106874204 A CN 106874204A
- Authority
- CN
- China
- Prior art keywords
- test
- script
- webpage
- automatic test
- custom
- 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
-
- 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/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动化测试定制方法,包括如下步骤:响应于用户在网页页面对测试参数模块的选取指令,依据该些选取指令的组合关系生成可执行脚本;接收用户在网页页面定制的测试计划,将用户为所述测试计划关联的一个或多个所述可执行脚本转换为脚本汇编部件;启动所述测试计划以便使其按预定计划执行其相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中。本发明还公开一种自动化测试定制系统,其包括组合模块、转换模块和执行模块。本发明自动化测试定制方法和自动化测试定制系统简单易用,避免了大量重复编写可执行脚本工作,能提高测试效率和节省测试时间。
Description
技术领域
本发明涉及计算机领域,具体而言,本发明涉及一种基于网页页面的自动化测试定制方法和实现该方法的自动化测试定制系统。
背景技术
软件测试(Software Testing)是一种用来促进及鉴定软件的正确性、完整性、安全性和质量的过程,也可以说是一种审核或比较实际输出结果与预期输出结果的过程。软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估。
前端Web自动化测试方式,最普遍的是直接使用selenium、robot framework等技术,对于每个使用者来说,都需要系统学习相关知识,如编程技术,了解相关原理,学习调试技术等,另外环境的安装搭建需要每个人搭建一套,比较繁琐和低效。业内大部分公司对于这种测试用例都是通过jenkins等系统集成工具来组织管理的,而jenkins这些系统集成工具的搭建,维护以及用例运行等方面都需要很多人力和时间成本。因此需要开发一套自动化测试平台,对于没有编程技术的使用人员,只需要很短的学习时间就能完全掌握和使用。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,提供一种基于网页页面的自动化测试平台的定制方法和定制系统。利用本发明所提供的方法和系统,可以实现使用人员在网页页面端上与自动化测试平台进行交互,实现自动化测试用例或脚本的编写、调试、运行和管理。
为达到以上技术目的,本发明采用的技术方案如下:
第一方面,本发明提供了一种自动化测试定制方法,包括如下步骤:
响应于用户在网页页面对测试参数模块的选取指令,依据该些选取指令的组合关系生成可执行脚本;
接收用户在网页页面定制的测试计划,将用户为所述测试计划关联的一个或多个所述可执行脚本转换为脚本汇编部件;
启动所述测试计划以便使其按预定计划执行其相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中。
结合第一方面,本发明在第一方面的第一种实现方式中,所述测试参数模块根据被测试对象的内部逻辑进行模块化设计。
结合第一方面,本发明在第一方面的第二种实现方式中,所述对测试参数模块的选取通过以下至少一种方式实现:
从网页页面所显示的多级菜单中逐一进行单项选择和/或多项选择;
在网页页面所显示的命令调用框中利用编程语言进行命令编写;
在网页页面所显示的数据导入区域导入测试数据。
结合第一方面的第二种实现方式,本发明在第一方面的第三种实现方式中,所述测试数据包括由用户选取不同数据库及其相应的数据存储方式后输入的测试数据和/或系统随机生成的测试数据。
结合第一方面的第一种实现方式,本发明在第一方面的第四种实现方式中,所述可执行脚本控制所述被测试对象执行一个或多个运算操作动作,由云端基于所述选取指令的组合依据预设的规则自动翻译而生成。
结合第一方面的第二种实现方式,本发明在第一方面的第五种实现方式中,,所生成的可执行脚本存入到云端的数据库中以备调用。
结合第一方面,本发明在第一方面的第六种实现方式中,所述测试计划限定了所关联的一个或多个可执行脚本的执行条件,以符合被测试对象内部逻辑所产生的事件流。
结合第一方面的第六种实现方式,本发明在第一方面的第七种实现方式中,所述执行条件由测试启动时间参数、测试启动条件参数、脚本执行顺序列表、脚本执行次数参数和测试中止条件参数中的至少一项所限定。
结合第一方面,本发明在第一方面的第八种实现方式中,所述测试计划对所关联的一个或多个可执行脚本中的变量进行赋值,以符合被测试对象内部逻辑所产生的事件流。
结合第一方面,本发明在第一方面的第九种实现方式中,显示在网页页面的测试结果包括以下至少一项内容:
所述测试计划的每个可执行脚本或脚本汇编部件的运行状态;
所述可执行脚本或脚本汇编部件的运行结果;
对所述运行结果的统计数据;
对执行失败的脚本的标注和分析。
结合第一方面的第九种实现方式,本发明在第一方面的第十种实现方式中,显示在网页页面的测试结果还包括从网页页面截取并附加标记的图形文件,所述图形文件与测试功能点标注列表相关联。
结合第一方面,本发明在第一方面的第十一种实现方式中,所述网页页面来自具有不同cookies网页端。
结合第一方面,本发明在第一方面的第十二种实现方式中,所述网页页面支持使用不同类型的浏览器打开。
第二方面,本发明提供一种自动化测试定制系统,其包括
组合模块,响应于用户在网页页面对测试参数模块的选取指令,依据该些选取指令的组合关系生成可执行脚本;
转换模块,接收用户在网页页面定制的测试计划,将用户为所述测试计划关联的一个或多个所述可执行脚本转换为脚本汇编部件;
执行模块,启动所述测试计划以便使其按预定计划执行其相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中。
结合第二方面,本发明的第一种实现方式中,所述测试参数模块根据被测试对象的内部逻辑进行模块化设计。
结合第二方面的第一种实现方式,本发明的第二种实现方式中,所述组合模块还包括用于获取用户对所述测试参数模块的选取的第一输入单元;所述输入单元包括多级菜单、命令调用框和数据导入区域中的至少一种。
结合第二方面的第二种实现方式,本发明的第三种实现方式中,所述数据导入区域用于导入测试数据,所述测试数据包括由用户选取不同数据库及其相应的数据存储方式后输入的测试数据和/或系统随机生成的测试数据。
结合第二方面,本发明的第四种实现方式中,还包括翻译模块,用于基于所述选取指令的组合依据预设的规则自动翻译所述可执行脚本,所述可执行脚本控制所述被测试对象执行一个或多个运算操作动作。
结合第二方面,本发明的第五种实现方式中,还包括存储模块,用于将所生成的可执行脚本保存起来以备调用。
结合第二方面的第五种实现方式,本发明的第六种实现方式中,所述存储模块设置在云端。
结合第二方面的第一种实现方式,本发明的第七种实现方式中,所述组合模块还包括用于获取用户对所述测试计划定制的第二输入单元。
结合第二方面的第七种实现方式,本发明的第八种实现方式中,所述第二输入单元用于限定与所述测试计划关联的一个或多个可执行脚本的执行条件,以符合被测试对象内部逻辑所产生的事件流。
结合第二方面的第八种实现方式,本发明的第九种实现方式中,所述第二输入单元用于输入限定所述执行条件的测试启动时间参数、测试启动条件参数、脚本执行顺序列表、脚本执行次数参数和测试中止条件参数中的至少一项。
结合第二方面的第七种实现方式,本发明的第十种实现方式中,所述第二输入单元用于对所述测试计划所关联的一个或多个可执行脚本中的变量进行赋值,以符合被测试对象内部逻辑所产生的事件流。
结合第二方面,本发明的第十一种实现方式中,所述执行模块还包括输出显示单元,用于在网页页面输出并显示以下至少一项测试结果的内容:
所述测试计划的每个可执行脚本或脚本汇编部件的运行状态;
所述可执行脚本或脚本汇编部件的运行结果;
对所述运行结果的统计数据;
对执行失败的脚本的标注和分析。
结合第二方面的第十一种实现方式,本发明的第十二种实现方式中,所述执行模块还包括截图单元,用于从网页页面截取并附加标记以形成图形文件,所述图形文件与测试功能点标注列表相关联。
结合第二方面,本发明的第十三种实现方式中,所述网页页面来自具有不同cookies网页端。
结合第二方面,本发明的第十四种实现方式中,所述网页页面支持使用不同类型的浏览器打开。
与现有技术相比较,本发明的优势在于:
(1)本发明的自动化测试定制方法及定制系统,根据被测试对象的内部逻辑对测试参数进行模块化划分,并且在网页端为用户提供了包括自然语言在内的各种选择步骤选择,用户点击各个步骤后将各个测试参数进行组合,在后台自动翻译生成可执行脚本,简化了脚本的编写过程;
(2)本发明的自动化测试定制方法及定制系统,网页端还可以进行测试计划的定制,也是通过各种选择步骤选择,限定测试过程的执行条件和变量,即可形成各个针对特定测试场景的脚本汇编部件,所述脚本汇编部件相当于测试用例;
(3)本发明的自动化测试定制方法及定制系统,所述自动声场的可执行脚本和测试计划都存储在云端,便于各个不同的使用人员调用,或者便于同一个使用人员在不同的网页页面进行调用,减少了自动化测试平台的对设备的限制,更便于统一管理和综合运用;
(4)本发明的自动化测试定制方法及定制系统,增加了动态抓图并标注的功能,便于记录测试功能点,方便使用人员之间的交流,也便于自动化测试平台开发或使用的记录文件的形成。
本发明提出的上述方案,对现有系统的改动很小,不会影响系统的兼容性,而且实现简单、高效。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明自动化测试定制方法的流程示意图。
图2为被测对象内部逻辑的事件流的一实施例示意图。
图3为本发明自动化测试定制系统的组织架构示意图。
图4为本发明自动化测试定制系统的一实施例组织架构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
本发明基于B/S架构(即浏览器和服务器架构),用户界面通过浏览器实现(即网页页面),一部分事务逻辑在前端(即浏览器)实现,但是主要事务逻辑在服务器端/云端实现。
实施例一
自动化测试定制方法
参考图1,本发明的自动化测试定制方法包括如下步骤:
S1:响应于用户在网页页面对测试参数模块的选取指令,依据该些选取指令的组合关系生成可执行脚本。
所述可执行脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等,用于控制所述被测试对象执行一个或多个运算操作动作。例如:根据输入的变量,通过运算输出一个与所述变量相关的结果;或者点击某个按钮,执行所述按钮对应需要执行的动作。各类脚本尤其在网页设计中被广泛地应用,脚本不仅可以减小网页的规模和提高网页浏览速度,还可以使网页的功能更丰富,本发明中,各种定制的可执行脚本可以满足自动化测试中各种测试条件的需要。
所述测试参数模块根据被测对象的内部逻辑进行设计,即基于白盒测试原理对被测对象进行测试,其中被测对象可以是程序或程序中的某一功能模块,白盒测试又称结构测试或基于软件代码的测试,主要是检查程序的内部结构、逻辑、循环和路径,白盒测试全面了解程序内部逻辑结构,对所有逻辑路径进行测试。
所述测试参数模块根据所述内部逻辑进行模块化设计,以便于通过可视化的网页页面对每个模块中的各个变量进行选择选定。例如:将统计销售量的功能模块化显示在网页页面中,其中包括销售期模块、销售目标模块、实际销售统计模块等。以所述实际销售统计模块为例,该实际销售统计模块可以设置统计分类方式的判断功能,设定读取每一条销售记录时,应该提取销售记录中的什么内容进行统计分类的判断。
若选定交款日和提货日,测试执行时,后台(或云端)会对每一条销售记录的交款日和提货日的先后进行比较,当判断交款日早于提货日,该条销售记录划归到提货制销售统计数据中;当判断交款日迟于提货日,该条销售记录划归到送货制销售统计数据中;当判断交款日与提货日在同一天,该条销售记录划归到现场销售统计数据中。
若选定销售区域,测试执行时,后台会对不同销售区域的销售统计数据进行整合,最后可能形成区域销售统计表/图,或者结合其他统计数据形成具有针对性的统计表/图。
进一步地,所述对测试参数模块的选取通过以下至少一种方式实现:
从网页页面所显示的多级菜单中逐一进行单项选择和/或多项选择;如上述销售记录的提取内容可以通过所述多级菜单的方式进行选择。
在网页页面所显示的命令调用框中利用编程语言进行命令编写;所述编程语言优选自然语言,同时支持if选择方式、for循环方式、子函数嵌套、python脚本调用等。如上述统计销售量的功能模块可以通过编程语言增加其他统计内容,例如增加统计某一产品的所有型号的销售量与销售地区的关联度。
在网页页面所显示的数据导入区域导入测试数据;所述测试数据包括由用户选取不同数据库及其相应的数据存储方式后输入的测试数据和/或系统随机生成的测试数据。例如导入随机生成的虚拟的或实际的批量销售记录,用于测试该统计销售量的功能模块的运行情况。所导入的批量数据可以用于重复执行同一所述可执行脚本,或者用于执行不同的所述可执行脚本。
所述测试参数模块的选取方式不限于上述三种选取方式,本领域技术人员公知的其他可视化的选取方式都可以予以运用,这不构成对本发明的限制。
进一步地,浏览器将用户对测试参数的选取操作生成选取指令经TCP/IP协议通过远程接口发送至云端服务器,云端服务器响应于用户的选取指令,依据预设的规则将所述测试参数的组合关系自动翻译生成一个或若干个所述可执行脚本。再以上述统计销售量的模块为例,用户通过多个步骤的选择,设定将每一条销售记录中的交款日和提款日进行提取并且进行比对,并增加与货号和销售地区的关联度,最终形成能够统计分析不同销售地区消费偏好的可执行脚本。
所述通过云端翻译生成的可执行脚本(如所述统计分析不同销售地区消费偏好的可执行脚本)将存入到数据库中,形成脚本池,以备调用。所述数据库优选设置在云端,以支持更多的所述可执行脚本的存储,也可以加快前台网页页面的运行效率。
S2:接收用户在网页页面定制的测试计划,将用户为所述测试计划关联的一个或多个所述可执行脚本转换为脚本汇编部件。
所述测试计划被配置为包括测试相应的被测对象内部逻辑流程所产生的事件流,所述事件流包括事件基本流和备选流,基本流是测试场景经过的最简单的路径,每个备选流自基本流开始,之后备选流会在某个特定条件下被执行,备选流可能会重新加入基本流中,也可能是另一个备选流的起源,或者终止该测试场景。将被测对象的内部逻辑所产生的基本流与备选流经过不同组合,覆盖该被测对象的代码逻辑中所有可能的路径。如图2是一个实施例的被测对象内部逻辑的事件流,包括基本流和备选流1、2、3、4,通过基本流与备选流的组合,可确定如下多种场景:
①场景1:基本流;
②场景2:基本流备选流1;
③场景3:基本流备选流1备选流2;
④场景4:基本流备选流3;
⑤场景5:基本流备选流3备选流1:
⑥场景6:基本流备选流3备选流1备选流2;
⑦场景7:基本流备选流4;
⑧场景8:基本流备选流3备选流4。
其中,为方便起见,场景5、6和8只描述了备选流3只循环执行一次的情况,所述多种场景可以覆盖该被测对象内部逻辑中的所有可能的路径。
本发明的所述测试计划将所述一个或多个已经存储在所述数据库中的可执行脚本关联起来,并且将在该测试计划执行时,将所关联的所有可执行脚本进行重新解析,按照该测试计划预定的内容转换为一个脚本汇编部件,并且将该脚本汇编部件缓存在后台的运行池中,以便于该测试计划流畅地执行。所述脚本汇编部件,直接对应于当前被执行的测试计划,该脚本汇编部件通过已经定制好的可执行脚本进行组合,并且在执行前进行解析,可以将多个简单运算或简单操作整合为复杂的运算或复杂的操作,简化了自动化测试平台的搭建过程。
具体地,本发明的所述测试计划限定了所关联的一个或多个所述可执行脚本的执行条件,所述执行条件可以用于限定某一个或多个所述可执行脚本的执行启动时间,例如设定测试启动时间参数,将运行级别分为系统级和实时级,第一可执行脚本设定为系统级,即所述第一可执行脚本将在运行所述测试计划之后定时执行,第二可执行脚本设定为实时级,即所述第二可执行脚本将在运行所述测试计划之后立刻执行。
在另一种可能的实现方式中,所述执行条件也可以用于限定某一个或多个所述可执行脚本的执行启动条件,例如设定测试启动条件参数,设定所述可执行脚本在前一可执行脚本运行过程中或运行结束后所产生的启动所述可执行脚本的触发条件,所述触发条件可以是一个指定的运行结果,也可以是一个特定的运行的中间状态。
在另一种可能的实现方式中,所述执行条件也可以用于限定多个可执行脚本的执行顺序,所述执行顺序既包括时间顺序,也包括逻辑顺序,也包括条件选择顺序,本领域技术人员在具备公知常识的前提下应当容易理解。
在另一种可能的实现方式中,所述执行条件也可以根据例如重复校验的要求限定某一个或多个可执行脚本的执行次数。进一步地,所述执行条件还应当包括设定测试中止的情况,以避免自动化测试平台运行负荷过重,并且可以尽早发现被测试对象的故障。
进一步地,本发明的所述测试计划还对所关联的一个或多个可执行脚本中的变量进行赋值,以符合被测试对象内部逻辑所产生的事件流。例如,对设定为系统级的可执行脚本的执行起始时间和执行频率这两个变量进行赋值。
所述测试计划所限定的内容的选取也在网页页面上进行,选取方式类似于所述测试参数模块的选取,例如从网页页面所显示的多级菜单中逐一进行单项选择和/或多项选择,以选定所述网页页面中已经设定的条件参数;在网页页面所显示的命令调用框中利用编程语言进行命令编写,以增加所述网页页面中没有设定的内容,或者改写所述网页页面中备选的内容;在网页页面所显示的输入区域输入部分测试条件参数,主要用于对各项变量进行赋值。
S3:启动所述测试计划以便使其按预定计划执行其相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中。
启动所述测试计划之后,缓存在所述运行池中的脚本汇编部件会被调用以执行。在后台,每一个可执行脚本和/或脚本汇编部件的执行状态都会被记录,执行结果也被记录,并且所有记录数据随着所述每个执行状态的完成或中止被打包发送到指定的监控地址,例如是某个邮箱地址。在前台,即网页页面所显示的内容,包括当前运行的测试计划的每一个可执行脚本和/或脚本汇编部件的执行结果,还包括对多条执行结果的成功/失败数据统计,为了便于对整个测试运行的结果进行学习和分析,还优选对标注的同类失败的执行结果进行主动标注,减少了人工核查和调查的成本。
显示在网页页面的测试结果还包括从网页页面截取并附加标记的图形文件,所述图形文件与测试功能点标注列表相关联。所述图形文件有助于测试人员形成关于测试功能点的直观的测试记录,也便于测试人员之间的交流和交接。所述网页页面截取的功能,可以通过加载在网页页面的插件实现,本领域技术人员应当容易理解并实现。
由于本发明的自动化测试定制方法基于B/S架构实现,所述网页页面不受cookies的限制,也不受浏览器类型的限制,在服务器上一次部署,就可以供同一测试人员多平台使用,也可以供不同的测试人员共同使用。
实施例二
自动化测试定制系统
为实现所述实施例一所提供的自动化测试定制方法,可以预先在网页页面和服务器中编制一个自动化测试定制系统,以在服务器中获得一系列功能性服务模块,通过该服务模块实现自动化测试定制的功能。
参考图3,本发明的一种自动化测试定制系统封装在服务器的一个功能插件中,其包括组合模块100、转换模块200、执行模块300、翻译模块400和存储模块500。
具体地,所述组合模块100响应于用户在网页页面对测试参数模块的选取指令,依据该些选取指令的组合关系生成可执行脚本。所述组合模块100设置有用于定制各种所述可执行脚本的第一输入单元110;所述第一输入单元110提供多级菜单111、命令调用框112和数据导入区域113中的至少一种来对所述测试参数中的需要选定的内容进行选取或输入。所述组合模块100还设置了用于定制所述测试计划的第二输入单元120;所述第二输入单元120所设置的输入界面与所述第一输入单元110的类似,该第二输入单元120提供多级菜单、命令调用框和输入区域的至少一种来对所述测试计划中需要选定的内容进行选取或输入。所述测试参数和测试计划的应用场景已在上述实施例一中详细记载。
所述组合模块100还需要依赖所述翻译模块400和存储模块500的配合。顾名思义,所述存储模块500提供一物理媒介,用于临时、短期或长期驻留数据。所述翻译模块400依据选取指令的组合关系,依据预设的规则将所述测试参数的组合关系自动翻译生成一个或若干个所述可执行脚本,并且将所述自动生成的可执行脚本存储到所述存储模块500中形成脚本池,所述脚本池将在较长的时间内存储所述可执行脚本,以便于其他测试计划或其他被测对象调用。
所述转换模块200接收用户在网页页面定制的测试计划,将用户为所述测试计划关联的一个或多个所述可执行脚本转换为脚本汇编部件。所述转换模块200从所述存储模块500的脚本池中获取一个或多个所述可执行脚本并根据所述测试计划所限定执行条件或对变量的赋值进行关联。在后续收到所述执行模块300的启动指令之后,将所关联的一个或多个所述可执行脚本进行重新解释,按照该测试计划预定的内容转换为一个脚本汇编部件,并且将该脚本汇编部件缓存在所述存储模块500的运行池中,以便于所述执行模块300的调用。
所述执行模块300启动所述测试计划以便使其按预定计划执行其相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中。所述执行模块300包括前台的显示单元310和后台运行单元330。所述显示单元310相当于具有用户界面的网页页面,其显示包括但不限于当前运行的测试计划的每一个可执行脚本和/或脚本汇编部件的执行结果,以及对多条执行结果的成功/失败数据统计。所述后台运行单元330在所述测试计划启动后记录了每一个可执行脚本和/或脚本汇编部件的执行状态和执行结果,并且所有记录数据随着所述每个执行状态的完成或中止被打包发送到指定的监控地址,例如通过邮件形式发送到指定的邮箱地址。所述执行模块300还包括截图单元320,用于从网页页面截取并附加标记以形成图形文件,所述图形文件与测试功能点标注列表相关联。
进一步地,由于所述自动化测试定制系统的运行不依赖于本地的信息所限制,因此不受网页端的cookies的限制,也不受浏览器的类型的限制。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
实施例三
在一种可能的实现方式中,本发明的自动化测试定制系统采用如图4所示的实例系统6的组织形式,通过所述实例系统6进一步详述本发明的工作原理。
首先,提供Web端61,所述Web端61作为输入设备供测试人员通过所述第一输入单元110定制各种可执行脚本,以及利用所述第二输入单元120定制至少一个测试计划,所述Web端61提供了选取各种定制指令的用户界面,利用网页设计可优化用户界面,让测试人员对各种可执行脚本和测试计划的定制过程更清晰,更简易。
第二,提供数据库62,相当于所述存储模块500,其采用MsSQL作为数据库管理系统,将响应于在所述Web端61对测试参数模块的选取指令并且依据该些选取指令的组合关系生成的可执行脚本存入所述数据库62中。记录所述可执行脚本的区域相当于所述脚本池。所述数据库62还提供其他记录信息存储场所和起到缓存的作用,在所述实例系统6中提供数据的读写功能。
第三,设置了数据库监视器63,所述数据库监视器63充当所述转换模块200的功能,一方面,将从所述数据库62的脚本池中提取一个或多个所述可执行脚本并根据通过所述Web端62定制的所述测试计划进行关联;另一方面,在后续收到执行所述测试计划的指令之后,将所关联的一个或多个所述可执行脚本进行重新解释,转换为一个脚本汇编部件(即步骤生成脚本汇编部件64),并且将该脚本汇编部件缓存在所述数据库62中,缓存所述脚本汇编部件的区域即为运行池65。
第四,设置了测试驱动66,所述测试驱动66充当所述执行模块300的功能,用于从所述运行池65中调取与所述测试计划相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中,同时,也将所述测试结果保存在所述数据库62中。
第五,优选地,还设置了结果监视器67,用于测试人员在所述Web端61或其他终端上查看所述测试计划的运行结果,并自动生成测试报告,有利于对测试结果进行学习。更优地,借助于该结果监视器67对同类fail问题进行主动标注,可减少人工调查的成本。进一步地,所述结果监视器67所获取的运行结果可以通过邮件形式发送到指定的监控地址(即步骤发送邮件68)。
综上所述,本发明自动化测试定制方法和自动化测试定制系统简单易用,避免了大量重复编写可执行脚本工作,能提高测试效率和节省测试时间。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (28)
1.一种自动化测试定制方法,其特征在于,包括如下步骤:
响应于用户在网页页面对测试参数模块的选取指令,依据该些选取指令的组合关系生成可执行脚本;
接收用户在网页页面定制的测试计划,将用户为所述测试计划关联的一个或多个所述可执行脚本转换为脚本汇编部件;
启动所述测试计划以便使其按预定计划执行其相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中。
2.如权利要求1所述的自动化测试定制方法,其特征在于,所述测试参数模块根据被测试对象的内部逻辑进行模块化设计。
3.如权利要求2所述的自动化测试定制方法,其特征在于,所述对测试参数模块的选取通过以下至少一种方式实现:
从网页页面所显示的多级菜单中逐一进行单项选择和/或多项选择;
在网页页面所显示的命令调用框中利用编程语言进行命令编写;
在网页页面所显示的数据导入区域导入测试数据。
4.如权利要求3所述的自动化测试定制方法,其特征在于,所述测试数据包括由用户选取不同数据库及其相应的数据存储方式后输入的测试数据和/或系统随机生成的测试数据。
5.如权利要求2所述的自动化测试定制方法,其特征在于,所述可执行脚本控制所述被测试对象执行一个或多个运算操作动作,由云端基于所述选取指令的组合依据预设的规则自动翻译而生成。
6.如权利要求2所述的自动化测试定制方法,其特征在于,所生成的可执行脚本存入到云端的数据库中以备调用。
7.如权利要求1所述的自动化测试定制方法,其特征在于,所述测试计划限定了所关联的一个或多个可执行脚本的执行条件,以符合被测试对象内部逻辑所产生的事件流。
8.如权利要求7所述的自动化测试定制方法,其特征在于,所述执行条件由测试启动时间参数、测试启动条件参数、脚本执行顺序列表、脚本执行次数参数和测试中止条件参数中的至少一项所限定。
9.如权利要求1所述的自动化测试定制方法,其特征在于,所述测试计划对所关联的一个或多个可执行脚本中的变量进行赋值,以符合被测试对象内部逻辑所产生的事件流。
10.如权利要求1所述的自动化测试定制方法,其特征在于,显示在网页页面的测试结果包括以下至少一项内容:
所述测试计划的每个可执行脚本或脚本汇编部件的运行状态;
所述可执行脚本或脚本汇编部件的运行结果;
对所述运行结果的统计数据;
对执行失败的脚本的标注和分析。
11.如权利要求10所述的自动化测试定制方法,其特征在于,显示在网页页面的测试结果还包括从网页页面截取并附加标记的图形文件,所述图形文件与测试功能点标注列表相关联。
12.如权利要求1所述的自动化测试定制方法,其特征在于,所述网页页面来自具有不同cookies网页端。
13.如权利要求1所述的自动化测试定制方法,其特征在于,所述网页页面支持使用不同类型的浏览器打开。
14.一种自动化测试定制系统,其特征在于,其包括
组合模块,响应于用户在网页页面对测试参数模块的选取指令,依据该些选取指令的组合关系生成可执行脚本;
转换模块,接收用户在网页页面定制的测试计划,将用户为所述测试计划关联的一个或多个所述可执行脚本转换为脚本汇编部件;
执行模块,启动所述测试计划以便使其按预定计划执行其相对应的脚本汇编部件,并将其执行所得的测试结果输出到网页页面中。
15.如权利要求14所述的自动化测试定制系统,其特征在于,所述测试参数模块根据被测试对象的内部逻辑进行模块化设计。
16.如权利要求15所述的自动化测试定制系统,其特征在于,所述组合模块还包括用于获取用户对所述测试参数模块的选取的第一输入单元;所述输入单元包括多级菜单、命令调用框和数据导入区域中的至少一种。
17.如权利要求16所述的自动化测试定制系统,其特征在于,所述数据导入区域用于导入测试数据,所述测试数据包括由用户选取不同数据库及其相应的数据存储方式后输入的测试数据和/或系统随机生成的测试数据。
18.如权利要求14所述的自动化测试定制系统,其特征在于,还包括翻译模块,用于基于所述选取指令的组合依据预设的规则自动翻译所述可执行脚本,所述可执行脚本控制所述被测试对象执行一个或多个运算操作动作。
19.如权利要求14所述的自动化测试定制系统,其特征在于,还包括存储模块,用于将所生成的可执行脚本保存起来以备调用。
20.如权利要求19所述的自动化测试定制系统,其特征在于,所述存储模块设置在云端。
21.如权利要求16所述的自动化测试定制系统,其特征在于,所述组合模块还包括用于获取用户对所述测试计划定制的第二输入单元。
22.如权利要求21所述的自动化测试定制系统,其特征在于,所述第二输入单元用于限定与所述测试计划关联的一个或多个可执行脚本的执行条件,以符合被测试对象内部逻辑所产生的事件流。
23.如权利要求22所述的自动化测试定制系统,其特征在于,所述第二输入单元用于输入限定所述执行条件的测试启动时间参数、测试启动条件参数、脚本执行顺序列表、脚本执行次数参数和测试中止条件参数中的至少一项。
24.如权利要求21所述的自动化测试定制系统,其特征在于,所述第二输入单元用于对所述测试计划所关联的一个或多个可执行脚本中的变量进行赋值,以符合被测试对象内部逻辑所产生的事件流。
25.如权利要求14所述的自动化测试定制系统,其特征在于,所述执行模块还包括输出显示单元,用于在网页页面输出并显示以下至少一项测试结果的内容:
所述测试计划的每个可执行脚本或脚本汇编部件的运行状态;
所述可执行脚本或脚本汇编部件的运行结果;
对所述运行结果的统计数据;
对执行失败的脚本的标注和分析。
26.如权利要求25所述的自动化测试定制系统,其特征在于,所述执行模块还包括截图单元,用于从网页页面截取并附加标记以形成图形文件,所述图形文件与测试功能点标注列表相关联。
27.如权利要求14所述的自动化测试定制系统,其特征在于,所述网页页面来自具有不同cookies网页端。
28.如权利要求14所述的自动化测试定制系统,其特征在于,所述网页页面支持使用不同类型的浏览器打开。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710081408.XA CN106874204A (zh) | 2017-02-15 | 2017-02-15 | 自动化测试定制方法及定制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710081408.XA CN106874204A (zh) | 2017-02-15 | 2017-02-15 | 自动化测试定制方法及定制系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106874204A true CN106874204A (zh) | 2017-06-20 |
Family
ID=59166275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710081408.XA Pending CN106874204A (zh) | 2017-02-15 | 2017-02-15 | 自动化测试定制方法及定制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874204A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132879A (zh) * | 2017-12-21 | 2018-06-08 | 周舟 | 自动化软件测试方法、平台、终端及介质 |
CN109062152A (zh) * | 2018-07-26 | 2018-12-21 | 中国核动力研究设计院 | 一种基于逻辑组态产生的Loacl变量在线监控方法 |
CN110377520A (zh) * | 2019-07-22 | 2019-10-25 | 中国工商银行股份有限公司 | 交易场景的测试方法及装置、电子设备和可读存储介质 |
CN110444227A (zh) * | 2019-08-30 | 2019-11-12 | 惠州市德赛西威汽车电子股份有限公司 | 一种语音自动化测试方法 |
CN110597562A (zh) * | 2019-09-17 | 2019-12-20 | 深圳联想懂的通信有限公司 | 一种基于脚本的自动批处理方法及电子设备 |
CN111144878A (zh) * | 2019-12-16 | 2020-05-12 | 深圳融卡智能科技有限公司 | 指令生成方法与指令生成装置 |
CN113419969A (zh) * | 2021-08-23 | 2021-09-21 | 浩鲸云计算科技股份有限公司 | 基于浏览器插件的界面自动化成功率保障方法 |
CN114297076A (zh) * | 2021-12-30 | 2022-04-08 | 四川启睿克科技有限公司 | 一种Web网站自动化测试方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461855A (zh) * | 2013-09-22 | 2015-03-25 | 腾讯科技(北京)有限公司 | 一种Web自动化测试方法、系统及装置 |
CN106294184A (zh) * | 2016-08-30 | 2017-01-04 | 广州华多网络科技有限公司 | 测试场景图形化创建方法、装置及终端设备 |
-
2017
- 2017-02-15 CN CN201710081408.XA patent/CN106874204A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461855A (zh) * | 2013-09-22 | 2015-03-25 | 腾讯科技(北京)有限公司 | 一种Web自动化测试方法、系统及装置 |
CN106294184A (zh) * | 2016-08-30 | 2017-01-04 | 广州华多网络科技有限公司 | 测试场景图形化创建方法、装置及终端设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132879A (zh) * | 2017-12-21 | 2018-06-08 | 周舟 | 自动化软件测试方法、平台、终端及介质 |
CN109062152A (zh) * | 2018-07-26 | 2018-12-21 | 中国核动力研究设计院 | 一种基于逻辑组态产生的Loacl变量在线监控方法 |
CN109062152B (zh) * | 2018-07-26 | 2021-04-13 | 中核控制系统工程有限公司 | 一种基于逻辑组态产生的Local变量在线监控方法 |
CN110377520A (zh) * | 2019-07-22 | 2019-10-25 | 中国工商银行股份有限公司 | 交易场景的测试方法及装置、电子设备和可读存储介质 |
CN110377520B (zh) * | 2019-07-22 | 2024-03-15 | 中国工商银行股份有限公司 | 交易场景的测试方法及装置、电子设备和可读存储介质 |
CN110444227A (zh) * | 2019-08-30 | 2019-11-12 | 惠州市德赛西威汽车电子股份有限公司 | 一种语音自动化测试方法 |
CN110597562A (zh) * | 2019-09-17 | 2019-12-20 | 深圳联想懂的通信有限公司 | 一种基于脚本的自动批处理方法及电子设备 |
CN111144878A (zh) * | 2019-12-16 | 2020-05-12 | 深圳融卡智能科技有限公司 | 指令生成方法与指令生成装置 |
CN111144878B (zh) * | 2019-12-16 | 2024-04-19 | 无锡融卡科技有限公司 | 指令生成方法与指令生成装置 |
CN113419969A (zh) * | 2021-08-23 | 2021-09-21 | 浩鲸云计算科技股份有限公司 | 基于浏览器插件的界面自动化成功率保障方法 |
CN113419969B (zh) * | 2021-08-23 | 2021-11-19 | 浩鲸云计算科技股份有限公司 | 基于浏览器插件的界面自动化成功率保障方法 |
CN114297076A (zh) * | 2021-12-30 | 2022-04-08 | 四川启睿克科技有限公司 | 一种Web网站自动化测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874204A (zh) | 自动化测试定制方法及定制系统 | |
CN109684530B (zh) | 基于web管理与手机小程序应用的信息推送服务系统 | |
US11481309B2 (en) | Capability test method based on joint test support platform | |
CN103914510B (zh) | 数字式检查列表 | |
CN103810233B (zh) | 内容管理 | |
CN106961362B (zh) | 自动化测试方法及移动云测试系统 | |
CN103646086B (zh) | 一种垃圾文件的清理方法和装置 | |
US20050154701A1 (en) | Dynamic information extraction with self-organizing evidence construction | |
CN106095673A (zh) | 基于web接口的自动化测试方法及系统 | |
US20190012434A1 (en) | System and method for building intuitive clinical trial applications | |
CN107018046A (zh) | 一种数据采集方法、装置、终端及存储介质 | |
CN103218748B (zh) | 一种蔬菜病害诊断方法和便携系统 | |
CN109684370A (zh) | 日志数据处理方法、系统、设备及存储介质 | |
CN101911050A (zh) | 实时注释器 | |
CN103810232B (zh) | 内容管理 | |
CN109656963A (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
Muste et al. | End-to-end cyberinfrastructure for decision-making support in watershed management | |
CN109828906A (zh) | Ui自动化测试方法、装置、电子设备及存储介质 | |
CN107679141A (zh) | 数据入库方法、装置、设备及计算机可读存储介质 | |
CN106294184A (zh) | 测试场景图形化创建方法、装置及终端设备 | |
CN111612178A (zh) | 一种模型的诊断方法及相关设备 | |
CN117422429B (zh) | 一种基于互联网的研发机构协同服务平台 | |
CN105553770A (zh) | 一种数据采集控制方法和装置 | |
CN108267683A (zh) | 一种fpga自测的方法及装置 | |
CN109213782A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170620 |
|
RJ01 | Rejection of invention patent application after publication |