CN112052177A - 一种多值耦合信号的mc/dc测试用例集生成方法 - Google Patents
一种多值耦合信号的mc/dc测试用例集生成方法 Download PDFInfo
- Publication number
- CN112052177A CN112052177A CN202010962386.XA CN202010962386A CN112052177A CN 112052177 A CN112052177 A CN 112052177A CN 202010962386 A CN202010962386 A CN 202010962386A CN 112052177 A CN112052177 A CN 112052177A
- Authority
- CN
- China
- Prior art keywords
- condition
- expected output
- output value
- logic
- false
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012360 testing method Methods 0.000 title claims abstract description 51
- 230000008878 coupling Effects 0.000 title claims abstract description 44
- 238000010168 coupling process Methods 0.000 title claims abstract description 44
- 238000005859 coupling reaction Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 abstract description 8
- 230000014509 gene expression Effects 0.000 description 40
- 230000001419 dependent effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004576 sand Substances 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种多值耦合信号的MC/DC测试用例集生成方法,通过构建逻辑语法树,并结合整套赋值方案,统一解决了多值、耦合信号的赋值计算问题,该方法对于非耦合逻辑表达式,可以获得MC/DC最小用例集,对于存在耦合条件的逻辑表达式,也能够以一致的规则生成具有较少数量的用例集;同时本发明提出的多值信号赋值方法解决了已有针对布尔条件的用例生成方案在工程中适用性不足的问题,扩展了应用范围,支持了实际系统的MC/DC测试用例生成需求。
Description
技术领域
本发明涉及系统测试技术领域,尤其涉及一种多值耦合信号的MC/DC测试用例集生成方法。
背景技术
针对布尔逻辑表达式的各种测试用例集生成规则中,MC/DC(修正的条件判定覆盖)的用例数随表达式条件数线性增长,其强度高于判定覆盖、条件覆盖,覆盖范围大于条件判定组合覆盖,测试性能接近多重条件覆盖。但由于多重条件覆盖的用例数随条件数指数增加,因此MC/DC用例数远小于多重条件覆盖。
由于MC/DC精简、高效的特点,其既可以应用于软件白盒测试,也可以应用于系统输入输出逻辑能够通过布尔逻辑表达式描述的领域,如软件黑盒测试、设备测试、系统测试等。
目前已有的MC/DC用例集生成方案,文献“MC/DC最小测试用例集快速生成算法”、“基于MC/DC最小测试用例集设计方法研究”、“MC/DC最小测试用例集递归分块矩阵生成算法”中规避了对耦合条件的讨论,仅处理无耦合条件的布尔表达式的用例生成问题。文献“耦合条件的MC/DC测试用例集生成算法”中,讨论了存在耦合条件情况下的MC/DC用例集生成方案,规避了多值情况,并且将耦合条件分成弱耦合与强耦合,用两套方案分别进行弱耦合与强耦合条件用例集的生成。因此,目前缺乏一种统一的方法,来完成存在耦合条件的MC/DC测试用例集生成。
另外,更显著的问题在于,现有的MC/DC用例集生成方案,均将条件作为基本元素,且默认设定为布尔类型,来进行用例赋值处理。然而,在实际应用中,条件一般是信号的关系运算,不能将条件作为原子性的基本元素。例如,给定速度信号V,定义条件A为(V>=120),条件B为(V<=60),则逻辑表达式L=A||B中,从形式上看A、B是2个非耦合条件,但是实际上这两个条件是通过V耦合的。一种情况下,取A为True(1)、B为True(1),则L为True(1)在逻辑上是成立的,但实际上无法同时满足V>=120、V<=60两个条件。另一种情况,取A为False(0)、B为True(1),应有L为True(1),则对于条件A应有V<120,可取V=100;但此时不满足B为True(1)即V<=60的条件。
上述示例中,多个不同条件通过共同的信号造成耦合的现象,在实际中是一般存在的。因此,必须将目前以布尔条件为基本元素的逻辑表达式,扩展到以信号的关系运算为单元构成的逻辑表达式,才能满足实际应用的需求。一旦进行上述扩展,则必须以信号为基本元素进行处理,而信号必然是有多种类型的,除了布尔型,还可能是整型、浮点型、枚举型等。也即从一般意义上来说,信号是多值的。
目前尚未见到针对多值、耦合信号的MC/DC测试用例集生成方案。
发明内容
本发明的目的是提供一种多值耦合信号的MC/DC测试用例集生成方法,解决了原有方案在工程中适用性不足的问题,扩展了应用范围,支持了实际系统的MC/DC测试需求。
本发明的目的是通过以下技术方案实现的:
一种多值耦合信号的MC/DC测试用例集生成方法,包括:
从需求定义文件中读取被测对象的输入输出关系,并通过解析,提取输入输出关系中的所有基本条件、以及逻辑关系;所述基本条件是被测对象输入信号的函数,且同一基本条件出现的次数为1次或多次;
以基本条件为叶节点、以逻辑关系作为分支节点或者根节点,构建逻辑语法树来图形化表示被测对象的输入输出关系;
以当前叶节点作为独立条件,对其他叶节点进行赋值,获得用例赋值集合;在用例赋值集合的基础上,将当前叶节点分别取真、假两种状态,获得两种状态各自对应的一条用例,将两条用例加入用例集;对逻辑语法树中的所有叶节点都通过上述方式获得两条用例,并加入用例集,最后删除用例集中的重复用例,获得MC/DC测试用例集。
由上述本发明提供的技术方案可以看出,通过构建逻辑语法树,并结合整套赋值方案,统一解决了多值、耦合信号的赋值计算问题。本发明所提供的技术方案,对于无耦合条件的布尔表达式,所生成的MC/DC测试用例集为最小用例集;对于存在耦合条件的逻辑表达式,同样具有适用性,且生成的用例集具有较少的用例数量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种多值耦合信号的MC/DC测试用例集生成方法的流程图;
图2为本发明实施例提供的输入输出关系Ls的逻辑语法树示意图;
图3为本发明实施例提供的赋值与生成测试用例集的流程图;
图4为本发明实施例提供的输入输出关系La的逻辑语法树示意图;
图5为本发明实施例提供的节点赋值的流程图;
图6为本发明实施例提供的同父条件为判定时的赋值流程图;
图7为本发明实施例提供的输入输出关系Ld的逻辑语法树示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种多值耦合信号的MC/DC测试用例集生成方法,可应用于软件黑盒测试、设备测试、系统测试,如图1所示,其主要包括:
1、从需求定义文件中读取被测对象的输入输出关系,并通过解析,提取输入输出关系中的所有基本条件、以及逻辑关系;所述基本条件是被测对象输入信号的函数,且同一基本条件出现的次数为1次或多次。
2、以基本条件为叶节点、以逻辑关系作为分支节点或者根节点,构建逻辑语法树来图形化表示被测对象的输入输出关系。
3、以当前叶节点作为独立条件,对其他叶节点进行赋值,获得用例赋值集合;在用例赋值集合的基础上,将当前叶节点分别取真、假两种状态,获得两种状态各自对应的一条用例,将两条用例加入用例集;对逻辑语法树中的所有叶节点都通过上述方式获得两条用例,并加入用例集,最后删除用例集中的重复用例,获得MC/DC测试用例集。
在上述方法的实现过程中,还可以配套设置相应的数据存储设备、处理设备、显示设备等硬件设备。数据存储设备中存放着需求定义文件,需求定义文件可以是用户根据被测对象的设计需求预先编写的表格、文本或XML形式的文件,其主要包含了被测对象的输入输出关系。处理设备从数据存储设备中读取文件数据,并执行以上三个步骤。显示设备中设有多个显示区域,可以用来显示各个步骤的执行过程或者执行结果;例如,第一显示区域,可显示第1个步骤中读取到的数据信息,以及解析结果;第二显示区域,可以显示被测对象的输入输出关系构造的逻辑语法树,第三显示区域,可以显示各个阶段获得的用例集以及最终的MC/DC测试用例集。通过这样的方式,可以更为便捷、更为直观的生成MC/DC测试用例集。当然,此处所提到的各类硬件设备仅为举例,显示设备上的各个显示区域及其显示的内容也只是应用中的示例,并非构成限制。
下面针对以上三个步骤的优选实施方式进行介绍。
一、数据读取与解析。
从需求定义文件中读取被测对象的输入输出关系,需要对输入输出关系进行解析,以获得输入输出关系中的基本条件、以及逻辑关系。
示例性的,在对一个特定被测对象(UUT)进行黑盒测试时,一般方法是对该UUT施加一组激励信号,检测该UUT的输出并与期望输出值进行比对,以判定该UUT是否满足功能要求,此时根据需求定义文件可以读取到逻辑表达式描述的被测对象的输入输出关系,表示为:
L=f(C1,C2,...,Cn)
其中,Ci表示一个基本条件,1≤i≤n,n为基本条件总数;通过逻辑关系函数f对n个基本条件进行逻辑关系运算;运算符包括与(&&)、或(||)、非(!)、异或(^^)。对任一Ci,在表达式中可能出现1次或多次。如某一条件出现多次,则该条件为耦合条件。
基本条件Ci是被测对象输入信号的函数,表示为:
Ci=r(s)
其中,s表示输入信号,r为关系运算符,包括:等于(==)、不等于(!=)、大于/大于等于(>/>=)、小于/小于等于(</<=)。
假设某被测对象UUT1,其输入输出关系由如下表达式描述:
Ls=A||(B&&C)||(!A&&D)
4个基本条件的信号关系运算为:
A=(s1==1)
B=(s2≥60)
C=(s2≤120)
D=(s3<80)
可见,该表达式Ls中,包含A、B、C、D共4个基本条件,其中A出现2次,因此A为耦合条件。条件B和C是信号s2的关系运算,因此条件B与C也是耦合的。
可将Ls转换为以信号关系运算为基本元素的逻辑表达式:
Ls=(s1==1)||((s2≥60)&&(s2≤120))||(!(s1==1)&&(s3<80))
通过上式更清晰的反映了输入输出关系中各基本条件的耦合关系,在输入输出关系中,所谓的基本条件,指不含逻辑运算符、仅由信号的关系运算构成的基本逻辑表达式,如上式中的s1==1、s2≥60即为基本条件。
二、构造逻辑语法树结构。
逻辑表达式可以转换为逻辑语法树,利用逻辑语法树来图形化表示被测对象的输入输出关系。
逻辑语法树是一种层次结构,根节点判定的下级条件,可能是包含更下级条件的子树根节点。因此,在逻辑语法树中,条件的概念是相对的。此处定义两类条件:
基本条件:即前文介绍的基本条件,其作为逻辑语法树的叶节点,逻辑树的叶节点必为基本条件。
条件:所述条件包含了基本条件,同时,如果一个判定具有上级节点,则其是上级节点的条件。
逻辑语法树中其他定义如下:
1)判定:所述判定包含至少一个条件,且对条件进行逻辑运算;一个判定以及相关的条件构成逻辑语法树的逻辑子树;除根节点外,一个判定作为其下条件的父节点,以及作为其父节点判定的条件;
2)决定条件/非决定条件:对于一个判定下的若干条件,决定判定结果的条件称为决定条件;对判定结果无影响的条件为非决定条件。例如,对于表达式L=A||B,当表达式期望输出值为False(0)时,条件A、B均为决定条件,应取A=False(0)且B=False(0);当表达式期望输出值为True(1)时,可任选一个条件作为决定条件(如取A=True(1)),另一个条件为非决定条件(B可任意取值)。
3)同父条件:指具有相同父节点的条件。
4)独立条件:其他条件不变,能够独立影响逻辑表达式输出结果的条件。
5)耦合信号:在表达式中出现大于1次的信号。
以输入输出关系Ls为例:
Ls=(s1==1)||((s2≥60)&&(s2≤120))||(!(s1==1)&&(s3<80))
如图2所示,给出了Ls的逻辑语法树,上式中各个基本条件都作为一个叶节点。由图2可见,逻辑表达式Ls有4个不同的基本条件,但是有5个叶节点,3个信号。一般的有,逻辑树叶节点数≥基本条件数≥信号数。
三、赋值与生成测试用例集。
1、主要流程。
本发明实施例中,对于输入输出关系的逻辑表达式L=f(C1,C2,...,Cn),满足MC/DC(修正的条件判定覆盖)的测试用例集有如下要求:
1)判定中的每一个条件的所有结果(即True(1)、False(0))至少出现一次;
2)每一个判定的所有结果至少出现一次;
3)每一个条件都能单独的影响判定结果,即在其他条件不改变的情况下,改变这个条件的值,能够改变L的判定结果。
对于具有n个条件的布尔逻辑表达式,n个条件是p个信号的关系运算表达式,逻辑语法树有m个叶节点,有m≥n≥p。符合MC/DC测试用例集最小数目为n+1,也即最小用例集。当n个条件为非耦合条件时,即m=n=p时,可获得最小MC/DC测试用例集,用例数量为n+1。当m>n时,表明存在耦合条件;当n>p时,表明至少有两个基本条件是基于同一个输入信号的。
如图3所示,给出了赋值与生成测试用例集的主要流程。以当前叶节点作为独立条件,叶节点的序号记为i,初始时刻当前叶节点li的序号i=1;对其他叶节点进行赋值,获得用例赋值集合Si;在用例赋值集合Si的基础上,将当前叶节点li分别取真、假两种状态,获得两种状态各自对应的一条用例,将两条用例加入用例集;对逻辑语法树中的所有叶节点(i=1,2,...,m)都通过上述方式获得两条用例,并加入用例集,最后删除用例集中的重复用例,获得MC/DC测试用例集。
在上述流程中,如果逻辑中存在冗余或逻辑冲突,则某些叶节点无法作为独立条件单独影响表达式的最终判定,也即无法生成以该叶节点为独立条件的真、假两个用例。上述方法可以发现此种逻辑冗余或冲突的情况。
在上述流程中,由于每个叶节点均作为独立条件,产生2条用例,因此,除非有逻辑冗余等非法情况,最终获得的用例集一定是符合MC/DC的。
2、赋值方法。
上述MC/DC用例集生成主要流程中,针对独立条件的用例赋值方法是核心。也即:将叶节点li作为独立条件,对其他叶节点进行赋值,获得用例赋值集合Si,使叶节点li能够独立决定输入输出关系的结果。
假设叶节点li=r(sj),1≤i≤n,1≤j≤p,即叶节点li是信号sj的关系运算。
用例赋值集合Si给出逻辑表达式L中p个信号的值域。该值域能够保证由sj决定的条件li的取值,能独立影响逻辑表达式L的结果。
例如:La=((s1==1)||((s2≥60)&&(s2≤120)))&&(s3==1),其逻辑语法树如图4所示。如图4可见,La有3个信号、4个叶节点(即4个基本条件)。取叶节点1为独立条件,用例赋值集合S1可给出各信号的值域。取s2∈[0,60),s3=1。此时,叶节点1的取值可决定La的值。
在逻辑语法树中,一个判定也是其上级判定的一个条件。因此,逻辑语法树可以看做是以判定为单元,构成的一种嵌套层次结构。以判定单元为对象,进行递归调用,即可完成整个逻辑语法树的处理。所需处理的判定类型共4种,包括:与(&&)、或(||)、非(!)、异或(^^)。
如图5所示,以当前叶节点作为独立条件,对其他叶节点进行赋值的主要流程,主要包括:
步骤a1:进行同父条件的赋值。所述同父条件是指与独立条件具有相同父节点的条件,根据父节点的逻辑关系类型,为同父条件赋予期望输出值;所述同父条件的类型包括:基本条件以及判定。
步骤a2:根据同父条件的类型以及赋予的期望输出值,对同父条件进行逐一处理。如果同父条件类型为基本条件,则根据赋予的期望输出值更新该基本条件依赖信号的值域;如果同父条件类型为判定,则根据赋予的期望输出值,对该判定的条件进行赋值。
步骤a3:判断父节点是否为根节点,若是,则结束;否则,以父节点为独立条件,重复执行步骤a1~步骤a3,直至到达根节点。
在上述步骤a2中,如果同父条件类型为判定,则在给定的判定期望输出值约束下,对该判定的条件进行赋值,它是一个递归调用的过程,主要过程如图6所示:首先,根据判定的期望输出值,对判定下的每一条件进行赋值,获得每一条件的期望输出值;之后,判定下的条件可能是基本条件也可能是判定;对于基本条件,则根据赋予的期望输出值,更新相应输入信号的值域;对于判定,则根据赋予的期望输出值,递归调用上述判定条件赋值方法,直至抵达叶节点,也即基本条件。
以上是从整体角度来介绍整个赋值方案,下面针对赋值方案所涉及的三个技术细节做详细介绍。
1)独立条件的同父条件的赋值。
如图5所示流程中,首先进行同父条件的赋值。本发明实施例中,根据父节点的逻辑关系类型,为同父条件赋予期望输出值,主要如下:
若为与逻辑,则同父条件期望输出值设置为True(1);
若为或逻辑,则同父条件期望输出值设置为False(0);
若为非逻辑,则无同父条件,无需设置期望输出值;
若为处理两个条件的异或逻辑,则包含一个同父条件,期望输出值设置为False(0);
其中,期望输出值True(1)表示状态为真,期望输出值False(0)表示状态为假。
为保证独立条件能够独立影响判定,上述同父条件的赋值规则是必须的。因此,同父条件均为决定条件。例如,对于逻辑L=A&&B&&C,取A为独立条件,则同父条件B、C应设置为True,则A的取值能独立决定L的值,且有L=A。
2)给定输出的判定的赋值方案。
如之前所述,同父条件可能为判定,对于判定,则需要根据判定的逻辑运算类型,以及判定的给定输出,分别进行讨论,主要考虑如下两种情况。
第一种情况,判定下属的条件期望输出值是确定的,每个条件均为决定条件,如表1所示:
若逻辑关系类型为与逻辑,给定期望输出值为True(1),则条件期望输出值为True(1);
若逻辑关系类型为或逻辑,给定期望输出值为False(0),则条件期望输出值为False(0);
若逻辑关系类型为非逻辑,给定期望输出值为True(1),则条件期望输出值为False(0);
若逻辑关系类型为非逻辑,给定期望输出值为False(0),则条件期望输出值为True(1);
判定类型 | 与逻辑 | 或逻辑 | 非逻辑 | 非逻辑 |
给定输出 | True(1) | False(0) | True(1) | False(0) |
条件赋值 | True(1) | False(0) | False(0) | True(1) |
表1具有决定条件的判定类型及给定输出组合
例如,对于如下的或逻辑L=A||B||C,设定L的输出为False(0),则必有三个条件均需设置为False(0)。
第二种情况,判定下属的条件期望输出值是不确定的,如表2所示:
若逻辑关系类型为与逻辑,给定期望输出值为False(0),则选择一个条件设置期望输出值为False(0)且作为决定条件,其余条件设置期望输出值为True(1)且作为非决定条件;
若逻辑关系类型为或逻辑,给定期望输出值为True(1),则选择一个条件设置期望输出值为True(1)且作为决定条件,其余条件设置期望输出值为False(0)且作为非决定条件;
若逻辑关系类型为异或逻辑,给定期望输出值为True(1),则两个条件的期望输出值分别设置为True(1)、False(0),或者False(0)、True(1);
若逻辑关系类型为异或逻辑,给定期望输出值为False(0),则两个条件的期望输出值分别设置为True(1)、True(1),或者False(0)、False(0)。
表2具有可选决定条件的判定类型及给定输出组合
表2中的4种判定类型与给定输出的组合,其条件赋值是可选的。例如,或逻辑L=A||B||C,设定L的输出为True(1),则在逻辑上,可在A、B、C三个条件中任选其一作为决定条件并设置为True(1),其他条件则为非决定条件。
对于非耦合布尔逻辑表达式,采用上述与、或逻辑的条件赋值方法,即可获得MC/DC最小用例集。
由于本发明处理的是多值耦合信号的输入输出关系,且考虑到实际应用,在可能的组合中确定条件赋值,需要满足如下两个原则:
1)可行性原则。对于多值耦合信号的逻辑表达式,一个条件可能已经被限制取值范围而无法任意设置True(1)/False(0)。例如,基本条件A为耦合条件,已经在某一判定中被设定为False(0),如果其他判定要求A设置为True(1),则该赋值就是不可行的。
2)最小代价原则。在实际测试场景下,尤其被测对象是物理设备或系统时,不同条件的设置有不同的代价,包括但不限于时间消耗、能量消耗、操作复杂度等。本发明不展开讨论最小代价原则的实现,仅举例说明。对于逻辑L=A||(B&&C),为使L为True(1),则有如下两种条件赋值方法:一是取A为True(1),二是取B为True且C为True(1)。假设A、B、C具有相同的代价,相比于设置B、C两个信号,显然仅设置A一个信号的代价是更低的,因此应选择A为决定条件。
由于本发明处理耦合条件下的用例生成,当对判定的条件进行赋值时,该判定下的某个条件可能已经被设置为独立条件,或者该条件的依赖信号与独立条件的依赖信号相同。此时应尽可能避免将该条件作为决定条件。在实际应用中,将独立条件关联信号的代价属性设置为明显大于普通信号的代价,然后当在多个可选条件中选择决定条件时,通过最小代价原则,在可能的情况下,避开将该条件作为决定条件。
3)给定输出的基本条件的赋值方案。
前文给出了基本条件的表示形式;对于给定输出的基本条件的赋值问题表示为:
s1=f(s0,d,r,V)
其中,s0为信号s的初始值域;d为基本条件是否为上级判定的决定条件;r为关系运算符;V为基本条件的给定输出值,也即赋予的期望输出值(True(1)或False(0));s1为信号s的赋值结果,也即更新后的值域。
本发明讨论的多值信号,是通过信号的值域、分辨率两个属性来表示的。
值域表示方法为顺序排列的多个取值区间的集合,例如s∈{R1,...,Rn},其中Ri为一个区间,例如R1∈[0,60),即0≤R1<60;R2∈[80,80],则R2为80。
分辨率取决于数据类型以及实际应用限制。例如,对于整型信号,数据类型决定的分辨率为1(布尔型也可以看做整型);对于一个浮点型的速度信号,其采样设备决定了其分辨率,例如为0.01。
本发明实施例中,除了可以表示有符号/无符号整型、浮点数等多值信号外,布尔型信号可以表示成值域[0,1],分辨率为1。
决定条件d为False(0)时,也即当基本条件为上级判定的非决定条件时,s1=s0,也即非决定条件不改变信号的值域。
决定条件d为True(1)时,也即基本条件为上级判定的决定条件时,赋值方法为:首先获得s*,使其满足V=r(s*);然后,取s1=s0∩s*。
对各类关系运算,包括:等于(==)、不等于(!=)、大于/大于等于(>/>=)、小于/小于等于(</<=),均可容易的获得s*。与s0取交集,即可获得s1。
例1,基本条件C=(s==1),且有s0∈[0,10],分辨率为1。设定C的取值为False,则s*!=1。与s0取交集,则有s1∈{[0,1),(1,10]}。
例2,基本条件C=(s>80),且有s0∈[0,60],分辨率为0.01。设定C的取值为True,则s*>80。与s0取交集,则有s1为空集,赋值失败。
本发明实施例所提出的多值耦合信号的MC/DC测试用例集生成方法,将输入输出关系中的基本构成元素,从特殊的布尔型条件,扩展到更一般的信号关系运算,并由此解决由于同源信号造成的多条件耦合问题。该方法具有更一般的工程适用性,解决了实际应用中生成MC/DC用例集的条件限制问题。本发明实施例提供的上述方案对于非耦合逻辑表达式,可以获得MC/DC最小用例集;对于存在耦合条件的逻辑表达式,也能够生成精简的用例集。综上,本发明实施例提供的上述方案,能够统一处理非耦合、耦合条件的输入输出关系,具有更一般的工程适用性,且能够获得精简高效的用例集,具有较大的工程应用价值。
为了便于理解,下面结合具体的数值对上述方案中提及的图2、图4两个示例的赋值及测试用例集生成过程进行介绍。
示例一
本示例用于说明当前独立条件与其他基本条件存在耦合时,针对该独立条件的覆盖用例计算过程。
以输入输出关系La为例,其逻辑语法树如图4所示。
信号初始赋值集合S如表3所示:
信号 | 数据类型 | 值域 | 分辨率 |
s1 | Bool | [0,1] | 1 |
s2 | Float | [0,200] | 0.01 |
s3 | Bool | [0,1] | 1 |
表3信号初始赋值集合S
取叶节点2为独立条件,计算其覆盖用例。计算过程如下。
1)叶节点2的同父条件为叶节点3,父节点判定3的类型为与逻辑,则叶节点3为决定条件且期望输出值为True(1)。
2)叶节点3为基本条件,进行基本条件赋值,则更新信号s2的值域为[0,120]。
3)以判定3为独立条件,其同父条件为叶节点1;判定3的父节点判定2为或逻辑,则叶节点1为决定条件且期望输出值为False(0)。
4)叶节点1为基本条件,进行基本条件赋值,则更新信号s1的值域为[0,0]。
5)以判定2为独立条件,其同父条件为叶节点4;判定2的父节点判定1为与逻辑,则叶节点4为决定条件且期望输出值为True(1)。
6)叶节点4为基本条件,进行基本条件赋值,则更新信号s3的值域为[1,1]。
7)判定1为根节点,结束。
经过上述赋值后,各信号的赋值集合S′如表4所示:
信号 | 数据类型 | 值域 | 分辨率 |
s1 | Bool | [0,0] | 1 |
s2 | Float | [0,120] | 0.01 |
s3 | Bool | [1,1] | 1 |
表4更新后的信号赋值集合S′
在上述赋值集合S条件下,叶节点2的取值,可独立决定逻辑结果。
在赋值集合S′基础上,取叶节点2为True(1),即s2≥60,则有表5所示的赋值集合ST:
信号 | 数据类型 | 值域 | 分辨率 |
s1 | Bool | [0,0] | 1 |
s2 | Float | [60,120] | 0.01 |
s3 | Bool | [1,1] | 1 |
表5赋值集合ST
在赋值集合S′基础上,取叶节点2为False(0),即s2<60,则有表6所示的赋值集合SF:
信号 | 数据类型 | 值域 | 分辨率 |
s1 | Bool | [0,0] | 1 |
s2 | Float | [0,60) | 0.01 |
s3 | Bool | [1,1] | 1 |
表6赋值集合SF
ST、SF即叶节点2为独立条件的2条用例取值集合。在两条用例中,s2都为集合,也即在此集合中任意取值,都可满足条件。为形成最终用例,将取值规则设定为向0取值。
因此,输入输出关系La以叶节点2为独立条件的用例集如表7所示:
L<sub>a</sub> | s1 | s2 | s3 |
True(1) | 0 | 60 | 1 |
False(0) | 0 | 0 | 1 |
表7用例集
上述计算过程可见,虽然叶节点2、叶节点3为耦合条件,但在上述过程中,可直接进行值域处理,并获得用例集。
示例二
本示例用于说明对存在多值、耦合信号的逻辑表达式,计算其MC/DC测试用例集的过程。
以输入输出关系Ls为例,其逻辑语法树如图2所示,其中有3个信号,4个基本条件,5个叶节点。
信号初始赋值集合S如表8所示:
信号 | 数据类型 | 值域 | 分辨率 |
s1 | Bool | [0,1] | 1 |
s2 | Float | [0,200] | 0.01 |
s3 | Float | [0,100] | 0.01 |
表8信号初始赋值集合S
设定独立条件关联信号代价属性为100,一般信号代价属性为1。
取叶节点1为独立条件,计算用例集。计算过程如下。
1)叶节点1的同父条件为判定2、判定3,父节点判定1的类型为或逻辑,则判定2、判定3为决定条件且期望输出值为False(0)。
2)判定2不是基本条件,对其条件进行赋值:
a)判定2为决定条件,类型为与逻辑,期望输出值为False(0),则可任选一个条件作为决定条件,且设置为False(0);
b)判定2的两个条件均为基本条件,且代价相同,设置叶节点2为决定条件,且设置为False(0);
c)对叶节点2进行赋值,有s2<60,则更新信号s2的值域为[0,60)。
3)判定3不是基本条件,对其条件进行赋值:
a)判定3为决定条件,类型为与逻辑,期望输出值为False(0),则可任选一个条件作为决定条件,且设置为False(0);
b)判定3的两个条件中,判定4关联独立条件的依赖信号s1,代价属性大;因此选择叶节点5作为决定条件,且设置为False(0);
c)对叶节点5进行赋值,有s3≥80,则更新信号s3的值域为[80,100]。
4)独立条件叶节点1的父节点判定1为根节点,结束。
经过上述赋值后,各信号的赋值集合S′如表9所示:
信号 | 数据类型 | 值域 | 分辨率 |
s1 | Bool | [0,1] | 1 |
s2 | Float | [0,60) | 0.01 |
s3 | Float | [80,100] | 0.01 |
表9更新后的各信号的赋值集合S′
在上述赋值集合S′条件下,叶节点1的取值,可独立决定逻辑结果。
因此,表达式Ls以叶节点1为独立条件的用例集如表10所示:
L<sub>s</sub> | s1 | s2 | s3 |
True(1) | 1 | 0 | 80 |
False(0) | 0 | 0 | 80 |
表10用例集
取叶节点4为独立条件,计算其用例集。计算过程如下。
1)叶节点4的父节点判定4为非逻辑,无同父条件。
2)令判定4为独立条件,其同父条件为叶节点5;父节点判定3的类型为与逻辑,则叶节点5为决定条件且期望输出值为True(1)。
3)叶节点5是基本条件,期望输出值为True(1),为决定条件;对叶节点5进行赋值,有s3<80,则更新信号s3的值域为[0,80)。
4)令判定3为独立条件,其同父条件为叶节点1、判定2,父节点判定1的类型为或逻辑,则叶节点1、判定3为决定条件且期望输出值为False(0)。
5)叶节点1是基本条件,期望输出值为False(0),为决定条件;对叶节点1进行赋值,有s1!=1,则更新信号s1的值域为[0,0]。
6)判定2不是基本条件,对其条件进行赋值:
a)判定2为决定条件,类型为与逻辑,期望输出值为False(0),则可任选一个条件作为决定条件,且设置为False(0);
b)判定2的两个条件均为基本条件,且代价相同,设置叶节点2为决定条件,且设置为False(0);
c)对叶节点2进行赋值,有s2<60,则更新信号s2的值域为[0,60)。
7)独立条件判定3的父节点判定1为根节点,结束。
经过上述赋值后,各信号的赋值集合S″如表11所示:
信号 | 数据类型 | 值域 | 分辨率 |
s1 | Bool | [0,0] | 1 |
s2 | Float | [0,60) | 0.01 |
s3 | Float | [0,80) | 0.01 |
表11更新后的各信号的赋值集合S″
在上述赋值集合S″条件下,叶节点对应的基本条件为s1==1,在值域[0,0]条件下,仅能为False(0),无法取True(1)。也即叶节点4不能作为独立条件实现覆盖。
因此,表达式Ls以叶节点1为独立条件的用例仅有一条,如表12所示:
L<sub>s</sub> | s1 | s2 | s3 |
True(1) | 0 | 0 | 0 |
表12用例集
上述结果表明,叶节点4无法独立决定表达式输出结果,输入输出关系Ls=(s1==1)||((s2≥60)&&(s2≤120))||(!(s1==1)&&(s3<80))中存在冗余逻辑。删除叶节点4的分支,有L′s=(s1==1)||((s2≥60)&&(s2≤120))||(s3<80)。分析可知,Ls与L′s具有相同的真值表,是等价的。
参照上述过程,将叶节点2、3、5分别作为独立条件,并汇总叶节点1、4的结果,可得如表13所示的用例集:
独立条件 | L<sub>s</sub> | s1 | s2 | s3 |
叶节点1 | True(1) | 1 | 0 | 80 |
叶节点1 | False(0) | 0 | 0 | 80 |
叶节点2 | True(1) | 0 | 60 | 80 |
叶节点2 | False(0) | 0 | 0 | 80 |
叶节点3 | True(1) | 0 | 60 | 80 |
叶节点3 | False(0) | 0 | 121 | 80 |
叶节点4 | True(1) | 0 | 0 | 0 |
叶节点5 | True(1) | 0 | 0 | 0 |
叶节点5 | False(0) | 0 | 0 | 80 |
表13用例集
删除表13中的重复用例,可得MC/DC用例集如表14所示:
表14 MC/DC用例集
MC/DC用例集中共有5条用例,对Ls中的4个基本条件满足MC/DC。由于判定4为冗余逻辑,因此叶节点4无法实现MC/DC。
另一方面,还利用本发明实施例的上述方案来生成文献“耦合条件的MC/DC测试用例集生成算法”中强耦合条件逻辑表达式的MC/DC用例集。
文献“耦合条件的MC/DC测试用例集生成算法”中给出强耦合条件逻辑表达式如下:
Ld=(A&&B)||(A&&C)||(A&&D)||(B&&C)||(B&&D)||(C&&D)
其逻辑语法树如图7所示。Ld中,有4个基本条件,为布尔型,4个基本条件都是耦合条件,共有12个叶节点。为应用本发明实施例的方法,取A、B、C、D 4个基本条件同时为同名信号。
信号初始赋值集合S如表15所示:
信号(条件) | 数据类型 | 值域 | 分辨率 |
A | Bool | [0,1] | 1 |
B | Bool | [0,1] | 1 |
C | Bool | [0,1] | 1 |
D | Bool | [0,1] | 1 |
表15信号初始赋值集合S
设定独立条件关联信号代价属性为100,一般信号代价属性为1。
取叶节点1为独立条件,计算其覆盖用例。计算过程如下:
1)叶节点1的同父条件为叶节点2,父节点判定2的类型为与逻辑,则叶节点2为决定条件且期望输出值为True(1);
2)叶节点2为基本条件,进行基本条件赋值,则更新基本条件B中的值域为[1,1]。
3)以判定2为独立条件,其同父条件为判定3到判定7;独立条件的父节点判定1为或逻辑,则判定3到判定7均为决定条件且期望输出值为False(0)。
4)给定条件为False(0)且为决定条件,对判定3的条件进行赋值:
a)判定3为与逻辑且期望输出值为False(0),则A、C2个条件任取1个设置为False(0)即可;
b)由于A为独立条件,根据最小代价原则,设定C为决定条件;
c)C为基本条件,期望输出值为False(0),则更新基本条件C中的信号的值域为[0,0]。
5)按上述步骤依次完成判定4/5/6/7的条件赋值。
6)判定2的父节点判定1为根节点,结束。
叶节点1为独立条件,经过上述赋值后,各信号的赋值集合S′如表16所示:
信号(条件) | 数据类型 | 值域 | 分辨率 |
A | Bool | [0,1] | 1 |
B | Bool | [1,1] | 1 |
C | Bool | [0,0] | 1 |
D | Bool | [0,0] | 1 |
表16叶节点1为独立条件的信号赋值集合S′
在上述赋值集合S′条件下,叶节点1中信号的取值,可独立决定逻辑结果。
因此,表达式Ld以叶节点1为独立条件的用例集如表17所示:
L<sub>d</sub> | A | B | C | D |
True(1) | 1 | 1 | 0 | 0 |
False(0) | 0 | 1 | 0 | 0 |
表17用例集
依次取叶节点2到叶节点12作为独立条件,获得各自的用例集如表18所示:
表18用例集
删除表18中的重复用例,得到MC/DC用例集如表19所示:
表19 MC/DC用例集
可见,应用本发明上述方案,可以获得与文献中完全一致的结果,但是,无需区分弱耦合、强耦合条件,且计算过程统一,无需单独设定规则。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (9)
1.一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,包括:
从需求定义文件中读取被测对象的输入输出关系,并通过解析,提取输入输出关系中的所有基本条件、以及逻辑关系;所述基本条件是被测对象输入信号的函数,且同一基本条件出现的次数为1次或多次;
以基本条件为叶节点、以逻辑关系作为分支节点或者根节点,构建逻辑语法树来图形化表示被测对象的输入输出关系;
以当前叶节点作为独立条件,对其他叶节点进行赋值,获得用例赋值集合;在用例赋值集合的基础上,将当前叶节点分别取真、假两种状态,获得两种状态各自对应的一条用例,将两条用例加入用例集;对逻辑语法树中的所有叶节点都通过上述方式获得两条用例,并加入用例集,最后删除用例集中的重复用例,获得MC/DC测试用例集。
2.根据权利要求1所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,所述被测对象的输入输出关系表示为:
L=f(C1,C2,...,Cn)
其中,Ci表示一个基本条件,1≤i≤n,n为基本条件总数;通过逻辑关系函数f对n个条件进行逻辑关系运算;
基本条件Ci表示为:
Ci=r(s)
其中,s表示输入信号,r为关系运算符。
3.根据权利要求1所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,所述逻辑语法树中还包括条件,所述条件包含了基本条件,同时,如果一个判定具有上级节点,则其是上级节点的条件;
所述判定包含至少一个条件,且对条件进行逻辑运算;一个判定以及相关的条件构成逻辑语法树的逻辑子树;除根节点外,一个判定作为其下条件的父节点,以及作为其父节点判定的条件;对于一个判定下的若干条件,决定判定结果的条件称为决定条件;对判定结果无影响的条件为非决定条件。
4.根据权利要求1或3所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,所述以当前叶节点作为独立条件,对其他叶节点进行赋值,包括:
步骤a1:进行同父条件的赋值,所述同父条件是指与独立条件具有相同父节点的条件,根据父节点的逻辑关系类型,为同父条件赋予期望输出值;所述同父条件的类型包括:基本条件与判定;
步骤a2:根据同父条件的类型以及赋予的期望输出值,对同父条件进行逐一处理;如果同父条件的类型为基本条件,则根据赋予的期望输出值更新基本条件中输入信号的值域;如果同父条件的类型为判定,则根据赋予的期望输出值,对判定的条件进行赋值;
步骤a3:判断父节点是否为根节点,若是,则结束;否则,以父节点为独立条件,重复执行步骤a1~步骤a3,直至到达根节点。
5.根据权利要求4所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,所述根据父节点的逻辑关系类型,为同父条件赋予期望输出值,包括:
若为与逻辑,则同父条件期望输出值设置为True(1);
若为或逻辑,则同父条件期望输出值设置为False(0);
若为非逻辑,则无同父条件,无需设置期望输出值;
若为处理两个条件的异或逻辑,则包含一个同父条件,期望输出值设置为False(0);
其中,期望输出值True(1)表示状态为真,期望输出值False(0)表示状态为假,同父条件均为决定条件。
6.根据权利要求4或5所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,如果同父条件的类型为判定,根据逻辑关系类型与给定的期望输出值分为如下两种情况:
第一种情况,判定下属的条件期望输出值是确定的,每个条件均为决定条件:
若逻辑关系类型为与逻辑,给定期望输出值为True(1),则条件期望输出值为True(1);
若逻辑关系类型为或逻辑,给定期望输出值为False(0),则条件期望输出值为False(0);
若逻辑关系类型为非逻辑,给定期望输出值为True(1),则条件期望输出值为False(0);
若逻辑关系类型为非逻辑,给定期望输出值为False(0),则条件期望输出值为True(1);
第二种情况,判定下属的条件期望输出值是不确定的:
若逻辑关系类型为与逻辑,给定期望输出值为False(0),则选择一个条件设置期望输出值为False(0)且作为决定条件,其余条件设置期望输出值为True(1)且作为非决定条件;
若逻辑关系类型为或逻辑,给定期望输出值为True(1),则选择一个条件设置期望输出值为True(1)且作为决定条件,其余条件设置期望输出值为False(0)且作为非决定条件;
若逻辑关系类型为异或逻辑,给定期望输出值为True(1),则两个条件的期望输出值分别设置为True(1)、False(0),或者False(0)、True(1);
若逻辑关系类型为异或逻辑,给定期望输出值为False(0),则两个条件的期望输出值分别设置为True(1)、True(1),或者False(0)、False(0);
其中,期望输出值为True(1)表示状态为真,期望输出值为False(0)表示状态为假。
7.根据权利要求4任一项所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,
基本条件的赋值问题表示为:
s1=f(s0,d,r,V)
其中,s0为信号s的初始值域;d为基本条件是否为上级判定的决定条件;r为关系运算符;V为基本条件的给定输出值,也即赋予的期望输出值;s1为信号s的赋值结果,也即更新后的值域;
当基本条件为上级判定的非决定条件时,s1=s0;当基本条件为上级判定的决定条件时,获得s*,使其满足V=r(s*);然后,取s1=s0∩s*。
8.根据权利要求4任一项所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,
如果同父条件类型为判定,则在给定的判定期望输出值约束下,对判定的条件进行赋值,它是一个递归调用的过程,过程如下:首先,根据判定的期望输出值,对判定下的每一条件进行赋值,获得每一条件的期望输出值,所述条件为基本条件或者判定;之后,对于基本条件,则根据赋予的期望输出值,更新相应输入信号的值域;对于判定,则根据赋予的期望输出值,递归调用判定条件赋值方法,直至抵达叶节点,也即基本条件。
9.根据权利要求4任一项所述的一种多值耦合信号的MC/DC测试用例集生成方法,其特征在于,
所述输入输出关系为多值耦合信号的输入输出关系,定义如下两个原则:可行性原则:对于多值耦合信号的输入输出关系,若某个条件被限制取值范围而无法任意设置期望输出值为True(1)或False(0),则不满足可行性原则,其中,期望输出值为True(1)表示状态为真,期望输出值为False(0)表示状态为假;最小代价原则:不同条件的设置有不同的代价属性值,赋值过程中根据条件的代价属性值来选择决定条件;
同时,该方法实现的是耦合条件下的用例生成;当对判定的条件进行赋值时,该判定下的某个条件A如果已经被设置为独立条件,或者该条件A的关联信号与独立条件的关联信号相同,此时避免将该条件A作为决定条件,实现方式包括:将独立条件关联信号的代价属性值设置为大于其他信号的代价属性值,当在多个可选条件中选择决定条件时,通过最小代价原则,避免将该条件A作为决定条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010962386.XA CN112052177A (zh) | 2020-09-14 | 2020-09-14 | 一种多值耦合信号的mc/dc测试用例集生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010962386.XA CN112052177A (zh) | 2020-09-14 | 2020-09-14 | 一种多值耦合信号的mc/dc测试用例集生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052177A true CN112052177A (zh) | 2020-12-08 |
Family
ID=73610160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010962386.XA Pending CN112052177A (zh) | 2020-09-14 | 2020-09-14 | 一种多值耦合信号的mc/dc测试用例集生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052177A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383070A (zh) * | 2023-04-07 | 2023-07-04 | 南京航空航天大学 | 一种面向高mc/dc的符号执行方法 |
CN117234956A (zh) * | 2023-11-15 | 2023-12-15 | 北京全路通信信号研究设计院集团有限公司 | 一种基于mc/dc覆盖准则的最小测试用例集生成方法和系统 |
CN117851254A (zh) * | 2024-01-09 | 2024-04-09 | 浙江大学 | 一种基于符号执行和路径数缩减的mc/dc覆盖用例生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710305A (zh) * | 2009-12-14 | 2010-05-19 | 中国科学院计算技术研究所 | 一种计算机软件白盒测试的实现方法及系统 |
JP2016021163A (ja) * | 2014-07-15 | 2016-02-04 | 富士通株式会社 | テストケース生成プログラム、テストケース生成方法及びテストケース生成装置 |
CN107748721A (zh) * | 2017-11-27 | 2018-03-02 | 中国航空无线电电子研究所 | 一种测试用例集自动生成方法 |
CN108701074A (zh) * | 2016-02-24 | 2018-10-23 | 三菱电机株式会社 | 测试用例生成装置和测试用例生成程序 |
-
2020
- 2020-09-14 CN CN202010962386.XA patent/CN112052177A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710305A (zh) * | 2009-12-14 | 2010-05-19 | 中国科学院计算技术研究所 | 一种计算机软件白盒测试的实现方法及系统 |
JP2016021163A (ja) * | 2014-07-15 | 2016-02-04 | 富士通株式会社 | テストケース生成プログラム、テストケース生成方法及びテストケース生成装置 |
CN108701074A (zh) * | 2016-02-24 | 2018-10-23 | 三菱电机株式会社 | 测试用例生成装置和测试用例生成程序 |
CN107748721A (zh) * | 2017-11-27 | 2018-03-02 | 中国航空无线电电子研究所 | 一种测试用例集自动生成方法 |
Non-Patent Citations (1)
Title |
---|
钱忠胜;缪淮扣;: "基于规格说明的若干逻辑覆盖测试准则", 软件学报, no. 07, 15 July 2010 (2010-07-15) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383070A (zh) * | 2023-04-07 | 2023-07-04 | 南京航空航天大学 | 一种面向高mc/dc的符号执行方法 |
CN116383070B (zh) * | 2023-04-07 | 2023-12-05 | 南京航空航天大学 | 一种面向高mc/dc的符号执行方法 |
CN117234956A (zh) * | 2023-11-15 | 2023-12-15 | 北京全路通信信号研究设计院集团有限公司 | 一种基于mc/dc覆盖准则的最小测试用例集生成方法和系统 |
CN117234956B (zh) * | 2023-11-15 | 2024-01-19 | 北京全路通信信号研究设计院集团有限公司 | 一种基于mc/dc覆盖准则的最小测试用例集生成方法和系统 |
CN117851254A (zh) * | 2024-01-09 | 2024-04-09 | 浙江大学 | 一种基于符号执行和路径数缩减的mc/dc覆盖用例生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | On rule acquisition in incomplete multi-scale decision tables | |
CN112052177A (zh) | 一种多值耦合信号的mc/dc测试用例集生成方法 | |
Zhang | A parallel algorithm for adaptive local refinement of tetrahedral meshes using bisection | |
JP2013529814A (ja) | 関連データセットの処理 | |
Li et al. | Large-scale quantum approximate optimization via divide-and-conquer | |
Estrella-Balderrama et al. | Simultaneous geometric graph embeddings | |
US8280836B2 (en) | Converting unordered graphs to oblivious read once ordered graph representation | |
Przybyła-Kasperek et al. | A dispersed decision-making system–The use of negotiations during the dynamic generation of a system’s structure | |
CN109446205A (zh) | 判断数据状态的装置和方法以及数据更新的装置和方法 | |
US20230289502A1 (en) | Recovery of a hierarchical functional representation of an integrated circuit | |
Kun et al. | A new line of attack on the dichotomy conjecture | |
Al Ghour | Boolean Algebra of Soft Q‐Sets in Soft Topological Spaces | |
Bekos et al. | Book embeddings of nonplanar graphs with small faces in few pages | |
CN111061923B (zh) | 一种基于图依赖规则和监督学习的图数据实体识别系统 | |
Kim et al. | Pre-large based high utility pattern mining for transaction insertions in incremental database | |
CN112052176A (zh) | 一种多值耦合逻辑中给定条件的覆盖性测试用例生成方法 | |
Bisdorff et al. | Choices and kernels in bipolar valued digraphs | |
CN116257636A (zh) | 枚举数据字典统一管理方法、装置、电子设备及存储介质 | |
Zlatanova et al. | Management of multiple representations in spatial DBMSs | |
Hilário et al. | A new proof for percolation phase transition on stretched lattices | |
Dufourd | Formal study of functional orbits in finite domains | |
CN117311678B (zh) | 用于ai系统的程序模块序化组接功能合成的等效嵌入方法 | |
Zhuravlev et al. | Measures of the importance of objects in complex systems | |
JP6102425B2 (ja) | テストデータ生成プログラム、テストデータ生成方法、およびテストデータ生成装置 | |
Kumar et al. | Weighted Frequent Subgraph Mining Using Affinity Weighing in Distributed Environment |
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 |