用于基于等价类分析的基于自动化要求的测试用例生成的系统和方法与流程

文档序号:19570804发布日期:2019-12-31 18:54阅读:244来源:国知局
用于基于等价类分析的基于自动化要求的测试用例生成的系统和方法与流程

本专利申请根据35u.s.c.§120,作为2016年2月9日提交的题为“用于基于等价类分析的基于自动化要求的测试用例生成的系统和方法”的美国专利申请序列号15/019,725的优先权益的部分继续(现在美国专利no.tbd;monthdd,2018发布)要求保护,其全部公开内容通过引用结合在此。



背景技术:

需要根据适用的软件认证标准(例如,用于航空软件的do-178c)严格测试安全关键软件。代表值(例如等价类中的值)和容易出错的值(边界值和异常范围)需要在要求级别下进行测试。通常,这些测试用例是手动生成的并且是耗时的。

自动测试生成的传统方法可以捕获(即,建模)软件设计要求作为状态图。然后状态机可以实施前向/后向传播处理以从状态图确定测试矢量。测试生成器通过遍历软件设计的状态图模型来确定是否达到转换。

统一建模语言(uml)规范包括用于指定状态图的标准。也已经使用状态图和类似有限自动机的其他方法和描述来描述软件设计和/或要求,包括harel状态图,状态图和有限状态机等。使用这些状态图生成测试的现成工具和技术仅实现结构代码覆盖。此外,现成的工具可能花费过多的时间来从状态图生成测试。



技术实现要素:

本发明提供了一种用于基于等价类分析的基于自动化要求的测试用例生成的系统,该系统包括:数据存储器,数据存储器包含文本设计要求,一个或多个文本设计要求包括时域成分;文本转换器单元,文本转换器单元被结构化成将文本设计要求转换为机器可读版本的设计要求;要求划分单元,要求划分单元被构造成将机器可读设计要求划分成一组或多组相关设计要求;等价类划分单元,等价类划分单元被构造成将机器可读设计要求和输入/输出变量处理成一组等价类;等价类分析器单元,等价类分析器单元被结构化成分析一组等价类;边界类分析器单元,边界类分析器单元被结构化成识别等价类的边界,边界包括相邻等价类之间的行为转换和等价类内的时域边界中的至少一个;控制处理器,控制处理器被构造成执行计算机可执行指令,计算机可执行指令使控制处理器控制系统的部件,以:划分输入空间以获得凸多面体,凸多面体包括正常范围多面体和异常范围多面体;使用每个设计要求和相关要求条件将凸多面体划分成未被相关要求条件涵盖的子多面体,以及被相关要求条件涵盖的子多面体;将每个多面体分类到相应的等价类;对于正常范围内的多面体,通过根据测试标准从多面体中选取值来选择等价类测试,否则不生成等价类测试,测试标准包括时域条件;识别每两个多面体之间的共享面,其中共享面表示等价类之间的边界;通过基于测试标准从共享面中选择值来生成测试,如果是正常范围多面体,则生成的测试是边界值测试,或者如果是异常范围多面体,则生成的测试是鲁棒性测试;将等价类分析应用于时域边界,以获得一组时域测试用例;组合交叉测试用例以获得第二组测试用例,第二组测试用例的数量小于组合之前的一组测试用例;和从第二组测试用例中去除冗余子句。

附图说明

图1描绘了根据实施例的用于基于等价类分析的测试用例生成的系统;

图2描绘了根据实施例的用于基于等价类分析的测试用例生成的处理;

图3描绘了根据实施例的实施图2的等价类分析的基于组的方法;和

图4描绘了根据实施例的基于形式方法的等价类分析的处理。

具体实施方式

根据实施例,系统和方法使用等价类分析自动生成基于要求的测试用例,使得可以使用生成的测试用例在要求级别下测试代表值(例如,等价类中的值)和易于出错值(例如,边界值,异常范围等)。

有效和无效等价类根据它们是否在正常范围或异常范围内来区分。从有效等价类中选择等价类测试。边界值在相邻等价类的边界处被识别,从而可以测试软件的行为转换。从有效等价类的边界中选择边界值测试,并且从无效等价类的边界和/或输入物理范围的极值中选择鲁棒性测试。

由要求引起的等价类被限定为激活相同的要求子集的输入矢量组。通过测试等价类中的一个值,使其等同于测试激活此要求子集的所有其他值,要求子集表示软件的特定行为。

体现系统和方法可以基于等价类分析技术从一组要求中自动生成等价类测试,边界值测试和鲁棒性测试。体现方法可以包括两种方法(即,基于组的方法和基于形式方法的方法)以自动执行等价类分析。

图1描绘了根据实施例的基于等价类分析的测试用例生成系统100。系统100可以是自动测试用例生成(atcg)系统,其可以基于等价类分析从一组要求自动生成测试用例。系统100包括控制处理器110,其执行计算机可执行指令以控制系统及其部件的操作。控制处理器110可以位于计算机或服务器中,并且经由通信链路120互连到各种部件。通信链路可以是内部总线,电子通信网络等。

系统100包括数据存储器130,其可以包含安全关键软件的文本设计要求132(例如,系统级和/或高级要求)。这些文本系统设计要求可以由文本转换器单元140转换成机器可读语言。系统100可以访问要求的机器可读语言,用于如本文所公开的自动分析。数据字典134包含关于输入和输出变量的输入和输出变量信息。机器可读要求和数据字典的内容可以由等价类划分单元150处理。当从输入和输出变量的角度分析时,由要求引起的一组等价类136由等价类划分单元产生。如下所公开的等价类测试180,边界值测试182和鲁棒性测试184也可以存储在数据存储器130中。

等价类分析器单元160被构造成分析等价类组136以识别哪些类是否被任何要求所涵盖。未涵盖的那些类可以被识别为未涵盖的输入范围,需要报告其以进行要求完整性检查。对于每个被涵盖的等价类,如果它在正常范围内,则从等价类中选择一个值作为等价类测试180;如果它在异常范围内,则不选择测试。

每个输入/输出变量具有正常范围和物理范围。它的正常范围是当设计正常运行时变量可以选择的一组值。它的物理范围是变量可以从其正常范围和异常范围中选择的一组值。边界类分析器单元170被结构化成分析等价类组以识别等价类的边界。边界范围数据138可以存储在数据存储器130中。对于每个识别的边界,在边界上和边界的任一侧上选择值。如果所选值在正常范围内,则将其识别为边界值测试182;如果所选值在异常范围内,则将其识别为鲁棒性测试184。

体现系统和方法可以执行等价类分析(包括等价类划分和边界值分析)。机器可读设计要求133首先由要求划分单元190划分。该划分单元被构造成找到一个或多个相关设计要求的最小组(例如,影响同一组输出的那些要求)以降低测试复杂性。

可以对最小组执行等价类分析处理。基于组的方法使用多面体(polytope)来表示要求条件(即,激活要求的条件)。基于组的方法分析要求以识别组交集(intersection)和/或并集(union)以查找等价类,其激活要求的子集。基于组的方法使用户能够在等价类或边界中的不同位置选择值。基于形式方法的方法使用谓词(predicate)来表示要求条件,并应用形式方法来查找测试用例。基于形式方法的方法更好地处理在要求条件下相互交互的输入变量。取决于要求的类型或测试用例的标准,用户可以从这些方法(基于组或基于形式的)中进行选择。通过将测试输入值作为测试目标附在要求模型中并应用模型检查技术来查找输出值以满足要求,自动获得预期输出。

等价类的形式限定可以描述如下:

限定1:给定一组要求r和输入操作空间(正常范围)gop(u1,u2,...,un),由r引起的有效等价类划分pr由等式1表示;并且无效等价类pinv由等式2表示:

其中gr(u1,u2,...,un)是要求r∈r的要求条件;以及

gphy是输入空间(物理范围)。

如限定1所述的,有效和无效等价类根据它们是在正常范围内还是在异常范围内来区分。从有效等价类中选择等价类测试。边界值从相邻等价类的边界识别,从而可以测试软件的行为转换。边界值测试从有效等价类的边界选择,并且从无效等价类的边界和输入物理范围的极值选择鲁棒性测试。

图2描绘了根据实施例的基于等价类分析的测试用例生成处理200。在步骤205,通过文本转换器单元140将文本设计要求132转换为机器可读语言。在步骤210,通过等价类划分单元150分析数据字典134中的可变信息和机器可读要求。该分析产生和/或识别由要求引起的一组等价类132。在步骤215,识别由任何要求所涵盖的等价类。在步骤218,报告未被任何要求所涵盖的输入范围,以进行要求完整性验证检查。

在步骤220,执行评估,以确定所涵盖的等价类是否在正常范围内或在异常范围内。在步骤225,对于正常范围内的每个所涵盖的等价类,从等价类中选择值作为等价类测试180。如果所涵盖的等价类在异常范围内,则处理200从步骤220流向步骤230,其中不生成测试。

在步骤240中,通过边界类分析器单元170分析在步骤210中识别的等价类,其中识别等价类之间的边界,并且基于测试标准从边界选择值。在步骤245,对于每个识别的边界值,确定边界值是否在正常范围内。如果边界值在正常范围内,则在步骤250,生成边界值测试182。如果边界值在异常范围内,则在步骤255,生成鲁棒性测试184。

体现系统和方法可以实施至少两种方法来执行等价类分析(包括等价类划分和边界值分析)。可以首先通过识别由共享输出变量确定的依赖链中连接的要求组(例如,如果要求r1具有输出a和b,要求r2具有输出b和c,并且要求r3具有输出c和d,r1,r2和r3连接)来划分一组要求。如果这样,它们都可以是同一个连接部件的部分。这种方法可以降低复杂性。

图3描绘了根据实施例的实施图2中描绘的等效类分析的基于组的方法的处理300。在基于组的方法中,每个要求条件被表示为凸多面体的并集(union)(以表示非凸多面体),其涵盖所有输入变量,其中每个输入变量是多面体的一个维度。相同的表示用于正常和异常输入范围。在输入空间上使用划分处理以获得多面体。最初,在步骤310,输入空间被划分为正常范围多面体和异常范围多面体。在步骤320-340,针对每个要求执行循环。在步骤330,每个要求连同其要求条件将当前多面体分成子多面体:由该要求条件涵盖的子多面体(即,当前多面体与要求条件多面体的交集);和未被要求条件涵盖的子多面体(即当前多面体的要求的相对补集(complement))。在步骤340,如果有更多要求,循环重复(步骤320-340)。在步骤350,在划分处理之后,将每个多面体分类到对应的等价类中。

如果多面体来自正常范围,则它是有效等价类,并且通过根据标准从多面体选择一个值(例如,多面体的中心值)来选择等价类测试。如果多面体来自异常范围,则它是无效等价类,此时不会生成任何测试。如果多面体不被任何要求条件多面体涵盖,则会报告其用于要求完整性验证。

在生成多面体(即,等价类)之后,在步骤360,对于每两个多面体识别共享面。这些面是等价类之间的边界。在步骤370,通过基于测试标准从面中选择值来生成测试。如果测试属于正常范围多面体,则它是边界值测试;如果测试属于异常范围多面体,那么它是鲁棒性测试。如果测试属于未被任何要求条件涵盖的多面体,则它不是有效测试,并且将不会被存储。测试选择标准根据测试标准和可变数据类型(例如,精度,容差等)而变化。

图4描绘了根据实施例的实施图2中描绘的等价类分析的基于形式方法的方法的处理400。从被识别的要求连接部件(由要求划分单元190识别)开始,在步骤410,处理400将要求条件转换为可由形式方法工具(例如,可满足性(sat)求解器)读取的谓词。对于每个要求子集,在步骤420,生成谓词的连词(conjunction),以表示要求子集的激活条件。谓词连词是激活要求子集的等价类。在步骤420,为了在每两个等价类之间生成共享边界,首先扩充两个等价类以包括它们的边界(例如,“>”变为“>=”,并且“<”变为“<=”)并且生成扩充的等价类的谓词的连词以作为共享边界。为了检测未涵盖的输入空间,在步骤420,生成所有要求谓词的否定(negation)的连词。

然后,在步骤430,处理400关于生成的谓词连词(等价类,共享边界和未涵盖的输入空间)的否定调用形式方法工具(例如,sat求解器)。如果输入空间中的所有可能输入并不总是满足否定,则sat求解器可以产生对否定的反例,其是满足谓词连词的值。如果谓词连词是等价类或共享边界,则反例是测试用例(等价类测试,边界值测试或鲁棒性测试)。如果谓词连词是未涵盖的输入空间,则反例表示存在未涵盖的输入空间。在步骤440,可以从反例中生成和/或提取等价类测试,边界值测试或鲁棒性测试输入序列。该生成和/或提取可以分别由等价类测试单元186,边界类测试单元187和鲁棒性类测试单元188执行。

如果在步骤430,sat求解器确定总是满足否定,则谓词连词不可满足(即,不存在等价类或共享边界),并且不需要测试用例。如果sat求解器返回“未知”结果,则sat求解器无法解决可满足性问题,并且可以执行手动分析。在生成测试输入序列之后,可以通过将要求输入设置为在步骤440识别的输入序列来生成测试用例的测试预期输出序列,并且在步骤450,根据要求调用sat求解器以生成满足要求的输出序列。

体现系统和方法使等价类测试,边界值测试和鲁棒性测试生成处理自动化。还可以自动检测未涵盖的输入空间。这些未涵盖的输入空间可以指示要求中的潜在差距和其他错误。等价类分析和测试用例生成处理的自动化可以减少测试时间并提高整体测试质量。

体现等价类分析可以应用于具有时域成分(例如,时间相关属性和/或条件)的要求。表i说明了可以出现在要求中的四种基本时序逻辑语句。这些时序语句可以转换为至少两种规范化形式场景:(场景1)“条件在过去的t个单位时间内已为真;”和(场景2)“条件在过去的t个单位时间内是真的。”

表i.时序语句和相应的归一化(规范化)形式

包括时域成分的体现等价类分析可以生成测试至少两种类型的触发器的测试用例。表ii示出了当监测的条件不是暂时的(即,保持在稳定状态)时用于时序要求的超前触发器和滞后触发器测试。应测试每种类型的触发器,以确保正确实施时序约束。‘超前触发器’是(大约)立即对受控变量进行更改的触发器。‘滞后触发器’是必须保持t个单位时间的全时间间隔以对监测条件产生影响的触发器。

出于解释的目的,行1的时序要求可以被读取为‘当x在过去的t个单位时间内发生时,然后做y’。当应用具有时域因子的体现等价类分析时,可以通过确认是否满足以下条件来测试时序要求以满足前导触发器:如果x发生在t0,则y发生在(大约)同一时间。类似地,可以通过确认是否满足以下条件来测试时序要求以满足滞后触发器:在t0之前满足条件'不是x';然后在t0,条件变为x。如果满足时序要求的前导和滞后边界,则高度确信通过时序要求将满足中间时间处的事件发生。在具有时域因子的体现等价类分析时,不需要在这些边界内进行测试。

对于具有“是”时序表达的时序要求,前导触发器是监测条件的满足;并且滞后触发器是监测条件的伪造(falsification)。对于具有‘已’时序表达的时序要求,前导触发器是监测条件的伪造;滞后触发器是监测条件的满足。

表ii.时序要求测试策略

表iii示出了用于时序要求的超前触发器和滞后触发器,其中监测条件的事件类型本质上是暂时的(即,不转换到稳定状态)。'是'条件是暂时性时序要求的有效构造。由于暂时性事件是转瞬即逝的,并且在很长一段时间内不可能是真的,因此‘已’条件不是有效构造。表iii提供了具有用于此类事件触发器的测试条件的时序语句。与表ii中的非暂时性触发器相比,所需的测试是相同的,除了监测条件是暂时的。

表iii.暂时性事件触发的测试时序要求

基于表ii和iii中的超前触发器和滞后触发器的概念的预期测试用例和过程是关于落入场景1和场景2(如上所述)的类别的时序语句的时序要求而写的,其中事件类型和非事件类型监测条件区分开。以下段落描述了用于两种类型的时序语句的测试用例和程序。

场景1:

做<y>

当<x>在过去的<t>个单位时间内是真的

1.<x>是非事件条件:

2.<x>是事件接收条件:

3.<x>是事件未接收条件('不是'事件条件被转换为'已'条件)。(没有可用的测试用例和程序,因为这种类型的时序构造无效):

场景2:

做<y>

当<x>在过去的<t>个“单位”内已为真

1.<x>是非事件条件:

2.<x>是事件接收条件(没有可用的测试用例和程序,因为这种类型的时序构造无效):

3.<x>是事件未接收条件:

根据实施例,优化了从等价类分析(包括在具有时域属性和/或条件的时序要求上的等价类分析)生成的测试用例。优化减少了计算机处理器占用时间和开销,以及执行测试的内存要求。可以组合优化的测试用例以获得最小组的最佳测试用例。可以使用可满足性模理论(smt)求解器来执行优化和组合。基于启发式的优化也可以应用于某些场景以优化测试用例。例如,基于启发式的优化可以指导smt求解器生成单个测试,该测试满足若干测试用例中指示的约束。这意味着可以将若干测试用例组合在一起进行测试-其中单组测试矢量可以涵盖这些测试用例。例如,如果不需要边界值测试以外的测试,边界值测试可以与等价类测试结合,因为边界值测试在等价类内。

根据实施例,可以简化优化的测试用例,从而移除或组合测试用例中的冗余子句。测试用例简化使测试用例更具可读性,因为一些测试用例在优化后可能有超过一百个子句(可能包括冗余)。

可以通过使用smt求解器来找到满足相同约束的测试用例的最小形式来完成简化。例如,样本测试用例1(下面)包含冗余子句“输入_1>1”,因为输入_1>8比“输入_1>1”更严格。简化在简化的测试用例中去除了“输入_1>1”,因此测试用例看起来更简洁,更便于审阅者查看。

样本测试用例1:

原始:

验证输出=1

当输入_1>1且输入_1>8时

简化:

验证输出=1

当输入_1>8时

根据一些实施例,存储在非易失性存储器或计算机可读介质(例如,寄存器存储器,处理器高速缓存,ram,rom,硬盘驱动器,闪存,cdrom,磁介质等)中的计算机可执行指令可以包括代码或可执行指令,其在执行时可以指示和/或使控制器或处理器执行上面公开的方法,诸如使用基于组和/或基于形式方法的等价类分析自动生成基于要求的测试用例,等价类分析包括具有时域属性和/或条件的要求的测试,如上所述。

计算机可读介质可以是非暂时性计算机可读介质,其包括除了暂时传播信号之外的所有形式和类型的存储器以及所有计算机可读介质。在一个实施方式中,非易失性存储器或计算机可读介质可以是外部存储器。

尽管这里已经描述了特定的硬件和方法,但是注意,根据本发明的实施例可以提供任何数量的其他构造。因此,虽然已经示出,描述和指出了本发明的基本新颖特征,但是应该理解,在不脱离本发明的精神和范围的情况下,本领域技术人员可以对所示实施例的形式和细节以及它们的操作进行各种省略,替换和改变。从一个实施例到另一个实施例的元件的替换也是完全意图和预期的。本发明仅关于所附权利要求及其中的叙述的等同物来限定。

本发明的各个方面和实施例由以下编号的条项限定:

1.一种用于基于等价类分析的基于自动化要求的测试用例生成的系统,其特征在于,所述系统包括:

数据存储器,所述数据存储器包含文本设计要求,一个或多个文本设计要求包括时域成分;

文本转换器单元,所述文本转换器单元被结构化成将所述文本设计要求转换为机器可读版本的设计要求;

要求划分单元,所述要求划分单元被构造成将机器可读设计要求划分成一组或多组相关设计要求;

等价类划分单元,所述等价类划分单元被构造成将所述机器可读设计要求和输入/输出变量处理成一组等价类;

等价类分析器单元,所述等价类分析器单元被结构化成分析所述一组等价类;

边界类分析器单元,所述边界类分析器单元被结构化成识别所述等价类的边界,所述边界包括相邻等价类之间的行为转换和等价类内的时域边界中的至少一个;

控制处理器,所述控制处理器被构造成执行计算机可执行指令,所述计算机可执行指令使所述控制处理器控制所述系统的部件,以:

划分输入空间以获得凸多面体,所述凸多面体包括正常范围多面体和异常范围多面体;

使用每个设计要求和相关要求条件将所述凸多面体划分成未被所述相关要求条件涵盖的子多面体,以及被所述相关要求条件涵盖的子多面体;

将每个多面体分类到相应的等价类;

对于所述正常范围内的多面体,通过根据测试标准从所述多面体中选取值来选择等价类测试,否则不生成等价类测试,所述测试标准包括时域条件;

识别每两个多面体之间的共享面,其中所述共享面表示等价类之间的边界;

通过基于所述测试标准从所述共享面中选择值来生成测试,如果是正常范围多面体,则生成的测试是边界值测试,或者如果是异常范围多面体,则生成的测试是鲁棒性测试;

将等价类分析应用于所述时域边界,以获得一组时域测试用例;

组合交叉测试用例以获得第二组测试用例,所述第二组测试用例的数量小于组合之前的一组测试用例;和

从所述第二组测试用例中去除冗余子句。

2.根据条项1所述的系统,其特征在于,所述等价类分析器单元被构造成识别被机器可读设计要求涵盖或未被所述机器可读设计要求涵盖的等价类。

3.根据条项2所述的系统,其特征在于,包括所述等价类分析器单元,所述等价类分析器单元被构造成:

向用户报告未被涵盖的等价类,用于要求完整性检查;

如果被涵盖的等价类在正常范围内,则从所述被涵盖的等价类中选择值,并将所选值作为等价类测试存储在所述数据存储器中;和

如果被涵盖的等价类在异常范围内,则不选择值。

4.根据条项1所述的系统,其特征在于,包括所述可执行指令,所述可执行指令使所述控制处理器控制所述等价类分析器单元,以通过识别在依赖链中连接的设计要求组来划分所述机器可读设计要求。

5.根据条项1所述的系统,其特征在于,包括所述等价类划分单元、等价类分析器单元和边界类分析器单元,所述等价类划分单元、等价类分析器单元和边界类分析器单元被构造成对一组或多组相关设计要求执行基于组的分析方法或基于形式的分析方法。

6.一种用于基于等价类分析的基于自动化要求的测试用例生成的方法,其特征在于,所述方法包括:

文本转换器单元将文本设计要求转换为机器可读版本的设计要求组,一个或多个文本设计要求包括时域成分;

要求划分单元将机器可读设计要求划分为一组或多组相关设计要求;

等价类划分单元将机器可读设计要求组和输入/输出变量处理成一组等价类;

等价类分析器单元分析所述一组等价类:

边界类分析器单元识别所述等价类的边界,所述边界包括相邻等价类之间的行为转换和等价类内的时域边界中的至少一个;

将等价类分析应用于所述时域边界,以获得一组时域测试用例;

组合交叉测试用例以获得第二组测试用例,所述第二组测试用例的数量小于组合之前的一组测试用例;和

从所述第二组测试用例中去除冗余子句。

7.根据条项6所述的方法,其特征在于,包括:

划分输入空间以获得凸多面体,所述凸多面体包括正常范围多面体和异常范围多面体;

使用每个设计要求和相关要求条件将所述凸多面体划分成未被所述相关要求条件涵盖的子多面体,以及被所述相关要求条件涵盖的子多面体;

将每个多面体分类到相应的等价类;

对于所述正常范围内的多面体,通过根据测试标准从所述多面体中选取值来选择等价类测试,否则不生成等价类测试,所述测试标准包括时域条件;

识别每两个多面体之间的共享面,其中所述共享面表示等价类之间的边界;和

通过基于所述测试标准从所述共享面中选择值来生成测试,如果是正常范围多面体,则生成的测试是边界值测试,或者如果是异常范围多面体,则生成的测试是鲁棒性测试。

8.根据条项6所述的方法,其特征在于,分析所述一组等价类包括通过识别在依赖链中连接的设计要求组来划分所述机器可读设计要求。

9.根据条项6所述的方法,其特征在于,包括划分输入空间以获得凸多面体,所述凸多面体包括正常范围多面体和异常范围多面体。

10.根据条项9所述的方法,其特征在于,包括:

使用每个设计要求和相关要求条件将所述凸多面体划分成未被所述相关要求条件涵盖的子多面体,以及被所述相关要求条件涵盖的子多面体;和

将每个多面体分类到相应的等价类。

11.根据条项10所述的方法,其特征在于,包括:

对于所述正常范围内的多面体,通过根据测试标准从所述多面体中选取值来选择等价类测试,否则不生成等价类测试,所述测试标准包括时域条件;

识别每两个多面体之间的共享面,其中所述共享面表示等价类之间的边界;和

通过基于所述测试标准从所述共享面中选择值来生成测试,如果是正常范围多面体,则生成的测试是边界值测试,或者如果是异常范围多面体,则生成的测试是鲁棒性测试。

12.根据条项6所述的方法,其特征在于,分析所述一组等价类包括应用基于形式方法的方法,所述基于形式方法的方法包括将每个要求表示为谓词。

13.根据条项6所述的方法,其特征在于,包括:

将机器可读要求转换为谓词;

为等价类、共享边界和未被涵盖的输入空间生成谓词连词;

关于所述谓词连词的否定,调用形式方法工具,并获得反例;

从反例生成测试输入序列;和

通过将生成的测试输入序列作为测试目标附加到要求模型来生成预期输出。

14.一种非暂时性计算机可读介质,其特征在于,所述介质具有存储在其上的可执行指令,当所述可执行指令由控制处理器执行时,所述可执行指令使所述控制处理器执行基于等价类分析的基于自动化要求的测试用例生成的方法,所述方法包括:

文本转换器单元将文本设计要求转换为机器可读版本的设计要求组,一个或多个文本设计要求包括时域成分;

要求划分单元将机器可读设计要求划分为一组或多组相关设计要求;

等价类划分单元将机器可读设计要求组和输入/输出变量处理成一组等价类;

等价类分析器单元分析所述一组等价类:

边界类分析器单元识别所述等价类的边界,所述边界包括相邻等价类之间的行为转换和等价类内的时域边界中的至少一个;

将等价类分析应用于所述时域边界,以获得一组时域测试用例;

组合交叉测试用例以获得第二组测试用例,所述第二组测试用例的数量小于组合之前的一组测试用例;和

从所述第二组测试用例中去除冗余子句。

15.根据条项14所述的非暂时性计算机可读介质,其特征在于,包括可执行指令,所述可执行指令使得所述控制处理器:

划分输入空间以获得凸多面体,所述凸多面体包括正常范围多面体和异常范围多面体;

使用每个设计要求和相关要求条件将所述凸多面体划分成未被所述相关要求条件涵盖的子多面体,以及被所述相关要求条件涵盖的子多面体;

将每个多面体分类到相应的等价类;

对于所述正常范围内的多面体,通过根据测试标准从所述多面体中选取值来选择等价类测试,否则不生成等价类测试,所述测试标准包括时域条件;

识别每两个多面体之间的共享面,其中所述共享面表示等价类之间的边界;和

通过基于所述测试标准从所述共享面中选择值来生成测试,如果是正常范围多面体,则生成的测试是边界值测试,或者如果是异常范围多面体,则生成的测试是鲁棒性测试。

16.根据条项14所述的非暂时性计算机可读介质,其特征在于,包括可执行指令,所述可执行指令使所述控制处理器通过识别在依赖链中连接的设计要求组来划分所述机器可读设计要求来执行分析所述一组等价类。

17.根据条项14所述的非暂时性计算机可读介质,其特征在于,包括可执行指令,所述可执行指令使所述控制处理器获得凸多面体,所述凸多面体包括正常范围多面体和异常范围多面体。

18.根据条项17所述的非暂时性计算机可读介质,其特征在于,包括可执行指令,所述可执行指令使所述控制处理器:

使用每个设计要求和相关要求条件将所述凸多面体划分成未被所述相关要求条件涵盖的子多面体,以及被所述相关要求条件涵盖的子多面体;和

将每个多面体分类到相应的等价类。

19.根据条项16所述的非暂时性计算机可读介质,其特征在于,包括可执行指令,所述可执行指令使所述控制处理器:

对于所述正常范围内的多面体,通过根据测试标准从所述多面体中选择值来选择等价类测试,否则不生成等价类测试,所述测试标准包括时域条件;

识别每两个多面体之间的共享面,其中所述共享面表示等价类之间的边界;和

通过基于所述测试标准从所述共享面中选择值来生成测试,如果是正常范围多面体,则生成的测试是边界值测试,或者如果是异常范围多面体,则生成的测试是鲁棒性测试。

20.根据条项14所述的非暂时性计算机可读介质,其特征在于,包括可执行指令,所述可执行指令使所述控制处理器通过以下步骤来执行分析所述一组等价类:

应用基于形式方法的方法,所述基于形式方法的方法包括将每个要求表示为谓词;

将机器可读要求转换为谓词;

为等价类、共享边界和未被涵盖的输入空间生成谓词连词;

关于所述谓词连词的否定,调用形式方法工具,并获得反例;

从反例生成测试输入序列;和

通过将生成的测试输入序列作为测试目标附加到要求模型来生成预期输出。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1