CN114048130A - 单元测试方法、装置、计算机设备及存储介质 - Google Patents
单元测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114048130A CN114048130A CN202111331516.0A CN202111331516A CN114048130A CN 114048130 A CN114048130 A CN 114048130A CN 202111331516 A CN202111331516 A CN 202111331516A CN 114048130 A CN114048130 A CN 114048130A
- Authority
- CN
- China
- Prior art keywords
- test
- control
- attribute
- generating
- data
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 221
- 238000013515 script Methods 0.000 claims abstract description 60
- 238000002360 preparation method Methods 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 35
- 238000013101 initial test Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 4
- 238000013522 software testing Methods 0.000 abstract description 4
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012812 general test Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
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
技术领域
本发明涉及软件测试领域,尤其涉及一种单元测试方法、装置、计算机设备及存储介质。
背景技术
随着软件产业的快速发展,软件测试的重要性日益凸显。单元测试是软件测试的重要组成部分。然而,在一些情况下,由于项目进度压力等问题,单元测试的质量存在较大问题,例如缺乏全面测试、测试效率低等。
发明内容
基于此,有必要针对上述技术问题,提供一种单元测试方法、装置、计算机设备及存储介质,以提高单元测试的全面性和测试效率。
一种单元测试方法,包括:
获取通过编译的页面代码;
从所述页面代码提取若干控件及其属性,生成控件属性列表信息;
获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则;
根据所述约束规则和所述控件属性生成测试准备数据;
根据所述测试准备数据生成测试用例;
将所述测试用例转化为自动测试脚本;
执行所述自动测试脚本,以获取测试结果。
一种单元测试装置,包括:
获取代码模块,用于获取通过编译的页面代码;
信息提取模块,用于从所述页面代码提取若干控件及其属性,生成控件属性列表信息;
获取属性规则模块,用于获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则;
生成准备数据模块,用于根据所述约束规则和所述控件属性生成测试准备数据;
用例生成模块,用于根据所述测试准备数据生成测试用例;
脚本化模块,用于将所述测试用例转化为自动测试脚本;
获取测试结果模块,用于执行所述自动测试脚本,以获取测试结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述单元测试方法。
一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述单元测试方法。
上述单元测试方法、装置、计算机设备及存储介质,通过获取通过编译的页面代码,以从页面代码中提取出控件。从所述页面代码提取若干控件及其属性,生成控件属性列表信息,以确定各个控件的属性。获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则,以通过约束规则生成满足需求的测试准备数据。根据所述约束规则和所述控件属性生成测试准备数据,以确定各个控件属性的取值。根据所述测试准备数据生成测试用例,以批量、全面地生成测试用例,提高测试效率。将所述测试用例转化为自动测试脚本,以实现测试用例的自动测试。执行所述自动测试脚本,以获取测试结果,通过测试结果可以评估页面代码的质量。本发明可以提高单元测试的全面性和测试效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中单元测试方法的一应用环境示意图;
图2是本发明一实施例中单元测试方法的一流程示意图;
图3是本发明一实施例中单元测试装置的一结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的单元测试方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种单元测试方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤S10-S70。
S10、获取通过编译的页面代码。
可理解地,页面代码可以指开发人员对页面(可以是各种类型的页面,如可以是应用程序页面,也可以是网页页面)开发完毕后的,且通过编译的页面代码。通过编译的页面代码,消除了编译方面的错误。
S20、从所述页面代码提取若干控件及其属性,生成控件属性列表信息。
可理解地,此处的控件可以指页面上的交互类控件,如输入框、按钮等。控件的属性包括但不限于名称(Name)、标识(ID)、类型(Type)、风格(Style)、值(Value)。若干控件及其属性可以形成控件属性列表信息。在一示例中,控件属性列表信息可表示为:
控件1:属性11、属性12、属性13;
控件2:属性21、属性22;
控件3:属性31、属性32、属性33、属性34;
……
控件n:属性n1、属性n2、属性n3。
需要注意的是,从页面代码提取控件的过程中,可以结合与页面代码相关的前端代码和后端代码,以提高控件提取的准确率。在此处,可以基于控件的名称已经控件在代码的语法规则对控件进行提取。
S30、获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则。
可理解地,可以预先设置各个控件属性的约束规则。在此处,约束规则包括但不限于控件属性(表现为某个属性字段)的长度、类型和取值范围。在另一些情况下,这些约束规则也可以是由测试人员人工输入。可以构建约束规则的数据库,逐步累积此类约束规则,以减少人工输入。
S40、根据所述约束规则和所述控件属性生成测试准备数据。
可理解地,在确定约束规则和控件属性之后,可以结合实际需求生成多种不同的测试准备数据。例如,对于某一属性,可以依照约束规则设置M个配置值,则可以生成的测试准备数据的数量为其中,Mi为第i个属性的取值个数,n为属性的总个数。
S50、根据所述测试准备数据生成测试用例。
可理解地,获得的测试准备数据中,包含了各个属性及其取值,可以基于此生成测试用例。
例如,在一示例中,一测试准备数据包括:
控件A:
上边界:XX
下边界:XX
需求约束A:XX
需求约束B:XX
……
//(需求约束集)
数据落库类型:XX
数据库字段上边界:XX
数据库字段下边界:XX
数据库约束A:XX
数据库约束B:XX
……
//(数据库设计约束集)
专家测试数据A:XX
专家测试数据B:XX
……
//(基于专家经验的通用测试用例测试数据集)
可以基于上述测试准备数据生成相应的测试用例。
S60、将所述测试用例转化为自动测试脚本。
可理解地,可以先搭建自动化测试框架平台,然后将测试用例输入自动化测试框架平台中,生成自动化测试脚本。在此处,可以根据各个控件的属性数据搭建自动化测试框架。在此处,属性数据包括控件的名称、ID、映射地址(Xpath)等。
S70、执行所述自动测试脚本,以获取测试结果。
可理解地,执行自动测试脚本,若获得的执行结果与预测结果相同,说明页面代码通过测试;若获得的执行结果与预测结果不相同,说明页面代码存在问题,需要对页面代码进行修改。
步骤S10-S70中,获取通过编译的页面代码,以从页面代码中提取出控件。从所述页面代码提取若干控件及其属性,生成控件属性列表信息,以确定各个控件的属性。获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则,以通过约束规则生成满足需求的测试准备数据。根据所述约束规则和所述控件属性生成测试准备数据,以确定各个控件属性的取值。根据所述测试准备数据生成测试用例,以批量、全面地生成测试用例,提高测试效率。将所述测试用例转化为自动测试脚本,以实现测试用例的自动测试。执行所述自动测试脚本,以获取测试结果,通过测试结果可以评估页面代码的质量。本实施例可以提高单元测试的全面性和测试效率。
可选的,步骤S30,即所述获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则,包括:
S301、接收控件属性设置指令;
S302、根据所述控件属性设置指令设置所述控件属性的属性数据,所述属性数据包括字段长度、字段类型和/或取值范围,所述约束规则用于使所述控件属性的取值处于所述属性数据的约束范围内。
可理解地,可以提供控件属性设置页面,测试人员可在该设置页面上对控件属性进行设置,形成控件属性设置指令。在此处,可以借助控件属性设置指令,对控件属性的字段长度、字段类型和/或取值范围进行设置。例如,在一示例中,一文本框的字段长度为256字节,说明该文本框最多只能输入256个字符。
需要注意的是,在此处的约束规则包括显性要求和隐性要求。显性要求来源于页面的设计要求、测试要求等。隐性要求指的是一些逻辑规则,如结束时间不能大于开始时间,人数不能为小数和负数等。
可选的,若所述控件属性的字段类型为文本类型,则步骤S40,即所述根据所述约束规则和所述控件属性生成测试准备数据,包括:
S401、获取与所述文本类型关联的验证数据集;
S402、从所述验证数据集提取若干验证数据,以将所述验证数据作为所述控件属性的取值;所述测试准备数据包括若干由一个所述验证数据与一个所述控件属性组成的测试数据组合。
可理解地,验证数据集可以是基于测试专家实践总结获得的用例数据集。验证数据集包含了较多容易出错的用例数据,涉及很多开发人员和初级测试人员未能考虑全的死角,可以大幅度提高单元测试的品质。
在一示例中,一测试准备数据可表示为:
控件A:
上边界:验证数据11(形成测试数据组合)
下边界:验证数据12
需求约束A:验证数据13
需求约束B:验证数据14
……
//(需求约束集)
数据落库类型:验证数据21
数据库字段上边界:验证数据22
数据库字段下边界:验证数据23
数据库约束A:验证数据24
数据库约束B:验证数据25
……
//(数据库设计约束集)
专家测试数据A:验证数据31
专家测试数据B:验证数据32
……
//(基于专家经验的通用测试用例测试数据集)
可选的,所述验证数据集基于历史测试数据和/或异常测试数据构建而成。
可理解地,可以设置历史测试数据库,用于存储历史测试数据;设置异常测试数据库,用于存储异常测试数据。可以根据实际使用需要对历史测试数据和/或异常测试数据进行筛选和整理,形成验证数据集。验证数据集集成了大量容易出错的异常数据,可以大大提高单元测试的品质。
在一些示例中,验证数据集中的验证数据,用于设置单个选择框(checkbox)的操作数据是选和不选;设置多个CheckBox的操作数据集是全选、全不选、选第一个和最后一个、选前三个、选奇序数的、选偶序数的等;设置文本框(Textbox)中涉及的Null、空格符、空、0、where 1=1、and 1=1、256个汉字、256个英文、单引号、双字节数字等情况。
可选的,步骤S50,即所述根据所述测试准备数据生成测试用例,包括:
S501、获取与所述页面代码关联的页面配置规则;
S502、根据所述页面配置规则确定必填控件属性;
S503、基于所述必填控件属性的取值规则生成所述测试用例中所述必填控件属性的取值。
可选的,页面配置规则可以是预先配置好的规则,也可以是从页面代码提取的规则。页面配置规则可以确定哪些控件属于必填,哪些控件属于非必填。必填控件的属性,即为必填控件属性。当控件为必填控件,则输入该必填控件的属性的取值必须符合其对应的取值规范。例如,某个控件的属性涉及人的性别,则其取值必须是“男”或“女”,不能是其他取值。
可选的,步骤S50,即所述根据所述测试准备数据生成测试用例,包括:
S504、获取与所述控件属性匹配的用例模板;
S505、根据所述用例模板和所述约束规则生成所述测试用例。
可理解地,可以预先配置好若干与控件属性关联的用例模板,然后基于控件属性匹配相应的用例模板。基于约束规则确定控件属性的属性值,然后将属性值填充至用例模板中,形成测试用例。
可选的,步骤S60,即所述将所述测试用例转化为自动测试脚本,包括:
S601、选取取值合法的测试用例作为样例;
S602、生成所述样例的初始测试脚本,并对所述初始测试脚本进行验证;
S603、若所述初始测试脚本通过验证,将所述初始测试脚本确定为桩脚本;
S604、基于所述桩脚本生成与所述样例在结构上相同的多个测试用例的自动测试脚本。
可理解地,取值合法指的是测试用例中各个控件属性的取值均符合相应的约束规则。可以将该测试用例确定为样例,然后生成样例的初始测试脚本。验证初始测试脚本,指的是执行该初始测试脚本,验证是否出错。若出错,说明页面代码或初始测试脚本存在问题,需要进行相应的修改和调整。若没有出错,可以将该初始测试脚本确定为桩脚本,然后基于其他测试用例调整桩脚本中各个控件属性的取值,以快速生成大量的自动测试脚本。
在此处,与样例在结构上相同的测试用例,指的是两者仅仅在控件属性存在差异,测试步骤是相同的。例如,用例1与用例2的区别仅在于:用例1的控件1的取值为1,用例2的控件1的取值为2;此时可认为用例1与用例2在结构上相同。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种单元测试装置,该单元测试装置与上述实施例中单元测试方法一一对应。如图3所示,该单元测试装置包括获取代码模块10、信息提取模块20、获取属性规则模块30、生成准备数据模块40、用例生成模块50、脚本化模块60和获取测试结果模块70。各功能模块详细说明如下:
获取代码模块10,用于获取通过编译的页面代码;
信息提取模块20,用于从所述页面代码提取若干控件及其属性,生成控件属性列表信息;
获取属性规则模块30,用于获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则;
生成准备数据模块40,用于根据所述约束规则和所述控件属性生成测试准备数据;
用例生成模块50,用于根据所述测试准备数据生成测试用例;
脚本化模块60,用于将所述测试用例转化为自动测试脚本;
获取测试结果模块70,用于执行所述自动测试脚本,以获取测试结果。
可选的,获取属性规则模块30包括:
接收指令单元,用于接收控件属性设置指令;
属性设置单元,用于根据所述控件属性设置指令设置所述控件属性的属性数据,所述属性数据包括字段长度、字段类型和/或取值范围,所述约束规则用于使所述控件属性的取值处于所述属性数据的约束范围内。
可选的,若所述控件属性的字段类型为文本类型,则生成准备数据模块40包括:
获取验证数据集单元,用于获取与所述文本类型关联的验证数据集;
确定属性取值单元,用于从所述验证数据集提取若干验证数据,以将所述验证数据作为所述控件属性的取值;所述测试准备数据包括若干由一个所述验证数据与一个所述控件属性组成的测试数据组合。
可选的,所述验证数据集基于历史测试数据和/或异常测试数据构建而成。
可选的,用例生成模块50包括:
获取配置规则单元,用于获取与所述页面代码关联的页面配置规则;
确定必填控件单元,用于根据所述页面配置规则确定必填控件属性;
确定必填取值单元,用于基于所述必填控件属性的取值规则生成所述测试用例中所述必填控件属性的取值。
可选的,用例生成模块50包括:
获取模板单元,用于获取与所述控件属性匹配的用例模板;
生成用例单元,用于根据所述用例模板和所述约束规则生成所述测试用例。
可选的,脚本化模块60包括:
选取样例单元,用于选取取值合法的测试用例作为样例;
样例脚本验证单元,用于生成所述样例的初始测试脚本,并对所述初始测试脚本进行验证;
确定桩脚本单元,用于若所述初始测试脚本通过验证,将所述初始测试脚本确定为桩脚本;
生成测试脚本单元,用于基于所述桩脚本生成与所述样例在结构上相同的多个测试用例的自动测试脚本。
关于单元测试装置的具体限定可以参见上文中对于单元测试方法的限定,在此不再赘述。上述单元测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图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)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种单元测试方法,其特征在于,包括:
获取通过编译的页面代码;
从所述页面代码提取若干控件及其属性,生成控件属性列表信息;
获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则;
根据所述约束规则和所述控件属性生成测试准备数据;
根据所述测试准备数据生成测试用例;
将所述测试用例转化为自动测试脚本;
执行所述自动测试脚本,以获取测试结果。
2.如权利要求1所述的单元测试方法,其特征在于,所述获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则,包括:
接收控件属性设置指令;
根据所述控件属性设置指令设置所述控件属性的属性数据,所述属性数据包括字段长度、字段类型和/或取值范围,所述约束规则用于使所述控件属性的取值处于所述属性数据的约束范围内。
3.如权利要求1所述的单元测试方法,其特征在于,若所述控件属性的字段类型为文本类型,则所述根据所述约束规则和所述控件属性生成测试准备数据,包括:
获取与所述文本类型关联的验证数据集;
从所述验证数据集提取若干验证数据,以将所述验证数据作为所述控件属性的取值;所述测试准备数据包括若干由一个所述验证数据与一个所述控件属性组成的测试数据组合。
4.如权利要求3所述的单元测试方法,其特征在于,所述验证数据集基于历史测试数据和/或异常测试数据构建而成。
5.如权利要求1所述的单元测试方法,其特征在于,所述根据所述测试准备数据生成测试用例,包括:
获取与所述页面代码关联的页面配置规则;
根据所述页面配置规则确定必填控件属性;
基于所述必填控件属性的取值规则生成所述测试用例中所述必填控件属性的取值。
6.如权利要求1所述的单元测试方法,其特征在于,所述根据所述测试准备数据生成测试用例,包括:
获取与所述控件属性匹配的用例模板;
根据所述用例模板和所述约束规则生成所述测试用例。
7.如权利要求1所述的单元测试方法,其特征在于,所述将所述测试用例转化为自动测试脚本,包括:
选取取值合法的测试用例作为样例;
生成所述样例的初始测试脚本,并对所述初始测试脚本进行验证;
若所述初始测试脚本通过验证,将所述初始测试脚本确定为桩脚本;
基于所述桩脚本生成与所述样例在结构上相同的多个测试用例的自动测试脚本。
8.一种单元测试装置,其特征在于,包括:
获取代码模块,用于获取通过编译的页面代码;
信息提取模块,用于从所述页面代码提取若干控件及其属性,生成控件属性列表信息;
获取属性规则模块,用于获取与所述控件属性列表信息中各个所述控件属性匹配的约束规则;
生成准备数据模块,用于根据所述约束规则和所述控件属性生成测试准备数据;
用例生成模块,用于根据所述测试准备数据生成测试用例;
脚本化模块,用于将所述测试用例转化为自动测试脚本;
获取测试结果模块,用于执行所述自动测试脚本,以获取测试结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述单元测试方法。
10.一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7中任一项所述单元测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111331516.0A CN114048130A (zh) | 2021-11-11 | 2021-11-11 | 单元测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111331516.0A CN114048130A (zh) | 2021-11-11 | 2021-11-11 | 单元测试方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114048130A true CN114048130A (zh) | 2022-02-15 |
Family
ID=80208344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111331516.0A Pending CN114048130A (zh) | 2021-11-11 | 2021-11-11 | 单元测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048130A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269402A (zh) * | 2022-07-20 | 2022-11-01 | 上海复深蓝软件股份有限公司 | 测试数据匹配方法、装置、计算机设备及存储介质 |
CN116594915A (zh) * | 2023-07-17 | 2023-08-15 | 西南交通大学 | 一种集成测试用例的自动生成方法、装置、设备及介质 |
CN117112400A (zh) * | 2023-07-24 | 2023-11-24 | 东方通创新科技(重庆)有限公司 | 测试用例自动生成平台 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873626A (zh) * | 2005-06-01 | 2006-12-06 | 中兴通讯股份有限公司 | 一种自动生成桩和驱动函数的单元测试系统及方法 |
US20130290875A1 (en) * | 2012-04-30 | 2013-10-31 | Microsoft Corporation | Dynamic event generation for user interface control |
CN104407973A (zh) * | 2014-11-25 | 2015-03-11 | 珠海格力电器股份有限公司 | 一种自动化单元测试的实现方法及装置 |
CN110032515A (zh) * | 2019-04-12 | 2019-07-19 | 中国银行股份有限公司 | 一种界面测试案例生成方法、装置及存储介质 |
CN111797026A (zh) * | 2020-07-17 | 2020-10-20 | 上海复深蓝软件股份有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN111881024A (zh) * | 2020-07-13 | 2020-11-03 | 广联达科技股份有限公司 | 一种接口测试脚本的确定方法、装置、设备及存储介质 |
CN112181806A (zh) * | 2020-09-03 | 2021-01-05 | 卡斯柯信号有限公司 | 一种基于tftp协议的嵌入式软件测试装置及方法 |
CN112685311A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 测试脚本自动生成方法、装置、计算机设备及存储介质 |
-
2021
- 2021-11-11 CN CN202111331516.0A patent/CN114048130A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873626A (zh) * | 2005-06-01 | 2006-12-06 | 中兴通讯股份有限公司 | 一种自动生成桩和驱动函数的单元测试系统及方法 |
US20130290875A1 (en) * | 2012-04-30 | 2013-10-31 | Microsoft Corporation | Dynamic event generation for user interface control |
CN104407973A (zh) * | 2014-11-25 | 2015-03-11 | 珠海格力电器股份有限公司 | 一种自动化单元测试的实现方法及装置 |
CN110032515A (zh) * | 2019-04-12 | 2019-07-19 | 中国银行股份有限公司 | 一种界面测试案例生成方法、装置及存储介质 |
CN111881024A (zh) * | 2020-07-13 | 2020-11-03 | 广联达科技股份有限公司 | 一种接口测试脚本的确定方法、装置、设备及存储介质 |
CN111797026A (zh) * | 2020-07-17 | 2020-10-20 | 上海复深蓝软件股份有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN112181806A (zh) * | 2020-09-03 | 2021-01-05 | 卡斯柯信号有限公司 | 一种基于tftp协议的嵌入式软件测试装置及方法 |
CN112685311A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 测试脚本自动生成方法、装置、计算机设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269402A (zh) * | 2022-07-20 | 2022-11-01 | 上海复深蓝软件股份有限公司 | 测试数据匹配方法、装置、计算机设备及存储介质 |
CN115269402B (zh) * | 2022-07-20 | 2023-09-15 | 上海复深蓝软件股份有限公司 | 测试数据匹配方法、装置、计算机设备及存储介质 |
CN116594915A (zh) * | 2023-07-17 | 2023-08-15 | 西南交通大学 | 一种集成测试用例的自动生成方法、装置、设备及介质 |
CN116594915B (zh) * | 2023-07-17 | 2023-09-29 | 西南交通大学 | 一种集成测试用例的自动生成方法、装置、设备及介质 |
CN117112400A (zh) * | 2023-07-24 | 2023-11-24 | 东方通创新科技(重庆)有限公司 | 测试用例自动生成平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446116B (zh) | 应用程序页面的生成方法、装置、计算机设备和存储介质 | |
US10755093B2 (en) | Hierarchical information extraction using document segmentation and optical character recognition correction | |
CN109783785B (zh) | 生成实验检测报告的方法、装置和计算机设备 | |
CN111090788B (zh) | json文件的比对方法、装置、存储介质及计算机设备 | |
CN108388515B (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
CN110147413A (zh) | 数据存储方法、数据查询方法、装置、设备及存储介质 | |
CN110941546A (zh) | Web页面用例的自动化测试方法、装置、设备及存储介质 | |
CN109308285A (zh) | 数据库脚本管理方法、装置、计算机设备及存储介质 | |
CN114048130A (zh) | 单元测试方法、装置、计算机设备及存储介质 | |
CN111797026A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN109033150A (zh) | 敏感词验证方法、装置、计算机设备及存储介质 | |
CN112286934A (zh) | 数据库表导入方法、装置、设备及介质 | |
CN111581271A (zh) | 接口参数确定方法、装置、计算机设备和存储介质 | |
CN111667231B (zh) | 自动化报税方法、装置、系统、计算机设备和存储介质 | |
CN110309099A (zh) | 接口管理方法、装置、设备及计算机可读存储介质 | |
CN111597118A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN113505078B (zh) | 配置文件更新方法、装置、设备及存储介质 | |
CN110765152A (zh) | Sql提取方法、装置、计算机设备和存储介质 | |
CN110647350A (zh) | 接口文档生成方法、装置、计算机设备和存储介质 | |
CN114816971A (zh) | 一种数据处理方法、相关设备及存储介质 | |
CN110633213B (zh) | 单元测试方法、装置、计算机设备和存储介质 | |
CN112732423B (zh) | 流程迁移方法、装置、设备及介质 | |
CN111858386A (zh) | 数据测试方法、装置、计算机设备和存储介质 | |
CN112580334A (zh) | 一种文案处理方法、装置、服务器及存储介质 | |
CN114997241B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220215 |