CN110765020B - 基于领域知识的测试用例生成方法 - Google Patents

基于领域知识的测试用例生成方法 Download PDF

Info

Publication number
CN110765020B
CN110765020B CN201911022999.9A CN201911022999A CN110765020B CN 110765020 B CN110765020 B CN 110765020B CN 201911022999 A CN201911022999 A CN 201911022999A CN 110765020 B CN110765020 B CN 110765020B
Authority
CN
China
Prior art keywords
data
constraint
test
field
information
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
Application number
CN201911022999.9A
Other languages
English (en)
Other versions
CN110765020A (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.)
Shanghai Duce Information Technology Co ltd
Original Assignee
Shanghai Duce Information 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 Shanghai Duce Information Technology Co ltd filed Critical Shanghai Duce Information Technology Co ltd
Priority to CN201911022999.9A priority Critical patent/CN110765020B/zh
Publication of CN110765020A publication Critical patent/CN110765020A/zh
Application granted granted Critical
Publication of CN110765020B publication Critical patent/CN110765020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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:约束记录
以一种计算机可读的数据形式,记录针对待测软件的一组初始数据约束信息以及若干组期望测试结果信息;
所述一组初始数据约束信息是若干条数据约束的集合;初始数据约束信息描述了待测软件能够正确接收的输入数据应该满足什么样的条件和限制,而每条数据约束描述了输入数据中的一个字段的数据应该满足的条件和限制;每条数据约束包括以下内容:
1)本条数据约束所描述的字段的名称,或任何能够唯一地标识这一字段的信息;
2)对该字段的数据类型的描述,所选的数据类型包括但不限于字符串、整型、浮点数、数组和字典;
3)对该字段的取值的具体约束的描述,包括但不限于用正则表达式描述字符串类型的字段的数据应该符合的格式或用区间上下限限定浮点数类型的字段的数据的取值范围;在描述中能够包含对其他字段的值的引用,从而表达字段之间的依赖关系;
记录若干组期望测试结果信息;每组期望测试结果信息包括一组输出数据约束信息,一组输出数据约束信息是若干条数据约束的集合;输出数据约束信息描述了待测软件在接收到满足该组期望测试结果信息所对应的测试数据约束信息所描述的条件和限制的输入数据后输出的数据应该满足的条件和限制,而每条数据约束描述了输出数据中的一个字段的数据应该满足的条件和限制;每条数据约束所包括的内容与所述一组初始数据约束信息中的数据约束所包括的内容相同;每组期望测试结果信息所对应的测试数据约束信息的构建将在步骤2中描述;
一组期望测试结果信息中包括或者不包括一组覆盖约束,一组覆盖约束是若干条数据约束的集合;当覆盖约束存在时,会在构建测试数据约束信息时被使用;覆盖约束描述了该组期望测试结果信息所对应的测试数据约束信息与初始数据约束信息之间的差异,其作用是使得生成的数据符合该组期望测试结果信息的测试目标;
步骤2:测试生成
以一组初始数据约束信息和若干组期望测试结果信息作为输入,为每组期望测试结果信息生成一组测试用例,每组测试用例的数量由用户指定;对每组期望测试结果信息执行以下子步骤:
步骤2.1:构建测试数据约束信息
构建该组期望测试结果信息所对应的测试数据约束信息;若该组期望测试结果信息不包括覆盖约束,则测试数据约束信息与初始数据约束信息相同;若包含覆盖约束,执行以下操作:
ⅰ)生成一组数据约束的集合A,内容与初始数据约束信息相同;
ⅱ)对覆盖约束中每条数据约束C,查看其对应的字段名称或唯一标识信息,若A中存在一条数据约束O,O对应的字段名称或唯一标识信息与C相同,则将O从A中移除;
ⅲ)将覆盖约束中的数据约束全部加入集合A;
最后得到的集合A即是该组期望测试结果信息对应的测试数据约束信息;
步骤2.2:数据生成
以步骤2.1构建的测试数据约束信息作为输入,执行以下操作:
ⅰ)查看测试数据约束信息中的每条数据约束所描述的字段名称或唯一标识信息,为每个字段找到对应的数据约束;例如,假设测试约束信息包含三条数据约束CA、CB、CC,它们所描述的字段的名称分别为“A”,“B”,“C”,则在这一子步骤中生成的数据包括三个字段FA,FB,FC,它们的名称分别为“A”,“B”,“C”,它们对应的数据约束分别为CA、CB、CC。
ⅱ)查看每个字段,若该字段还没有被赋值,并且其对应的数据约束的内容当中不包含对其他的字段的值的引用,则随机生成一个满足该数据约束所描述的条件及限制的值,并将该值覆盖给该字段;
ⅲ)查看每个字段,若该字段还没有被赋值,并且其对应的数据约束的内容当中包含对其他的字段的值的引用,那么查看每一处引用,若该处引用所指向的字段已经被赋值,则修改数据约束,将数据约束的内容中表示该处引用的数据替换为其所指向的字段的值;
ⅳ)重复步骤ⅱ)、步骤ⅲ),直到每个字段都已被赋值;
ⅴ)将所有字段以及对应的赋值以待测软件能够识别的数据形式存储,称被存储的数据是一条测试数据;
ⅵ)重复步骤i)~步骤v),直到存储下来的测试数据的数量达到用户指定的数量;
步骤2.3:用例生成
以步骤2.2所生成的若干条测试数据作为输入,为每条测试数据生成一条对应的测试用例程序;为一条测试数据生成的测试用例程序时包括执行以下操作的代码:
ⅰ)将测试数据输入待测软件
等待软件执行,获取软件的输出数据;
ⅱ)查看期望结果信息中的输出数据约束信息中的每条数据约束,若数据约束的内容中包含对其他字段的值的引用,则根据字段名称或唯一标识信息在测试数据或者本次输出数据中查找该处引用所指向的字段的值,并将数据约束的内容中标识该处引用的数据替换为该字段的值;
ⅲ)查看输出结果中的每个字段,根据字段名称或唯一标识信息在输出数据约束信息中查找得到该字段对应的数据约束,若该字段的值满足对应的数据约束所描述的条件及限制,则继续查看下一个字段;否则,执行用户事先指定的在测试不通过时执行的操作;
ⅳ)如果所有字段的值均满足对应的数据约束,执行用户事先指定的在测试通过时执行的操作。
所述记录若干组期望测试结果信息,其每组期望测试结果信息包括如下内容:
ⅰ)一组输出数据约束信息,包含若干条数据约束。
ⅱ)一组覆盖约束,包含若干条数据约束;期望测试结果信息包含或不包含覆盖约束。
本发明通过读取初始数据约束信息自动化地生成大量测试用例,相对于人工编写测试用例减少了大量了重复工作,并且对功能场景的覆盖更加全面。除了正确的、满足约束的输入以外,本方法还引入了覆盖约束,使测试人员能够临时修改部分约束以生成各类异常输入,用以测试软件系统在异常输入下的健壮性,有效提升测试环节的效率和软件测试的效果。
具体实施方式
下面结合实施例对本发明详细描述。
实施例
根据本发明的方法,测试人员首先根据软件的接口定义等信息,定义对应的初始数据约束信息与若干期望结果信息。在本实施例中,使用自定义的语法记录针对待测软件的一组初始数据约束信息以及若干组期望测试结果信息。下面给出通过该语法定义的初始数据约束信息的一个例子:
GoodsId is String format "[A-Z]{4}"
ObjctNm is Integer in [ 8, 9, 10 ]
OrderId is String in [ "2508_<%GoodsId%>", "0000" ]
上述初始数据约束信息的例子中,每一行均表示一条数据约束,因此上述例子描述了输入数据中的三个字段的数据分别应该满足的条件和限制。按照本实施例的方案,在每条数据约束中,“is”是一个固定的关键字,“is”左边应当有且仅有一个不包含空格的字符串表示该数据约束所描述的字段的名称,“is”右边的第一个不含空格的字符串描述了该字段的数据类型,数据约束的剩余部分是对该字段的取值的具体约束的描述。同时,在每条数据约束中能够使用在“<%”和“%>”这一对字符串中填写字段名称的形式引用其他字段的值。例如,“<%GoodsId%>”表示对名称为“GoodsId”的字段的值的引用。
因此在上述例子中,第一条数据约束描述了名称为“GoodsId”的字段,其数据应该为字符串类型,且字符串的内容满足正则表达式“[A-Z]{4}”;第二条数据约束描述了名称为“ObjctNm”的字段,其数据应该为整型数据,且取值只能为8、9、10中的一个;第三条数据描述了名称为“OrderId”的字段,其数据应该为字符串类型,其具体约束包含对名为“GoodsId”的字段的值的引用,因此该字段依赖于名为“GoodsId”的字段,其取值范围会根据名为“GoodsId”的字段的值变化。例如,当GoodsId的数据为“NERO”时,该字段的数据必须为“2508_NERO”或“0000”中的一个。
下面给出通过本实施例中自定义的语法定义的期望测试结果信息的一个例子:
Expect:
retCode is Integer value 1
retMsg is String value "ObjctNm取值超出范围"
EndExpect
Overwrite:
ObjctNm is Integer value 20
EndOverwrite
字符串“Expect:”以及“EndExpect”之间的每一行表示输出数据约束信息中的一条数据约束,“Overwrite”和“EndOverwrite”之间的每一行表示覆盖约束中的一条数据约束,这些数据约束的格式与之前给出的初始数据约束信息中的数据约束的格式相同。
上述例子中的输出数据约束信息表示待测软件在接收到满足该组期望测试结果信息所对应的测试数据约束信息所描述的条件和限制的输入数据后输出的数据中应包含两个字段,一个字段的名称为“retCode”且其数据类型应该是整型,取值固定为1;另一个字段的名称为“retMsg”且其数据类型应该是字符串,取值固定为“ObjctNm取值超出范围”。
上述例子中的覆盖约束表示该组期待测试结果信息所对应的测试数据约束信息中,对名为“ObjctNm”的字段的数据约束与初始数据约束信息不同。在测试数据约束信息中,名为“ObjctNm”的字段的取值固定为20。因此,该组期望测试结果信息的测试目标是待测软件在ObjctNm的取值超出范围时的行为。
在Overwrite下定义了一条覆盖约束,表示字段ObjctNm的数据固定为20,这样生成的测试数据中,字段ObjctNm将违反原本的约束。若软件正确运行,则该错误应该能被发现,并输出相应的错误码以及错误信息。因此,测试人员在Expect下定义了上述数据约束,表示由该期望结果信息与初始数据约束信息组合生成的测试数据输入软件后,软件输出的数据应该包含两个字段retCode与retMsg,retCode的值应为1,而retMsg的值应为“ObjctNm取值超出范围”。
下面以上述初始数据约束信息以及期望测试结果信息为例描述测试用例的生成过程。首先需要构建测试数据约束信息。初始化一组数据约束集合A,内容与初始数据约束信息相同,即为:
GoodsId is String format "[A-Z]{4}"
ObjctNm is Integer in [ 8, 9, 10 ]
OrderId is String in [ "2508_<%GoodsId%>", "0000" ]
查看期望测试结果信息中的覆盖约束,发现覆盖约束和集合A中均存在描述名为“ObjctNm”的字段的数据约束,将对应的数据约束从集合A中移除,此时集合A的内容为:
GoodsId is String format "[A-Z]{4}"
OrderId is String in [ "2508_<%GoodsId%>", "0000" ]
最后将覆盖约束中的数据约束全部加入集合A,得到测试数据约束信息,内容为:
GoodsId is String format "[A-Z]{4}"
ObjctNm is Integer value20
OrderId is String in [ "2508_<%GoodsId%>", "0000" ]
之后根据测试数据约束信息生成测试数据。查看每条数据约束,针对名为“GoodsId”和“ObjctNm”的两个字段的数据约束的内容中不包含任何引用,因此可以为其生成数据。GoodsId的约束要求数据符合正则表达式“[A-Z]{4}”,因此任意由4个大写字母构成的字符串均符合约束。假设在这一次生成中,GoodsId的取值为“NARA”,而ObjctNm的取值固定为20。再次查看每条数据约束,针对名为“OrderId”的字段的数据约束的内容中包含对名为“GoodsId”的字段的值的引用,而GoodsId已经被赋值为“NARA”,因此将该处引用的数据替换为“NARA”,即,上述测试数据约束信息中的第三条数据约束的内容被修改为:
OrderId is String in [ "2508_NARA", "0000" ]
其中不包含任何引用,因此能够为OrderId生成数据。假设在这一次的生成中,OrderId的取值为“2508_NARA”。至此,一条新的测试数据生成完毕,各个字段取值如下:
GoodsId: "NARA"
ObjctNm: 20
OrderId: "2508_NARA"
接下来,根据软件系统具体的输入方式将测试数据转换为软件系统可以接受的形式。假设待测系统使用JSON字符串作为输入和输出数据的格式,则上述数据应该被转换为如下字符串:
{ "GoodsId": "NARA", "ObjctNm": 20, "OrderId": "2508_NARA" }
这一转换过程应当是简单且自然的,这里不做详细描述。
接下来,生成实际可用的测试用例。一般而言,在这一步可以生成一段代码,代码执行以下操作:
1. 将之前生成的JSON字符串输入软件。
2. 等待软件执行,获取软件的输出数据。
3. 检查输出数据,要求输出数据应为JSON字符串,并包含如下数据:
{ "retCode": 1, "retMsg": "ObjctNm取值超出范围" }
根据检查结果,执行对应的固定操作。
上述操作的逻辑是确定的,因此生成相应的代码是完全可行的。至此,一条测试用例生成完毕。上述生成操作不需要任何人为干预,可以自动化地生成大量测试样例,尽可能多地覆盖各类场景。
可以理解的是,以上的初始数据约束信息、期望结果信息、测试用例生成均为示意性说明,不应理解为对本发明方法的限制。本领域技术人员可以根据实际需求,对各种信息中定义的内容进行增减、删改,或者采用不同的语法格式进行定义。对于采用不同输入输出方式的软件系统,在生成测试样例时也需要作出相应的修改以适配待测软件,这些并不影响本发明整体方案的实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (2)

1.一种基于领域知识的测试用例生成方法,其特征在于,该方法包括以下具体步骤:
步骤1:约束记录
以一种计算机可读的数据形式,记录针对待测软件的一组初始数据约束信息以及若干组期望测试结果信息;
所述一组初始数据约束信息是若干条数据约束的集合;初始数据约束信息描述了待测软件能够正确接收的输入数据应该满足什么样的条件和限制,而每条数据约束描述了输入数据中的一个字段的数据应该满足的条件和限制;每条数据约束包括以下内容:
1)本条数据约束所描述的字段的名称,或任何能够唯一地标识这一字段的信息;
2)对该字段的数据类型的描述,所选的数据类型包括但不限于字符串、整型、浮点数、数组和字典;
3)对该字段的取值的具体约束的描述,包括但不限于用正则表达式描述字符串类型的字段的数据应该符合的格式或用区间上下限限定浮点数类型的字段的数据的取值范围;在描述中能够包含对其他字段的值的引用,从而表达字段之间的依赖关系;
记录若干组期望测试结果信息;每组期望测试结果信息包括一组输出数据约束信息,一组输出数据约束信息是若干条数据约束的集合;输出数据约束信息描述了待测软件在接收到满足该组期望测试结果信息所对应的测试数据约束信息所描述的条件和限制的输入数据后输出的数据应该满足的条件和限制,而每条数据约束描述了输出数据中的一个字段的数据应该满足的条件和限制;每条数据约束所包括的内容与所述一组初始数据约束信息中的数据约束所包括的内容相同;
一组期望测试结果信息中包括或者不包括一组覆盖约束,一组覆盖约束是若干条数据约束的集合;当覆盖约束存在时,会在构建测试数据约束信息时被使用;覆盖约束描述了该组期望测试结果信息所对应的测试数据约束信息与初始数据约束信息之间的差异,其作用是使得生成的数据符合该组期望测试结果信息的测试目标;
步骤2:测试生成
以一组初始数据约束信息和若干组期望测试结果信息作为输入,为每组期望测试结果信息生成一组测试用例,每组测试用例的数量由用户指定;对每组期望测试结果信息执行以下子步骤:
步骤2.1:构建测试数据约束信息
构建该组期望测试结果信息所对应的测试数据约束信息;若该组期望测试结果信息不包括覆盖约束,则测试数据约束信息与初始数据约束信息相同;若包含覆盖约束,执行以下操作:
ⅰ)生成一组数据约束的集合A,内容与初始数据约束信息相同;
ⅱ)对覆盖约束中每条数据约束C,查看其对应的字段名称或唯一标识信息,若A中存在一条数据约束O,O对应的字段名称或唯一标识信息与C相同,则将O从A中移除;
ⅲ)将覆盖约束中的数据约束全部加入集合A;
最后得到的集合A即是该组期望测试结果信息对应的测试数据约束信息;
步骤2.2:数据生成
以步骤2.1构建的测试数据约束信息作为输入,执行以下操作:
ⅰ)查看测试数据约束信息中的每条数据约束所描述的字段名称或唯一标识信息,为每个字段找到对应的数据约束;
ⅱ)查看每个字段,若该字段还没有被赋值,并且其对应的数据约束的内容当中不包含对其他的字段的值的引用,则随机生成一个满足该数据约束所描述的条件及限制的值,并将该值覆盖给该字段;
ⅲ)查看每个字段,若该字段还没有被赋值,并且其对应的数据约束的内容当中包含对其他的字段的值的引用,那么查看每一处引用,若该处引用所指向的字段已经被赋值,则修改数据约束,将数据约束的内容中表示该处引用的数据替换为其所指向的字段的值;
ⅳ)重复步骤ⅱ)、步骤ⅲ),直到每个字段都已被赋值;
ⅴ)将所有字段以及对应的赋值以待测软件能够识别的数据形式存储,称被存储的数据是一条测试数据;
ⅵ)重复步骤i)~步骤v),直到存储下来的测试数据的数量达到用户指定的数量;
步骤2.3:用例生成
以步骤2.2所生成的若干条测试数据作为输入,为每条测试数据生成一条对应的测试用例程序;为一条测试数据生成的测试用例程序时包括执行以下操作的代码:
ⅰ)将测试数据输入待测软件
等待软件执行,获取软件的输出数据;
ⅱ)查看期望结果信息中的输出数据约束信息中的每条数据约束,若数据约束的内容中包含对其他字段的值的引用,则根据字段名称或唯一标识信息在测试数据或者本次输出数据中查找该处引用所指向的字段的值,并将数据约束的内容中标识该处引用的数据替换为该字段的值;
ⅲ)查看输出结果中的每个字段,根据字段名称或唯一标识信息在输出数据约束信息中查找得到该字段对应的数据约束,若该字段的值满足对应的数据约束所描述的条件及限制,则继续查看下一个字段;否则,执行用户事先指定的在测试不通过时执行的操作;
ⅳ)如果所有字段的值均满足对应的数据约束,执行用户事先指定的在测试通过时执行的操作。
2.根据权利要求1所述的测试用例生成方法,其特征在于,所述记录若干组期望测试结果信息,其每组期望测试结果信息包括:
ⅰ)一组输出数据约束信息,包含若干条数据约束;
ⅱ)一组覆盖约束,包含若干条数据约束;期望测试结果信息包含或不包含覆盖约束。
CN201911022999.9A 2019-10-25 2019-10-25 基于领域知识的测试用例生成方法 Active CN110765020B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911022999.9A CN110765020B (zh) 2019-10-25 2019-10-25 基于领域知识的测试用例生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911022999.9A CN110765020B (zh) 2019-10-25 2019-10-25 基于领域知识的测试用例生成方法

Publications (2)

Publication Number Publication Date
CN110765020A CN110765020A (zh) 2020-02-07
CN110765020B true CN110765020B (zh) 2023-03-24

Family

ID=69333765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911022999.9A Active CN110765020B (zh) 2019-10-25 2019-10-25 基于领域知识的测试用例生成方法

Country Status (1)

Country Link
CN (1) CN110765020B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5856984A (en) * 1996-09-30 1999-01-05 Mci Worldcom, Inc. Method of and system for generating test cases
JP2012221313A (ja) * 2011-04-11 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成装置及び方法
CN103064788A (zh) * 2012-12-24 2013-04-24 清华大学 一种基于接口语义契约模型的Web服务建模与测试方法
CN108595341A (zh) * 2018-05-11 2018-09-28 清华大学 测试用例自动生成方法及系统
CN108804304A (zh) * 2017-05-05 2018-11-13 北京京东尚科信息技术有限公司 测试用例生成方法及装置、存储介质、电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323650B2 (en) * 2012-07-23 2016-04-26 Infosys Limited Methods for generating software test input data and devices thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5856984A (en) * 1996-09-30 1999-01-05 Mci Worldcom, Inc. Method of and system for generating test cases
JP2012221313A (ja) * 2011-04-11 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成装置及び方法
CN103064788A (zh) * 2012-12-24 2013-04-24 清华大学 一种基于接口语义契约模型的Web服务建模与测试方法
CN108804304A (zh) * 2017-05-05 2018-11-13 北京京东尚科信息技术有限公司 测试用例生成方法及装置、存储介质、电子设备
CN108595341A (zh) * 2018-05-11 2018-09-28 清华大学 测试用例自动生成方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种约束求解的Web应用测试数据生成与筛选方法;邓志丹等;《计算机工程与应用》;20161231(第18期);全文 *
基于接口语义契约的Web服务测试数据生成;侯可佳等;《软件学报》;20130915(第09期);全文 *

Also Published As

Publication number Publication date
CN110765020A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
US11093240B2 (en) Automating identification of code snippets for library suggestion models
US12056487B2 (en) Automating generation of library suggestion engine models
US7917895B2 (en) Automated software testing and validation system
US9619373B2 (en) Method and apparatus to semantically connect independent build and test processes
US9588871B1 (en) Method and system for dynamic business rule extraction
CN106909510A (zh) 一种获取测试用例的方法以及服务器
CN112394942A (zh) 基于云计算的分布式软件开发编译方法及软件开发平台
CN102567201A (zh) 跨模型的图形用户界面测试脚本自动修复方法
CN111143228B (zh) 基于决策表法的测试代码生成方法及装置
EP3693860B1 (en) Generation of test models from behavior driven development scenarios based on behavior driven development step definitions and similarity analysis using neuro linguistic programming and machine learning mechanisms
CN111176991A (zh) 一种嵌入式软件接口用例自动化生成方法
US6763360B2 (en) Automated language and interface independent software testing tool
CN112181854A (zh) 一种生成流程自动化脚本的方法、装置、设备及存储介质
CN109697161A (zh) 一种存储过程的测试方法、存储介质和数据库服务器
CN114416547A (zh) 基于测试用例的测试方法
CN112733199A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN110765020B (zh) 基于领域知识的测试用例生成方法
CN116627843A (zh) 自动生成测试数据的方法和装置、电子设备及存储介质
US20090064092A1 (en) Visual programming language optimization
CN116820996A (zh) 基于人工智能的集成测试用例自动生成方法和装置
CN116483700A (zh) 一种基于反馈机制的api误用检测与修正方法
CN115543832A (zh) 一种软件代码标准性的检测方法、系统、设备及存储介质
CN115167884A (zh) 一种kubernetes部署方法及系统
CN111078548B (zh) 测试用例解析方法、装置、存储介质及验证平台
CN114691491A (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