CN111459796B - 自动化测试方法、装置、计算机设备和存储介质 - Google Patents
自动化测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111459796B CN111459796B CN202010123717.0A CN202010123717A CN111459796B CN 111459796 B CN111459796 B CN 111459796B CN 202010123717 A CN202010123717 A CN 202010123717A CN 111459796 B CN111459796 B CN 111459796B
- Authority
- CN
- China
- Prior art keywords
- function
- test
- configuration information
- template
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 218
- 238000013515 script Methods 0.000 claims abstract description 129
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 340
- 238000004590 computer program Methods 0.000 claims description 25
- 230000002159 abnormal effect Effects 0.000 claims description 19
- 238000012216 screening Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010998 test method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 229910052711 selenium Inorganic materials 0.000 description 2
- 239000011669 selenium Substances 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/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/3672—Test management
-
- 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/3692—Test management for test results analysis
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
技术领域
本申请涉及计算机技术领域,特别是涉及一种自动化测试方法、装置、计算机设备和存储介质。
背景技术
自动化测试是指将以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,会由测试人员将测试用例中描述的测试目标、测试环境、输入数据、测试步骤等信息对应转换为脚本文件,计算机通过执行脚本文件,即可得到测试结果。目前,主要是利用Selenium、QuickTest Professional software等自动化测试工具生成脚本文件。
然而,基于Selenium、QuickTest Professional software等自动化测试工具编写得到的脚本文件中各待测功能点的输入参数以及执行顺序固定,当需要对执行顺序和输入参数进行调整时,就要大幅修改脚本文件,从而降低了自动化测试的效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升自动化测试效率的自动化测试方法、装置、计算机设备和存储介质。
一种自动化测试方法,所述方法包括:
获取配置信息;所述配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
从预设的函数模板集中提取出与所述函数模板标识相对应的函数模板;
将所述输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
根据所述测试顺序执行每个执行脚本,得到每个待测功能点的测试结果。
在其中一个实施例中,所述方法还包括:
展示自动化测试任务的任务配置页面;
确定对所述任务配置页面中各待测功能点所配置的函数模板标识;
当发生对所述函数模板标识进行排序操作时,在所述任务配置页面中展示排序后的函数模板标识;
根据所述排序后的函数模板标识生成配置信息。
在其中一个实施例中,所述展示自动化测试任务的任务配置页面包括:
获取多条历史任务配置信息;
根据对所述多条历史任务配置信息的选择指令,从所述多条历史任务配置信息中筛选出目标任务配置信息;
在任务配置页面中展示所述目标任务配置信息。
在其中一个实施例中,所述方法还包括:
展示自动化测试任务的任务配置页面;
确定对所述任务配置页面中待测功能点所配置的输入信息;所述输入信息包括参数类型、取值范围以及输入数量;
根据取值范围,生成输入数量个与所述参数类型相对应的正常值和异常值;
基于所述正常值和异常值得到对应的配置信息。
在其中一个实施例中,所述待测功能点与所述函数模板一一对应;所述将所述输入参数对应填充至所述函数模板,得到执行脚本包括:
获取与各函数模板相对应的输入参数的输入数量;
基于所述输入数量,对所述函数模板进行复制,得到复制模板;
将每个输入参数对应填充至一个复制模板,得到多个执行脚本。
在其中一个实施例中,所述根据所述测试顺序执行每个执行脚本,得到每个待测试功能点的测试结果包括:
根据测试顺序对所述待测功能点的功能点标识进行排序,得到标识序列;
确定与当前功能点标识相对应的一个或多个执行脚本;
依次运行所述执行脚本,得到待测试功能点的测试结果;
将标识序列中与当前功能点标识相邻且位于下一顺序的功能点标识作为当前功能点标识,并返回至确定与当前功能点相对应的执行脚本的步骤,直至遍历完标识序列中的全部功能点标识。
在其中一个实施例中,所述方法还包括:
获取与所述执行脚本相对应的测试日志和脚本标识;
根据所述脚本标识,将所述测试日志以及对应的测试结果进行关联,得到关联列表;
根据关联列表生成测试结果展示页面,并对应展示所述测试结果展示页面。
一种自动化测试装置,所述装置包括:
配置信息获取模块,用于获取配置信息;所述配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
执行脚本获取模块,用于从预设的函数模板集中提取出与所述函数模板标识相对应的函数模板;将所述输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
测试结果获取模块,用于根据所述测试顺序执行每个执行脚本,得到每个待测试功能点的测试结果。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取配置信息;所述配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
从预设的函数模板集中提取出与所述函数模板标识相对应的函数模板;
将所述输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
根据所述测试顺序执行每个执行脚本,得到每个待测功能点的测试结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取配置信息;所述配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
从预设的函数模板集中提取出与所述函数模板标识相对应的函数模板;
将所述输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
根据所述测试顺序执行每个执行脚本,得到每个待测功能点的测试结果。
上述自动化测试方法、装置、计算机设备和存储介质,通过获取配置信息,可以基于配置信息确定每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;通过从函数模板集中提取出与函数模板标识相对应的函数模板,以及将输入参数填充至相应的函数模板,可以得到执行脚本;通过测试顺序执行每个执行脚本,可以得到每个待测试功能点的测试结果,如此,便可以实现自动化测试。由于是将配置信息抽离出执行脚本,因此相比于传统的将执行顺序以及输入参数写入具体的函数主体中,本方案可以有效降低代码的冗余性,并且当需要对测试顺序和输入参数进行调整时,只需对配置信息进行适应性修改,而无需大幅调整测试代码,从而提升了自动化测试的效率。
附图说明
图1为一个实施例中自动化测试方法的应用场景图;
图2为一个实施例中自动化测试方法的流程示意图;
图3为一个实施例中配置信息获取步骤的流程示意图;
图4为一个实施例中自动化测试装置的结构框图;
图5为另一个实施例中自动化测试装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的自动化测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102根据测试人员的操作生成配置信息,并将配置信息发送至服务器104。服务器104获取函数模板,并对接收到的配置信息进行解析,得到各待测功能点的测试顺序以及输入参数,并基于输入参数对函数模板进行填充,得到执行脚本。服务器104基于测试顺序运行执行脚本,得到测试结果。
在一个实施例中,如图2所示,提供了一种自动化测试方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202,获取配置信息。
其中,配置信息是指为每个待测功能点配置的测试条件。配置信息包括每个待测功能点的测试顺序、函数模板标识以及与每个函数模板标识对应的输入参数。测试功能点是指对待测软件中的能够单独完成的具体业务流程所设置的测试点,比如,待测软件中的登录、注册功能即为两个功能点,针对这两个功能点所设置的测试点就称作待测功能点。函数模板是指用形式参数代替具体的输入参数,并基于形式参数编写的测试函数。形式参数又称为虚拟参数,是在定义测试函数中的函数名称和函数体的时候使用的参数,目的是用来接收调用该函数时传入的具体参数。
具体地,终端获取测试人员对各待测功能点所配置的配置信息,并将配置信息以键值对的形式存储于配置文件中,之后,将配置文件发送至服务器。比如,对登录功能所配置的配置信息可以为“函数模板标识:登录模板”,“输入参数:A”,对注册功能所配置的配置信息可以为“函数模板标识:注册模板”,“输入参数:B”,终端获取登录功能和注册功能之间的测试顺序,并将测试顺序、对登录功能所配置的配置信息以及对注册功能所配置的配置信息存储至配置文件中。
服务器接收配置文件,并根据预设的关键字读取配置文件中的配置信息,从而得到每个待测功能点的测试顺序、与待测功能点对应的函数模板标识和输入参数。服务器对与待测功能点相关联的函数模板标识和输入参数进行解析,得到与函数模板标识相对应的输入参数。
在另一个实施例中,当终端确定测试人员对当前待测功能点配置完毕时,终端实时将当前待测功能点的配置信息发送至服务器,由服务器对配置信息进行缓存处理。
在另一个实施例中,终端获取针对待测功能点所编写的函数模板,并基于函数模板中测试函数的函数名称所存在的位置信息,以及编写格式生成对应的正则匹配表达式,并基于生成的正则匹配表达式对函数模板中的每一行代码进行正则匹配,从而得到函数名称,终端将函数名称作为函数模板标识,并基于函数模板标识生成对应的配置信息,之后将配置信息发送至服务器。
S204,从预设的函数模板集中提取出与函数模板标识相对应的函数模板。
其中,函数模板集是指存储有测试人员根据待测软件中每个功能点所编写的函数模板的集合。函数模板标识是指能够唯一标识一个函数模板的信息,在编写函数模板时,测试人员可以为每个所编写的函数模板设置一个模板标识,并将模板标识和函数模板对应存储至函数模板集中。
具体地,当服务器从配置信息中提取出一个或多个函数模板标识时,服务器分别将每个函数模板标识与函数模板集中的函数模板标识进行对比,在发现函数模板集中具有相同的函数模板标识时,服务器从函数模板集中提取出此函数模板,并将提取出的函数模板存放至一个临时存储空间中。服务器依次将从配置信息中提取出的函数模板标识与函数模板集中的函数模板标识进行对比,直至遍历完从配置信息中提取出的函数模板标识。
在另一个实施例中,当服务器从配置信息中提取出多个函数模板标识时,服务器同时将提取出的多个函数模板标识与函数模板集中的函数模板标识进行对比,从而一次性提取出与函数模板标识相对应的函数模板。
S206,将输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本。
具体地,服务器确定与每个函数模板相对应的输入参数,并根据输入参数中的键值确定对应函数模板中的待填充位置信息,根据待填充位置信息,服务器将输入参数填充至函数模板。例如,当待测功能点为搜索页面中的搜索功能,对应的输入参数为“搜索词:A”时,服务器确定输入参数中的键值信息为“搜索词”,服务器根据键值信息“搜索词”从函数模板中查询“搜索词”所处的位置信息,并根据位置信息将“A”进行对应填充。服务器并依次遍历与每个模板相对应的输入参数,直至将输入参数均对应填充至每个函数模板。
在另一个实施例中,服务器获取函数模板中的测试函数的函数名称,并判断函数名称之后是否携带有形式参数,若具有一个或多个形式参数,服务器根据形式参数的参数类型确定对应接收的输入参数,并基于形式参数接收输入参数,从而得到执行脚本。例如,当测试函数为加法函数时,对应的函数名称以及形式出参数即为“add(int a,float b)”,此时服务器判断形式参数为整形和浮点型,并根据形式参数的参数类型接收对应的输入参数,得到执行脚本。其中,执行脚本是指计算机可以直接运行的文件。
S208,根据测试顺序执行每个执行脚本,得到每个待测功能点的测试结果。
具体地,服务器获取每个执行脚本的脚本标识,并根据每个待测功能点的测试顺序对脚本标识进行排序,得到标识序列。服务器基于标识序依次运行执行脚本,得到每个待测试功能点的测试结果。
在另一个实施例中,配置信息还包括对函数模板配置前置条件。当服务器运行执行脚本时,服务器判断配置信息中是否存在与函数模板相对应的前置条件,若存在前置条件,服务器基于前置条件运行对应的执行脚本。其中,前置条件是指运行执行脚本中的函数体时,所必要的一些信息,例如,前置条件可以为函数体中一些库函数的引用路径等。
在另一个实施例中,服务器可以根据每个待测功能点的测试顺序将函数模板标识进行排序,得到函数模板标识序列。服务器基于函数模板标识序列确定当前待填充的函数模板,并将输入参数填充至当前待填充的函数模板,得到当前待执行脚本。服务器执行当前待执行脚本,得到测试结果,并将函数模板标识序列中,与当前待填充的函数模板相邻,且位于下一顺序的函数模板作为当前待填充函数模板,之后,返回至将输入参数填充至当前待填充的函数模板,得到当前待执行脚本的步骤,直至遍历完函数模板标识序列。
上述自动化测试方法中,通过获取配置信息,可以基于配置信息确定每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;通过从函数模板集中提取出与函数模板标识相对应的函数模板,以及将输入参数填充至相应的函数模板,可以得到执行脚本;通过测试顺序执行每个执行脚本,可以得到每个待测试功能点的测试结果,如此,便可以实现自动化测试。由于是将配置信息抽离出执行脚本,因此相比于传统的将执行顺序以及输入参数写入具体的函数主体中,本方案可以有效降低代码的冗余性,并且当需要对测试顺序和输入参数进行调整时,只需对配置信息进行适应性修改,而无需大幅调整测试代码,从而提升了自动化测试的效率。
在另一个实施例中,如图3所示,上述自动化测试方法还包括:
S302,展示自动化测试任务的任务配置页面;
S304,确定对任务配置页面中各待测功能点所配置的函数模板标识;
S306,当发生对函数模板标识进行排序操作时,在任务配置页面中展示排序后的函数模板标识;
S308,根据排序后的函数模板标识生成配置信息。
具体地,终端上可以通过网页应用显示任务配置页面,当需要对待测功能点进行配置时,测试人员通过输入预设网址、点击自动化测试应用的应用标识等多种方式打开任务配置页面。任务配置页面包括操作区和选择区。其中,选择区中具有待测功能点所对应的控件图标和函数模板标识所对应的控件图标。测试人员可以通过拖拽的方式将选择区内的多个控件图标拖拽至操作区,以便后续测试人员可以对操作区内的控件图标进行相应配置。
进一步地,测试人员通过点击、拖拽的方式对操作区内的函数模板标识以及待测功能点进行配对。终端根据测试人员的操作对每对待测功能点和函数模板标识进行条件验证,在验证成功后,终端将函数模板标识确定为对相应待测功能点所配置的一个标识信息。
进一步地,测试人员可以在操作区内对函数模板标识进行排序操作,终端监控测试人员的点击操作,在确认点击具有“完成”含义的控件后,可以认为测试人员已经完成对函数模板标识的排序操作,此时终端对应展示最终的排序结果,并根据排序结果生成配置信息。
本实施例中,通过展示自动化测试的任务配置页面,可以将一个抽象的待测功能点的配置过程变得可视化;通过简单的拖拽、点击操作,可以确定与待测功能点相对应的函数模板标识以及各函数模板标识之间的排序信息,从而可以根据排序后的函数模板标识生成配置信息。基于一个可视化的任务配置页面,使得测试人员仅仅需要进行简单的配置操作,即可实现复杂的自动化测试过程,从而即使是不会编程的普通业务人员也能进行完整的配置操作,进而降低了自动化测试的门槛。
在另一个实施例中,展示自动化测试任务的任务配置页面包括:获取多条历史任务配置信息;根据对多条历史任务配置信息的选择指令,从多条历史任务配置信息中筛选出目标任务配置信息;在任务配置页面中展示目标任务配置信息。
其中,任务配置信息为测试人员在任务配置页面中,为一个自动化测试任务所配置的信息。例如,当自动化测试任务为对“测试软件A”时,用户可以在任务配置页面中确定软件A的待测功能点,与待测功能点相对应的函数模板标识以及各函数模板标识之间的排序信息。此时,将待测功能点,与待测功能点相对应的函数模板标识以及各函数模板标识之间的排序信息统称为任务配置信息。
具体地,当测试人员打开任务配置页面时,终端从缓存中提取出历史自动化测试任务的历史任务配置信息,并将历史任务配置信息以列表的方式展示于任务配置页面。当需要重复执行自动化测试任务时,用户可以在列表中选择对应的历史任务配置信息,之后,终端根据测试人员的选择操作,将对应的历史任务配置信息展示于任务配置页面。
在另一个实施例中,测试人员对显示的历史任务配置信息进行修改,从而终端可以获取修改信息,并基于修改信息得到最终的目标任务配置信息,之后将目标任务配置信息发送至服务器。
在另一个实施例中,测试人员可以选择多条历史任务配置信息,从而终端可以同时将多个历史任务配置信息发送至服务器,由服务器同时基于多个历史任务配置信息对应执行自动化测试任务。
本实施例中,通过将多条历史任务配置信息进行可视化展示,使得当需要重复执行自动化测试任务时,可以基于历史任务配置信息快速确定对应的配置信息,从而无需再次重复对待测功能点或函数模板的配置操作,进而大大减少了测试人员的工作量。
在另一个实施例中,上述自动化测试方法还包括:展示自动化测试任务的任务配置页面;确定对任务配置页面中待测功能点所配置的输入信息;输入信息包括参数类型、取值范围以及输入数量;根据取值范围,生成输入数量个与参数类型相对应的正常值和异常值;基于正常值和异常值得到对应的配置信息。
具体地,当测试人员将待测功能点的控件图标拖拽至操作区域时,测试人员可以通过点击的方式为待测功能点配置输入参数。更具体地,终端监视测试人员的点击操作,当捕获测试人员对待测功能点的点击操作时,终端对应弹出输入数据配置页面。其中,输入数据配置页面为一个包括参数类型输入框、取值范围输入框以及输入数量输入框的页面。
测试人员根据具体的实际需求,在输入数据配置页面中对待测功能点的输入参数进行配置。之后,终端根据输入参数的参数类型、取值范围以及输入数量,生成对应数量个正常值和异常值,并将生成的正常值和异常值发送至服务器。比如,当设定输入参数类型为正整形、取值范围为0(不包括)至100(包括)、数量为20时,终端随机生成20个正常值和异常值。其中,正常值可以为输入参数为正整形且取值范围为0(不包括)至100(包括)的数值;异常值输入参数不为正整形或取值范围不为0(不包括)至100(包括)的是指。
在另一个实施例中,当函数模板中的函数体具有多个形式参数时,可以为一个待测功能点配置多组输入信息,从而函数模板可以基于多组输入信息正常运行。例如,在测试登录功能时,可以为登录测试点配置一组用户名和一组密码,与登录测试点相对应的函数模板基于用户名和密码进行登录功能点测试。
本实施例中,通过在任务配置页面中对输入参数进行配置,使得终端可以基于配置信息自动生成对应数量个正常值和异常值,从而可以大大减轻测试人员的工作量,进而提升自动化测试的效率。
在另一个实施例中,配置信息中还包括输入参数的输入数量;将输入参数对应填充至函数模板,得到执行脚本包括:获取与各函数模板相对应的输入参数的输入数量;基于输入数量,对函数模板进行复制,得到复制模板;将每个输入参数对应填充至一个复制模板,得到多个执行脚本。
具体地,服务器获取与每个函数模板相对应的输入信息,并从输入信息中提取出输入参数的输入数量。服务器根据输入数量分别对相应函数模板进行复制,得到多个复制模板。比如,当与函数模板A相对应的输入参数的数量为a,与函数模板B相对应的输入参数的数量为b时,服务器对函数模板A进行复制,得到a个复制模板;服务器对函数模板B进行复制,得到b个复制模板。服务器将配置信息中的输入参数对应的填充至相关联的复制模板中,得到多个执行脚本。
在另一个实施例中,当与函数模板相对应的输入信息具有多组时,服务器获取其中一组输入信息中的输入数量,并基于输入数量对函数模板进行复制。服务器分别提取多组输入信息中的一个输入参数,并将输入参数填充至一个函数模板中,得到执行脚本。
本实施例中,通过函数模板进行复制和参数填充,可以快速得到全部的执行脚本,从而后续服务器可以直接运行执行脚本,进而提升了自动化测试的效率。
在另一个实施例中,与待测功能点相对应的执行脚本有多个;根据测试顺序执行每个执行脚本,得到每个待测试功能点的测试结果包括:根据测试顺序对待测功能点的功能点标识进行排序,得到标识序列;确定与当前功能点标识相对应的一个或多个执行脚本;依次运行执行脚本,得到待测试功能点的测试结果;将标识序列中与当前功能点标识相邻且位于下一顺序的功能点标识作为当前功能点标识,并返回至确定与当前功能点相对应的执行脚本的步骤,直至遍历完标识序列中的全部功能点标识。
具体地,服务器获取每个待测功能点的功能点标识,按照测试顺序对待测功能点标识进行排序,得到标识序列,其中,标识序列首部为应最先测试的待测功能点,标识序列尾部为应最后测试的待测功能点。服务器从标识序列中提取出位于首部的功能点标识,并将提取出的功能点标识作为当前功能点标识。服务器确定与当前功能点标识相对应的函数模板,并获取与函数模板相对应的执行脚本,之后,服务器依次运行执行脚本,得到测试结果。服务器将标识序列中与当前功能点标识相邻,且位于下一顺序的功能点标识作为新的当前功能点标识,并返回至确定与当前功能点相对应的执行脚本的步骤,直至遍历完标识序列中的全部功能点标识。
在另一个实时例中,当服务器确定与当前功能点相对应的执行脚本后,服务器运行其中一个执行脚本,并将执行结果对应缓存,与此同时,服务器将已执行完毕的执行脚本对应删除。服务器将标识序列中与当前功能点标识相邻,且位于下一顺序的功能点标识作为新的当前功能点标识,并返回至运行其中一个执行脚本,并将执行结果对应缓存的步骤,直至遍历完标识序列中的全部功能点标识。服务器判断缓存中是否还存在与功能点标识相对应的执行脚本,若存在执行脚本,服务器按照执行顺序从标识序列中提取出功能点标识,并基于上述方法执行与功能点标识相对应的执行脚本,直至缓存中不存在执行脚本。
本实施例中,由于是根据测试顺序对应运行执行脚本,从而可以基于不同的测试顺序得到不同的测试结果,进而可以提升自动化测试的测试范围。
在另一个实施例中,上述自动化测试方法还包括:获取与执行脚本相对应的测试日志和脚本标识;根据脚本标识,将测试日志以及对应的测试结果进行关联,得到关联列表;根据关联列表生成测试结果展示页面,并对应展示测试结果展示页面。
其中,测试日志是测试用例在执行的过程中产生的日志。测试日志是测试过程监控、测试结果和软件质量评估的基础,同时也是数据分析和过程改进的重要依据。
具体地,各执行脚本在运行的过程中会产生测试日志。服务器可获取各执行脚本对应的脚本标识和测试日志,进而根据各执行脚本的脚本标识,将对应的测试日志和测试结果进行关联,得到关联列表,并将关联列表发送至终端,由终端基于关联列表生成测试结果展示页面,将测试结果展示页面对应展示。
在另一个实施例中,服务器还可以获取全部的脚本标识,并分别将脚本标识与对应的测试日志和测试结果进行关联,之后对关联后的测试结果进行分析,得到待测软件的综合测试结果。比如,测试设备可以从关联列表中获取待测软件A的全部测试结果,并对全部测试结果进行统计,得到待测软件A的综合测试结果。
上述实施例中,将测试结果与对应的测试日志进行关联并展示,通过可视化的方式,使得自动化测试任务的测试结果能够直观展示出来。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种自动化测试装置400,包括:配置信息获取模块402、执行脚本获取模块404和测试结果获取模块406,其中:
配置信息获取模块402,用于获取配置信息;配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
执行脚本获取模块404,用于从预设的函数模板集中提取出与函数模板标识相对应的函数模板;将输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
测试结果获取模块406,用于根据测试顺序执行每个执行脚本,得到每个待测试功能点的测试结果。
在另一个实施例中,如图5所示,上述自动化测试装400置还包括配置信息生成模块408,用于展示自动化测试任务的任务配置页面;确定对任务配置页面中各待测功能点所配置的函数模板标识;当发生对函数模板标识进行排序操作时,在任务配置页面中展示排序后的函数模板标识;根据排序后的函数模板标识生成配置信息。
在另一个实施例中,配置信息生成模块408还包括历史配置信息获取模块4081,用于获取多条历史任务配置信息;根据对多条历史任务配置信息的选择指令,从多条历史任务配置信息中筛选出目标任务配置信息;在任务配置页面中展示目标任务配置信息。
在另一个实施例中,配置信息生成模块408还用于展示自动化测试任务的任务配置页面;确定对任务配置页面中待测功能点所配置的输入信息;输入信息包括参数类型、取值范围以及输入数量;根据取值范围,生成输入数量个与参数类型相对应的正常值和异常值;基于正常值和异常值得到对应的配置信息。
在另一个实施例中,执行脚本获取模块404还用于获取与各函数模板相对应的输入参数的输入数量;基于输入数量,对函数模板进行复制,得到复制模板;将每个输入参数对应填充至一个复制模板,得到多个执行脚本。
在另一个实施例中,测试结果获取模块406还用于根据测试顺序对待测功能点的功能点标识进行排序,得到标识序列;确定与当前功能点标识相对应的一个或多个执行脚本;依次运行执行脚本,得到待测试功能点的测试结果;将标识序列中与当前功能点标识相邻且位于下一顺序的功能点标识作为当前功能点标识,并返回至确定与当前功能点相对应的执行脚本的步骤,直至遍历完标识序列中的全部功能点标识。
在另一个实施例中,自动化测试装400置还包括测试结果展示模块410,用于获取与执行脚本相对应的测试日志和脚本标识;根据脚本标识,将测试日志以及对应的测试结果进行关联,得到关联列表;根据关联列表生成测试结果展示页面,并对应展示测试结果展示页面。
关于自动化测试装置的具体限定可以参见上文中对于自动化测试方法的限定,在此不再赘述。上述自动化测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储自动化测试数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动化测试方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取配置信息;配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
从预设的函数模板集中提取出与函数模板标识相对应的函数模板;
将输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
根据测试顺序执行每个执行脚本,得到每个待测功能点的测试结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
展示自动化测试任务的任务配置页面;
确定对任务配置页面中各待测功能点所配置的函数模板标识;
当发生对函数模板标识进行排序操作时,在任务配置页面中展示排序后的函数模板标识;
根据排序后的函数模板标识生成配置信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取多条历史任务配置信息;
根据对多条历史任务配置信息的选择指令,从多条历史任务配置信息中筛选出目标任务配置信息;
在任务配置页面中展示目标任务配置信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
展示自动化测试任务的任务配置页面;
确定对任务配置页面中待测功能点所配置的输入信息;输入信息包括参数类型、取值范围以及输入数量;
根据取值范围,生成输入数量个与参数类型相对应的正常值和异常值;
基于正常值和异常值得到对应的配置信息。
在一个实施例中,配置信息中还包括输入参数的输入数量;处理器执行计算机程序时还实现以下步骤:
获取与各函数模板相对应的输入参数的输入数量;
基于输入数量,对函数模板进行复制,得到复制模板;
将每个输入参数对应填充至一个复制模板,得到多个执行脚本。
在一个实施例中,与待测功能点相对应的执行脚本有多个;处理器执行计算机程序时还实现以下步骤:
根据测试顺序对待测功能点的功能点标识进行排序,得到标识序列;
确定与当前功能点标识相对应的一个或多个执行脚本;
依次运行执行脚本,得到待测试功能点的测试结果;
将标识序列中与当前功能点标识相邻且位于下一顺序的功能点标识作为当前功能点标识,并返回至确定与当前功能点相对应的执行脚本的步骤,直至遍历完标识序列中的全部功能点标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取与执行脚本相对应的测试日志和脚本标识;
根据脚本标识,将测试日志以及对应的测试结果进行关联,得到关联列表;
根据关联列表生成测试结果展示页面,并对应展示测试结果展示页面。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取配置信息;配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
从预设的函数模板集中提取出与函数模板标识相对应的函数模板;
将输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
根据测试顺序执行每个执行脚本,得到每个待测功能点的测试结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
展示自动化测试任务的任务配置页面;
确定对任务配置页面中各待测功能点所配置的函数模板标识;
当发生对函数模板标识进行排序操作时,在任务配置页面中展示排序后的函数模板标识;
根据排序后的函数模板标识生成配置信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取多条历史任务配置信息;
根据对多条历史任务配置信息的选择指令,从多条历史任务配置信息中筛选出目标任务配置信息;
在任务配置页面中展示目标任务配置信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
展示自动化测试任务的任务配置页面;
确定对任务配置页面中待测功能点所配置的输入信息;输入信息包括参数类型、取值范围以及输入数量;
根据取值范围,生成输入数量个与参数类型相对应的正常值和异常值;
基于正常值和异常值得到对应的配置信息。
在一个实施例中,配置信息中还包括输入参数的输入数量;计算机程序被处理器执行时还实现以下步骤:
获取与各函数模板相对应的输入参数的输入数量;
基于输入数量,对函数模板进行复制,得到复制模板;
将每个输入参数对应填充至一个复制模板,得到多个执行脚本。
在一个实施例中,与待测功能点相对应的执行脚本有多个;计算机程序被处理器执行时还实现以下步骤:
根据测试顺序对待测功能点的功能点标识进行排序,得到标识序列;
确定与当前功能点标识相对应的一个或多个执行脚本;
依次运行执行脚本,得到待测试功能点的测试结果;
将标识序列中与当前功能点标识相邻且位于下一顺序的功能点标识作为当前功能点标识,并返回至确定与当前功能点相对应的执行脚本的步骤,直至遍历完标识序列中的全部功能点标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取与执行脚本相对应的测试日志和脚本标识;
根据脚本标识,将测试日志以及对应的测试结果进行关联,得到关联列表;
根据关联列表生成测试结果展示页面,并对应展示测试结果展示页面。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自动化测试方法,其特征在于,所述方法包括:
获取配置信息,具体包括:展示自动化测试任务的任务配置页面;确定对所述任务配置页面中待测功能点所配置的输入信息;所述输入信息包括参数类型、取值范围以及输入数量;根据取值范围,生成输入数量个与所述参数类型相对应的正常值和异常值;基于所述正常值和异常值得到对应的配置信息;所述配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
从预设的函数模板集中提取出与所述函数模板标识相对应的函数模板;
将所述输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
根据所述测试顺序执行每个执行脚本,得到每个待测功能点的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定对所述任务配置页面中各待测功能点所配置的函数模板标识;
当发生对所述函数模板标识进行排序操作时,在所述任务配置页面中展示排序后的函数模板标识;
根据所述排序后的函数模板标识生成配置信息。
3.根据权利要求2所述的方法,其特征在于,所述展示自动化测试任务的任务配置页面包括:
获取多条历史任务配置信息;
根据对所述多条历史任务配置信息的选择指令,从所述多条历史任务配置信息中筛选出目标任务配置信息;
在任务配置页面中展示所述目标任务配置信息。
4.根据权利要求1所述的方法,其特征在于,所述配置信息中还包括输入参数的输入数量;所述将所述输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本包括:
获取与各函数模板相对应的输入参数的输入数量;
基于所述输入数量,对所述函数模板进行复制,得到复制模板;
将每个输入参数对应填充至一个复制模板,得到多个执行脚本。
5.根据权利要求1所述的方法,其特征在于,所述与待测功能点相对应的执行脚本有多个;所述根据所述测试顺序执行每个执行脚本,得到每个待测功能点的测试结果包括:
根据测试顺序对所述待测功能点的功能点标识进行排序,得到标识序列;
确定与当前功能点标识相对应的一个或多个执行脚本;
依次运行所述执行脚本,得到待测试功能点的测试结果;
将标识序列中与当前功能点标识相邻且位于下一顺序的功能点标识作为当前功能点标识,并返回至确定与当前功能点相对应的执行脚本的步骤,直至遍历完标识序列中的全部功能点标识。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取与所述执行脚本相对应的测试日志和脚本标识;
根据所述脚本标识,将所述测试日志以及对应的测试结果进行关联,得到关联列表;
根据关联列表生成测试结果展示页面,并对应展示所述测试结果展示页面。
7.一种自动化测试装置,其特征在于,所述装置包括:
配置信息获取模块,用于获取配置信息,具体包括:展示自动化测试任务的任务配置页面;确定对所述任务配置页面中待测功能点所配置的输入信息;所述输入信息包括参数类型、取值范围以及输入数量;根据取值范围,生成输入数量个与所述参数类型相对应的正常值和异常值;基于所述正常值和异常值得到对应的配置信息;所述配置信息包括每个待测功能点的测试顺序,函数模板标识,以及与每个函数模板标识对应的输入参数;
执行脚本获取模块,用于从预设的函数模板集中提取出与所述函数模板标识相对应的函数模板;将所述输入参数填充至相应函数模板,得到每个输入参数对应的执行脚本;
测试结果获取模块,用于根据所述测试顺序执行每个执行脚本,得到每个待测试功能点的测试结果。
8.根据权利要求7所述的装置,其特征在于,所述执行脚本获取模块还用于获取与各函数模板相对应的输入参数的输入数量;基于所述输入数量,对所述函数模板进行复制,得到复制模板;将每个输入参数对应填充至一个复制模板,得到多个执行脚本。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123717.0A CN111459796B (zh) | 2020-02-27 | 2020-02-27 | 自动化测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123717.0A CN111459796B (zh) | 2020-02-27 | 2020-02-27 | 自动化测试方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111459796A CN111459796A (zh) | 2020-07-28 |
CN111459796B true CN111459796B (zh) | 2024-03-15 |
Family
ID=71685860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010123717.0A Active CN111459796B (zh) | 2020-02-27 | 2020-02-27 | 自动化测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459796B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328482A (zh) * | 2020-11-05 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 基于脚本模板的测试方法、装置、计算机设备和存储介质 |
CN113535223B (zh) * | 2021-07-19 | 2023-10-24 | 长鑫存储技术有限公司 | 测试流程的配置方法、装置、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016078335A1 (zh) * | 2014-11-18 | 2016-05-26 | 中兴通讯股份有限公司 | 自动化脚本的编写方法和装置 |
WO2018010552A1 (zh) * | 2016-07-12 | 2018-01-18 | 博彦科技股份有限公司 | 测试方法和装置 |
CN107992409A (zh) * | 2017-11-21 | 2018-05-04 | 平安养老保险股份有限公司 | 测试用例生成方法、装置、计算机设备和存储介质 |
CN109783365A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
-
2020
- 2020-02-27 CN CN202010123717.0A patent/CN111459796B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016078335A1 (zh) * | 2014-11-18 | 2016-05-26 | 中兴通讯股份有限公司 | 自动化脚本的编写方法和装置 |
WO2018010552A1 (zh) * | 2016-07-12 | 2018-01-18 | 博彦科技股份有限公司 | 测试方法和装置 |
CN107992409A (zh) * | 2017-11-21 | 2018-05-04 | 平安养老保险股份有限公司 | 测试用例生成方法、装置、计算机设备和存储介质 |
CN109783365A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
邹才凤 ; 杨志伟 ; .一种模块化的数据驱动测试自动化框架.现代计算机(专业版).2011,(06),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111459796A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399293B (zh) | ***测试方法、装置、计算机设备和存储介质 | |
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN108427613B (zh) | 异常接口定位方法、装置、计算机设备和存储介质 | |
CN109766261B (zh) | 覆盖测试方法、装置、计算机设备和存储介质 | |
CN110730107A (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
CN108874661B (zh) | 测试映射关系库生成方法、装置、计算机设备和存储介质 | |
CN110321284B (zh) | 测试数据录入方法、装置、计算机设备和存储介质 | |
CN111475324B (zh) | 日志信息的分析方法、装置、计算机设备和存储介质 | |
CN110471945B (zh) | 活跃数据的处理方法、***、计算机设备和存储介质 | |
CN110781231A (zh) | 基于数据库的批量导入方法、装置、设备及存储介质 | |
CN107003931B (zh) | 将测试验证从测试执行分离 | |
US10365995B2 (en) | Composing future application tests including test action data | |
CN111459796B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN110362479B (zh) | ***升级测试方法和*** | |
CN113282513B (zh) | 接口测试案例的生成方法、装置、计算机设备及存储介质 | |
CN113342685A (zh) | 精准测试方法、装置、计算机设备和存储介质 | |
CN104021072A (zh) | 用于评估失效的软件程序的机器和方法 | |
CN111339535A (zh) | 面向智能合约代码的漏洞预测方法、***、计算机设备和存储介质 | |
CN111143191A (zh) | 网站测试方法、装置、计算机设备和存储介质 | |
CN109542782B (zh) | 基于机器学习的nfc测试方法、装置和计算机设备 | |
CN113176995B (zh) | 基于测试场景的接口测试方法、装置、设备及介质 | |
CN110865939B (zh) | 应用程序质量监测方法、装置、计算机设备和存储介质 | |
CN113468076A (zh) | 应用程序的异常测试方法、装置、设备及存储介质 | |
US10545858B2 (en) | Method for testing a graphical interface and corresponding test system | |
CN114371866A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |