CN113157562A - 一种基于扩展有限状态机模型的测试用例生成方法及平台 - Google Patents
一种基于扩展有限状态机模型的测试用例生成方法及平台 Download PDFInfo
- Publication number
- CN113157562A CN113157562A CN202110282059.4A CN202110282059A CN113157562A CN 113157562 A CN113157562 A CN 113157562A CN 202110282059 A CN202110282059 A CN 202110282059A CN 113157562 A CN113157562 A CN 113157562A
- Authority
- CN
- China
- Prior art keywords
- test
- state machine
- path
- machine model
- finite
- 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 245
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000013508 migration Methods 0.000 claims abstract description 55
- 230000005012 migration Effects 0.000 claims abstract description 54
- 230000002068 genetic effect Effects 0.000 claims abstract description 42
- 238000010845 search algorithm Methods 0.000 claims abstract description 28
- 230000007547 defect Effects 0.000 claims description 27
- 238000002347 injection Methods 0.000 claims description 27
- 239000007924 injection Substances 0.000 claims description 27
- 230000007704 transition Effects 0.000 claims description 18
- 238000013461 design Methods 0.000 claims description 17
- 239000000243 solution Substances 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 3
- 238000004880 explosion Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 28
- 230000008569 process Effects 0.000 description 14
- 238000011160 research Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000013522 software testing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001364 causal effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method 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/3676—Test management for coverage analysis
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Physiology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种基于扩展有限状态机模型的测试用例生成方法及平台,在迁移覆盖的基础上,考虑了迁移之间组合,定义并设计了EFSM模型的独立路径覆盖准则。相比于迁移覆盖,独立路径覆盖准则考虑了迁移之间的组合关系,增加了一定量的测试开销,但能较为有效的提高测试覆盖的强度,发现更多错误。相比于路径覆盖,有效地减少了冗余测试用例,在测试开销与覆盖强度之间取得了较好的平衡,提高测试的效率,缓解状态爆炸问题,在EFSM模型独立路径覆盖准则基础上,分别提出基于广度优先搜索算法的EFSM模型测试序列生成方法和基于遗传算法的EFSM模型测试序列生成方法,生成满足覆盖准则的测试序列集,能够减少测试序列的冗余,提高测试效率,并提出了基于遗传算法的测试数据生成方法。
Description
技术领域
本说明书一个或多个实施例涉及软件测试技术领域,尤其涉及一种基于扩展有限状态机模型的测试用例生成方法及平台。
背景技术
现有的生成方法存在“状态爆炸”问题。现有的技术方案存在“状态爆炸”问题,测试开销大,如方法“一种基于动态故障树的嵌入式星载软件测试用例生成方法”在求解最小割集时存在“组合爆炸”问题,一方面体现在为了满足某些覆盖准则,测试用例数呈指数倍增长,另一方面体现在算法难以迭代生成满足覆盖的测试用例集;缺陷检出能力弱。在基于结构的测试中,普遍存在即使满足了覆盖准则的要求但缺陷仍然存在的问题,可以将其中的原因归纳为以下三方面。一方面是因为测试忽略了缺陷之间的关联性使得某些缺陷未被激活与发现;另一方面是在衡量测试需求与测试开销的过程中,未能对测试开销进行有效的分配,对易出错的部分没有进行充分的测试;还有一方面在于某些类型的缺陷自身比较顽固,难以被激活、发现与排除。现有的技术大都未能充分考虑这三点原因,对测试用例生成方法进行优化。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种基于扩展有限状态机模型的测试用例生成方法及平台,以解决现有方法存在的问题。
基于上述目的,本说明书一个或多个实施例提供了一种基于扩展有限状态机模型的测试用例生成方法及平台,包括以下步骤:
对基于需求生成的扩展有限状态机模型,建立独立路径覆盖准则;
分别通过基于广度优先搜索算法的有限状态机模型序列生成方法和基于遗传算法的有限状态机模型测试序列生成方法,生成满足独立路径覆盖准则的测试序列集;
通过故障注入,对有限状态机模型的故障传播路径进行建模;
满足所述故障传播路径的基础上,基于多种群遗传算法的扩展有限状态机模型测试数据生成方法,生成扩展有限状态机模型测试数据。
优选地,独立路径覆盖准则包括:
给定一个扩展有限状态机模型的测试序列集A,用ξ表示A所有序列所包含的迁移集合,tpi表示第i条序列所包含的迁移,若任意属于A的测试序列Pi与Pj至少存在一条迁移的区别,即#(ran(Pi-Pj))>=1,A恰好覆盖扩展有限状态机模型中的所有迁移,使#(ξ-)>=1且#(ξ-)=0,且所有迁移至少组合一次,则A为扩展有限状态机模型的独立路径覆盖准则;
其中,#表示集合长度操作符号,ran表示值域操作符号,n表示测试序列的数目。
优选地,基于广度优先搜索算法的有限状态机模型序列生成方法包括:至少引入一个新迁移的测试定义序列为扩展有限状态机模型中独立路径;通过增加判断条件的广度优先搜索算法为扩展有限状态机模型生成测试序列,所述广度优先搜索算法包括,
A1初始化扩展有限状态机模型,输入起点Vs,终点Vd,将起点Vs的子节点加入至搜索队列中;
A2从队列中取出第一个节点,若队列不为空,转A3,否则转A6;
A3判断节点是否为终点,若是获取该路径,并转A4,否则转A5;
A4判断该路径是否为独立路径,若是添加至路径集S’,并转A5,否则删除该路径;
A5将该节点的子节点添加至搜索队列;
A6判断路径集S’是否满足独立路径覆盖,若是输出最终路径集S,否则转到A2。
优选地,基于遗传算法的有限状态机模型测试序列生成方法包括:
B1扩展有限状态机模型,输入起点Vs,终点Vd,将广度优先搜索算法生成的所有路径作为遗传算法的初始种群;
B3对种群中的个体进行选择、交叉、变异,形成新的种群;
B4判断种群是否满足独立路径覆盖或达到最大迭代次数,若是输出最终结果,否则回到B3。
优选地,故障传播路径的生成方法包括:
将故障相关比值最大的路径作为故障传播路径;
所述故障相关比值符合以下公式
其中,Ninput表示路径相关的输入变量与注入故障相关的输入变量相同的个数,Noutput表示路径相关的输出变量与注入故障相关的输出变量相同的个数,tnum表示与注入缺陷相关的输入输出变量的个数,k1,k2是修正系数。.
优选地,多种群遗传算法的扩展有限状态机模型测试数据生成方法包括:C1初始化EFSM模型/图,输入起点Vs,终点Vd,生成初始种群,初始种群由若干个子种群构成;
C2依据注入故障相关的输入输出,设计优先覆盖故障传播路径的适应度函数为fG(yi)=K1*f1(yi)+K2*f2(yi)+...+Ki*fz(yi),计算子种群中每个个体的适应度值,其中,Wi为第i个序列的故障相关比值,yi表示种群中的个体,z表示目标路径集中的所有路径,函数f(yi)采用分支函数来构造,分支函数的构造规则见分支函数构造规则表;
C3判断是否找到最优解或达到最大迭代次数,若是则输出结果,否则转入C4;
C4判断是否达到迁移间隔,若达到则依据迁移率和迁移策略进行子种群间个体的迁移,进入C5;
进行种群个体的选择、交叉与变异的遗传操作,生成新的种群,回到C2。
本发明还提供一种扩展有限状态机模型测试用例生成平台,包括:
准则设计模块,用于对基于需求生成的扩展有限状态机模型,定义并设计独立路径覆盖准则;
测试序列集生成模块,用于分别通过基于广度优先搜索算法的有限状态机模型序列生成方法和基于遗传算法的有限状态机模型测试序列生成方法,生成满足独立路径覆盖准则的测试序列集;
路径建模模块,用于通过故障注入,对有限状态机模型的故障传播路径进行建模;
测试数据生成模块,用于在满足所述故障传播路径的基础上,基于多种群遗传算法的扩展有限状态机模型测试数据生成方法,生成扩展有限状态机模型测试数据。
从上面所述可以看出,本说明书一个或多个实施例提供的提出一种测试开销低、效率高、缺陷检出能力强的EFSM模型测试用例生成方法,从EFSM模型覆盖准则、测试序列生成、测试数据生成三个方面进行优化,提高EFSM模型测试用例生成的质量和效率。针对EFSM模型,在迁移覆盖的基础上,考虑了迁移之间组合,定义并设计了EFSM模型的独立路径覆盖准则。相比于迁移覆盖,独立路径覆盖准则考虑了迁移之间的组合关系,增加了一定量的测试开销,但能较为有效的提高覆盖的强度,发现更多错误。相比于路径覆盖,有效地减少了冗余测试用例,在测试开销与覆盖强度之间取得了较好的平衡,提高测试的效率,缓解状态爆炸问题。在EFSM模型独立路径覆盖准则基础上,分别提出基于广度优先搜索算法的EFSM模型测试序列生成方法和基于遗传算法的EFSM模型测试序列生成方法,生成满足覆盖准则的测试序列集。方法在搜索时进行是否是独立路径与是否满足独立路径覆盖的判断,减少测试序列的冗余,提高测试效率。通过故障注入与优先生成覆盖EFSM模型故障传播路径的测试数据的方式,激活并发现更多的缺陷,合理分配测试资源,提高测试的质量和效率。方法通过程序变异的方式对源程序进行故障注入,提出并定义EFSM模型的故障传播路径的概念,设计故障传播路径的建模方法。在EFSM模型故障传播路径的基础上,提出一种基于遗传算法的EFSM模型测试数据生成方法。算法识别并优先生成覆盖独立路径集中的故障传播路径,直至满足独立路径覆盖或达到最大迭代次数。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的基于EFSM模型的测试用例生成框架图;
图2为本说明书一个或多个实施例的有限状态机覆盖准则强弱关系图;
图3为本说明书一个或多个实施例的测试用例生成方法流程示意图;
图4为本说明书一个或多个实施例的D-BFS流程示意图;
图5为本说明书一个或多个实施例的遗传算法生成测试序列流程示意图;
图6为本说明书一个或多个实施例的示例程序图;
图7为本说明书一个或多个实施例的注入故障相关的程序切片图;
图8为本说明书一个或多个实施例的示例程序的EFSM模型图;
图9为本说明书一个或多个实施例的基于遗传算法的EFSM测试数据生成流程图;
图10为本说明书一个或多个实施例的ACC EFSM模型图;
图11为本说明书一个或多个实施例的工具中的ACC EFSM模型图;
图12为本说明书另一种实施例的测试用例生成方法流程示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本说明书一个或多个实施例提供一种扩展有限状态机模型测试用例生成方法。
扩展有限状态机模型(Extend Finite State Machine,EFSM)是表示有限个状态以及在这些状态之间的转移和动作行为的数学模型,是一个四元组(S,T,In,Out),其中,S是一个状态集合;T是一个迁移集合;In是一个能够引起迁移的原因集合;Out是一个迁移造成的输出集合,通常,基于EFSM模型的测试用例生成框架如图1所示,首先对软件测试过程中的实体如测试需求进行建模,基于EFSM建立测试模型,针对测试模型提出覆盖准则,由覆盖准则生成测试用例可以划分为测试序列生成与测试数据生成两个环节,通过采用不同的方法与相应的算法实现,生成满足覆盖准则的测试用例集。其中,测试数据是指测试序列中包含变量的确定值,能够作为输入执行程序进行测试。
需要说明的是,严格来说我们认为测试用例是由测试数据、约束条件与预期输出三部分组成的。我们的研究侧重点在于对测试用例生成中测试序列与测试数据的生成,没有深入地对预期输出生成进行探讨,因此,本发明中的测试用例生成指的是考虑了测试数据部分。
有限状态机模型(Finite State Machine,FSM)由于具有足够强的描述能力,具有精确性、可推导性和可验证性的特点被广泛的研究和应用。有限状态机适合对控制系统、协议进行建模和测试,扩展的有限状态机(Extended Finite State Machine,EFSM)通过在FSM模型的基础上扩展变量、迁移触发的谓词条件和迁移被触发后的操作可对控制过程和数据进行描述,可以精确地描述软件系统的动态行为。基于EFSM的测试可以应用到许多领域,因此具有重要的研究价值和实际意义。有相当大的一部分研究在FSM模型构建,测试用例生成以及优化方面开展工作。
覆盖准则也称为测试充分性准则,是指导测试工程师开发设计有效的,且能够增强软件系统可靠性和功能正确性的测试用例的规则,当测试用例集满足覆盖准则时,则结束测试用例的生成。
EFSM的覆盖准则主要有:全状态覆盖(All-States)、全迁移覆盖(All-Transitions)、全迁移对覆盖(All-Transition-Pairs)、全无循环路径覆盖(All-Loop-Free-Paths)、全一次循环路径覆盖(All-One-Loop-Paths)、全往返路径覆盖(All-Round-Trips)、全路径覆盖(All-Paths)。各覆盖准则之间的强弱关系如图2所示,由图我们可以知道,全路径覆盖的覆盖强度最高,全状态覆盖的覆盖强度最弱,图中的箭头由强覆盖指向弱覆盖。对覆盖准则强弱关系的理解,我们可以举一个例子来说明,当满足覆盖准则1时,其必定满足覆盖准则2,这时可以说覆盖准则1强于覆盖准则2,在有限状态机的覆盖准则中,全路径覆盖是最强的覆盖准则,全状态覆盖是最弱的覆盖准则。在有限状态机的各覆盖准则中,全迁移覆盖、全路径覆盖与全状态覆盖是使用最多的覆盖准则。
按照测试用例生成的实现策略,测试用例生成方法主要以下四类:随机法、范畴划分法、图论算法、启发式搜索,其中,测试用例包括测试序列和测试数据,EFSM模型的测试序列是起点与终点分别是起始状态与结束状态的,具有一定顺序的状态或迁移集,如[状态1->状态2->状态3],测试数据指测试序列中包含的具体变量的确定值,即能执行该条测试序列的输入值,如[a=1,b=2,c=3]。
对于上述四类方法,顾名思义,随机法就是在测试用例集合空间中随机地产生测试用例,直到满足覆盖准则。随机法十分简单,易于实现,但是测试用例中存在大量的冗余,还可能会存在环,揭错能力弱,效率低。目前,随机法多作为比较算法用于算法实验中。
范畴划分法是一种基于规格说明的测试方法,它根据输入/输出的分析来产生测试用例集。测试根据输入域确定范畴,再将范畴划分为多个选择,选择的组合对应着测试用例。
许多相关研究将测试模型转换为图或者树,然后通过图论算法搜索或遍历这些“中间模型”生成测试用例。该方法的好处在于可以使用相关成熟的图论算法,同时,通过将测试模型转换为“中间模型”可以通过添加相关测试信息更好地生成测试用例。但是生成的测试用例中存在较多的冗余与不可执行用例,当图过于复杂会出现“状态爆炸”的情况。
启发式搜索算法通过在解空间搜索中对每一个搜索位置进行评估,得到最好的位置,再从这个位置进行搜索直到达到目标。利用启发式搜索算法生成测试用例其实可以看作是基于搜索的软件测试领域中一个环节。目前,基于搜索的软件测试一个十分活跃的研究分支领域,它将传统软件测试过程中的活动表述为优化问题通过各种搜索算法来改变活动的解决方案。
最优化问题是指在给定的约束条件下,设计相关的策略确定涉及变量的取值,使得目标函数达到最优的一个过程。常见的最优化方法有解析法、搜索法与数值计算法,其中,启发式搜索算法在解空间对每一个搜索位置进行评估,得到最好的位置,再从这个位置进行搜索直到达到最优目标,避免了盲目性,有效地提高了效率,凭借其良好的表现,被广泛运用于各种问题的优化中。
目前,基于搜索的软件测试(Search-based software testing,SBST)是一个十分活跃的研究领域,它将传统软件测试过程中的活动表述为优化问题,利用已有较为成熟的优化技术来改变活动的解决方案,从一个全新的视角去解决测试过程中遇到的问题。
在启发式搜索算法中,遗传算法、粒子群算法、爬山算法三类算法使用较多。基于遗传算法的EFSM模型测试用例生成问题也可转换为优化问题,利用遗传算法去对问题的解空间进行搜索,直到得到最终解。在这一过程中,有两个关键的步骤,一是如何表示优化的问题,其中包括确定变量、约束条件和目标函数,二是算法与适应度函数的设计,应该考虑目标的实现策略。
故障传播是软件失效机理的研究热点之一,故障传播路径是指EFSM模型中某条测试序列的相关输入输出变量与软件源代码注入缺陷的相关输入输出变量相同个数最多,则认为该条测试序列是EFSM模型中的故障传播路径,在软件系统中,我们把故障传播看作是当某个实体因为内部或外部的因素导致其失效或故障时,因为实体间交互以及故障间的关系,导致了其它实体(组)的失效或故障。
目前,对故障传播存在两个不同维度的研究,软件演化维和软件运行维。软件系统在整个生命周期内逐步形成,并进行修改,故障亦然。软件演化维描述在生命周期中,对软件故障的传播进行建模和分析,故障从某一阶段引入后,在以后的开发阶段中,如何进行生长和扩散传播,涉及到软件的演化与进化论的相关理论,本发明主要关注的软件运行维研究故障传播问题。
在软件运行维的研究上,有研究者在源代码层面上进行研究,其中具有代表性的研究团队,即挪威科技大学生产和质量工程学院工程科学和技术系的Sizarta sarshar及同事,作者研究以计算机为基础的系统的安全性和可靠性知识相关技术和原理分析、设计、验证、实现、系统验证和维护。研究关注的核心问题是故障是如何从非关键程序传播到安全关键程序。在研究中,Sizarta sarshar创建了一种研究软件过程之间故障传播的方法,研究目的在于确定错误传播机制有一些可以在程序源代码中鉴别出来的特征。提出了一个使用失效模式和影响分析(FMEA)的分析方法,并应用于系统调用相关的共享内存。与分析软件系统功能的一般方法不同,其目的是当程序与这些服务进行交互时,识别出失效模式。该分析可以识别许多潜在的失效,其中一些失效可能会影响其他进程,导致错误传播。在代码中检验这些失效的特点,在此基础上开发一个原型工具证明这些失效可以在程序的源代码中检测出来。
而大部分研究者则将故障传播的研究定位在软件的体系结构层面,描述在软件体系结构中的传播,一个软件实体失效,与之有交互的另一实体是否会失效。
研究者对“故障演化为系统失效的机理”存在两种观点,一种观点认为故障演化为系统失效的过程主要受到系统体系结构的影响,即同样的故障在不同体系结构的软件系统中也会演化为不同类型或不同严重级别的系统失效。这种观点将故障与系统失效之间的因果关系建立在系统结构分析的基础上,因此这些学者将故障传播的研究重点集中在故障在体系结构内传播的规律上。
另一种认为不同类型的软件故障具有不同的特征,继而会演化为不同类型的系统失效,故障在软件内的传播是由故障之间存在关联关系引起的,这种观点将故障与系统失效之间的因果关系建立在故障特征基础上,因此这些学者将故障传播重点集中在对故障特性的研究上。故障特征研究也可以分为两类,一类是对某一故障类型特性的研究,例如硬件故障,数据故障等。另一类是故障间关系的研究,例如级联故障、关联缺陷和相关故障等。
基于现有技术方案中存在的“状态爆炸”和缺陷检出能力弱的问题,本说明书的实施例提供一种基于扩展有限状态机模型的测试用例生成方法,包括:
S301对基于需求生成的扩展有限状态机模型,建立独立路径覆盖准则;
首先,基于软件系统的需求,我们可以编程实现源程序P与构建软件系统的EFSM模型。针对EFSM模型,在模型迁移覆盖的基础上,考虑了迁移之间组合,定义并设计了EFSM模型的独立路径覆盖准则。相比于迁移覆盖,独立路径覆盖准则考虑了迁移之间的组合关系,增加了一定量的测试开销,但能较为有效的提高覆盖的强度,发现更多错误。相比于路径覆盖,有效地减少了冗余测试用例,在测试开销与覆盖强度之间取得了较好的平衡,提高测试的效率,缓解状态爆炸问题。
S302分别通过基于广度优先搜索算法的有限状态机模型序列生成方法和基于遗传算法的有限状态机模型测试序列生成方法,生成满足独立路径覆盖准则的测试序列集;
进一步地,在EFSM模型独立路径覆盖准则基础上,分别提出基于广度优先搜索算法的EFSM模型测试序列生成方法和基于遗传算法的EFSM模型测试序列生成方法,生成满足覆盖准则的测试序列集。方法在搜索时进行是否是独立路径与是否满足独立路径覆盖的判断,减少测试序列的冗余,提高测试效率。
S303通过故障注入,对有限状态机模型的故障传播路径进行建模;
针对缺陷检出能力差的问题,提出一种基于故障注入与多种群遗传算法的EFSM测试数据生成方法,通过故障注入与优先生成覆盖EFSM模型故障传播路径的测试数据的方式,激活并发现更多的缺陷,合理分配测试资源,提高测试的质量和效率。
S304满足所述故障传播路径的基础上,基于多种群遗传算法的扩展有限状态机模型测试数据生成方法,生成扩展有限状态机模型测试数据。
方法通过程序变异的方式对源程序进行故障注入,提出并定义EFSM模型的故障传播路径的概念,设计故障传播路径的建模方法。
在EFSM模型故障传播路径的基础上,提出一种基于遗传算法的EFSM模型测试数据生成方法。算法识别并优先生成覆盖独立路径集中的故障传播路径,直至满足独立路径覆盖或达到最大迭代次数。
作为一种实施方式,上述独立路径覆盖准则包括:给定一个EFSM模型的测试序列集A,用ξ表示A所有序列所包含的迁移集合,tpi表示第i条序列所包含的迁移,若任意属于A的测试序列Pi与Pj至少存在一条迁移的区别,即#(ran(Pi-Pj))>=1,A恰好覆盖EFSM模型中的所有迁移,即#(ξ-)>=1且#(ξ-)=0,且所有迁移至少组合一次,则称A为EFSM的独立路径覆盖准则;
其中,#表示集合长度操作符号,ran表示值域操作符号,n表示测试序列的数目。如:A=<P1,P2,P3,P1>,则ran A=<P1,P2,P3>,#A=3。
作为一种实施方式,基于广度优先搜索算法的有限状态机模型序列生成方法包括:
首先,定义独立路径如下:至少引入一个新迁移的测试序列定义为EFSM模型中独立路径。
设计了增加判断条件的广度优先搜索算法(Decision Bread First Search,D-BFS)为EFSM模型生成测试序列,算法的流程图如图4,包括:
A1初始化扩展有限状态机模型,输入起点Vs,终点Vd,将起点Vs的子节点加入至搜索队列中;
A2从队列中取出第一个节点,若队列不为空,转A3,否则转A6;
A3判断节点是否为终点,若是获取该路径,并转A4,否则转A5;
A4判断该路径是否为独立路径,若是添加至路径集S’,并转A5,否则删除该路径;
A5将该节点的子节点添加至搜索队列;
A6判断路径集S’是否满足独立路径覆盖,若是输出最终路径集S,否则转到A2。
D-BFS算法在广度优先搜索算法每扩大一步的搜索后,进行是否是独立路径与是否满足独立路径覆盖的判断。增加了判断条件的广度优先搜索算法在生成测试序列,依据覆盖情况判断是否需要进行下一次的搜索,直至生成满足独立路径覆盖的测试序列集合,在满足覆盖准则的同时,有效地减少了冗余迁移的数目。
作为一种实施方式,基于遗传算法的有限状态机模型序列生成方法包括:
在满足独立路径覆盖的测试序列集中,各个测试序列之间至少存在一条不同的迁移。遗传算法在迭代进化生成某条测试序列事,若该条测试序列所包含的迁移被当前生成的测试序列集中所有序列覆盖的次数越多,说明该条测试序列与测试序列集中已有的序列重合越多,该条路径不是独立路径的概率越大。因此。我们设计适应度函数为路径所包含的迁移被路径集中所有路径覆盖的次数,计算公式如下所示:
随机生成若干测试序列遗传算法的初始种群,种群中的个体为各条测试序列,编码采用二进制编码,0/1表示测试序列是否覆盖EFSM中的某条迁移,交叉、变异算子采取随机交叉和变异的策略。算法进化的结束条件为生成满足独立路径覆盖的测试序列集,或达到最大迭代次数。
则基于遗传算法的有限状态机模型测试序列生成方法如图5所示,包括:
B1扩展有限状态机模型,输入起点Vs,终点Vd,将广度优先搜索算法生成的所有路径作为遗传算法的初始种群;
B3对种群中的个体进行选择、交叉、变异,形成新的种群;
B4判断种群是否满足独立路径覆盖或达到最大迭代次数,若是输出最终结果,否则回到B3。
作为一种实施方式,故障传播路径的建模过程如下。用故障传播路径这一概念来描述缺陷演化的过程,故障传播路径本质上是缺陷之间关联关系与因果关系的体现,首先,给出如下定义。
故障传播路径:EFSM模型中某条路径中的输入输出与软件源代码中注入缺陷的输入输出相关程度最高,则认为该条路径是注入故障在EFSM模型中的故障传播路径。
测试序列相关的输入输出变量:EFSM模型测试序列中迁移条件所包含的变量。
与注入缺陷相关的输入输出变量:由变异语句得到的程序切片所包含的变量即为与注入缺陷相关的输入输出变量。
定义故障相关比值W来表示输入输出的相关程度。
故障相关比值是EFSM中路径相关的输入输出变量与注入缺陷相关的输入输出变量相同的个数占注入缺陷相关输入输出变量的比值。
故障相关比值计算公式如下所示,其中Ninput表示路径相关的输入变量与注入故障相关的输入变量相同的个数,Noutput表示路径相关的输出变量与注入故障相关的输出变量相同的个数,tnum表示与注入缺陷相关的输入输出变量的个数。K1,k2是修正系数。
举一个简单的例子来说明EFSM的故障传播路径以及与其相关的概念。假设一段程序如图6所示,对其进行程序变异,将第2行的if(a>=b)修改为if(a>b),通过程序切片技术,我们可以得到与注入故障相关的程序切片如图7所示,分析该切片中的变量,得到故障相关的输入输出变量为{a,b,e}。
同时,构建该段程序的EFSM模型,如图8所示。分析迁移条件中所包含的变量,EFSM模型中各路径的输出输出变量分别为,路径{S0,S1}的相关输入输出变量为{a,b,c,d},路径{S0,S2}的相关输入输出变量为{a,b,c,d},路径{S0,S3}的相关输入输出变量为{a,b,c,e}。
则故障传播路径的生成方法包括:
将故障相关比值最大的路径作为故障传播路径;
所述故障相关比值符合以下公式
作为一种实施方式,在满足独立路径覆盖的测试序列集与FSM模型故障传播路径的基础上,提出一种基于多种群遗传算法的EFSM模型测试数据生成方法。算法识别并优先生成覆盖故障传播路径的测试数据,直至满足独立路径覆盖或达到最大迭代次数。
多种群遗传算法的扩展有限状态机模型测试数据生成方法如图9所示,包括:
C1初始化EFSM模型/图,输入起点Vs,终点Vd,生成初始种群,初始种群由若干个子种群构成;
C2依据注入故障相关的输入输出,设计优先覆盖故障传播路径的适应度函数为fG(yi)=K1*f1(yi)+K2*f2(yi)+...+Ki*fz(yi),计算子种群中每个个体的适应度值,其中yi表示种群中的个体,z表示目标路径集中的所有路径,函数f(yi)采用分支函数来构造,分支函数的构造规则见分支函数构造规则表;
C3判断是否找到最优解或达到最大迭代次数,若是则输出结果,否则转入C4;
C4判断是否达到迁移间隔,若达到则依据迁移率和迁移策略进行子种群间个体的迁移,进入C5;
进行种群个体的选择、交叉与变异的遗传操作,生成新的种群,回到C2。
关于故障传播路径的识别,将与软件源代码中注入缺陷的输入输出相关程度最高的路径认为是EFSM模型中的故障传播路径,算法依据故障传播路径的建模方法对其进行识别,算法对EFSM模型中的故障传播路径进行识别的具体设计过程如下,算法分析源代码中与注入缺陷相关的输入输出列表,在算法中设计模型中路径的输入输出列表,各路径依据与缺陷输入输出列表的相关程度被赋予不同的比值。
改进算法依据故障相关比值识别可能的故障传播路径,故障相关比值计算公式如下所示。
对于优先覆盖故障传播路径设计,适应度函数用于评价生成测试用例的好坏并返回数值用于指导算法迭代。算法依据故障相关比值识别可能的故障传播路径,提出一种适应度计算方法,设计全局适应度函数指导算法优先生成覆盖故障传播路径的测试数据。
全局的适应度是指生成的测试用例对所有单一路径适应度值的总和乘以相关系数K,这些单一路径指的是目标路径集Z中的所有路径,它用于判断是否满足目标路径集的全覆盖,计算公式如下所示:
fG(yi)=K1*f1(yi)+K2*f2(yi)+...+Ki*fz(yi)。
相关系数K的计算公式如下所示,如果路径i的输入输出与注入缺陷的输入输出越相关,即W越大,Ki也就越大,相应的适应度函数也就越大,改进算法会优先生成覆盖该路径的测试用例。
其中yi表示种群中的个体,z表示目标路径集中的所有路径。
例如,第一次迭代开始,目标路径集Path={p1,p2,p3,p4},个体适应度为个体的全局适应度为fG(yi)=K1*f1(yi)+K2*f2(yi)+K3*f3(yi)+K4*f4(yi),经过若干次迭代后,算法找到了覆盖路径p3的测试用例,则全局适应度变为fG(yi)=K1*f1(yi)+K2*f2(yi)+K4*f4(yi),指导算法生成满足覆盖目标路径的测试用例。
全局适应度函数中的函数f(yi)采用分支函数来构造,常见的分支函数的构造规则如下表1所示。
表1
分支谓词可以转换为分支函数k(x)rel 0的形式。例如某个迁移需要a<b才能触发,此处a<b即分支谓词,若分支函数a-b<0,则谓词为真,该迁移可以触发,适应度达到1。但此时分支函数为负值,而适应度不应为负,因此将分支函数设定为0;反之若谓词为假,则分支函数必不为负,分支函数越大,适应度就越小。
本说明书实施例还提供一种一种基于扩展有限状态机模型的测试用例生成平台,包括:
准则设计模块,用于对基于需求生成的扩展有限状态机模型,定义并设计独立路径覆盖准则;
测试序列集生成模块,用于分别通过基于广度优先搜索算法的有限状态机模型序列生成方法和基于遗传算法的有限状态机模型测试序列生成方法,生成满足独立路径覆盖准则的测试序列集;
路径建模模块,用于通过故障注入,对有限状态机模型的故障传播路径进行建模;
测试数据生成模块,用于在满足所述故障传播路径的基础上,基于多种群遗传算法的扩展有限状态机模型测试数据生成方法,生成扩展有限状态机模型测试数据。
本说明书还设计和实现了一个自动化辅助平台原型,原型工具向用户提供了基于模型测试的解决方案。
原型工具设计包含六个模块:状态栏、项目管理器、工具箱、图形编辑区、属性设置区和测试用例区,各模块的功能如下表2所示。
表2
下面以空压机系统的测试用例自动生成为例进行说明。
空气增压机控制器(Air Compress Controller,ACC),主要完成电源的转换功能,即将机上的270V高压直流电源,采用无刷方式转换成方波或正弦波交流电源,用于驱动电机运转,从而带动空压机工作。
飞行器管理计算机(Vehicle Management Computer,VMC)发送启动空压机的指令(例如当起落架应急放情况下),通过远程接口单元(Remote Interface Unit,RIU)预处理,发送给ACC,ACC控制空气增压机工作(空压机给起落架输出氮气),ACC上传状态信息,通过RIU到VMC,最终在无人机控制站的显示器中显示相关状态信息。
(1)ACC软件EFSM模型构建
从状态分析的角度,以EFSM状态机的形式对ACC的工作流程与功能逻辑进行建模。通过对ACC软件的需求说明的分析,识别系统的状态和引起状态转换的事件和动作如下表3所示,其中事件是EFSM中的谓词条件,动作是迁移触发后的操作。
表3
在确定了ACC软件的状态、事件、动作、状态之间的转换以及引起状态转换的事件和动作后,构建ACC系统的EFSM模型,如图10所示。
在工具的项目管理器中创建新的状态机工程——ACC模型,通过拖拽工具箱中的建模元素的方式在建模区建立ACC的EFSM模型。点击建模区空白区域,添加变量,变量为模型的输入,通过在属性区右键添加变量,进行变量设计与测试用例生成参数的配置,如下表4所示。
表4
变量名 | 含义 |
power_on | 上电指令 |
T | 温度 |
P | 压强 |
motor_t | 电机温度 |
SOV_current | 电子阀电流 |
bus_current | 总线电流 |
bus_voltage | 总线电压 |
message_read | 消息读取指令 |
motor_enable | 电机上电指令 |
heater_current | 加热器电流 |
2_1flag | 二类故障指令 |
3_1flag | 三类故障指令 |
1flag | 一类故障指令 |
3_2flag | 二类转三类故障指令 |
按照系统实际业务逻辑,对模型中的状态、迁移和迁移条件进行设计,ACC的EFSM模型如图11所示。
原型工具识别并生成ACC EFSM模型满足独立路径覆盖的测试序列共5条,如下表5所示,这些测试序列集满足任意两条测试序列Pi与Pj至少存在一条迁移的区别,恰好覆盖EFSM模型中的所有迁移,且所有迁移至少组合一次。
表5
将与注入故障相关的变量作为输入,输入给工具,此案例中我们设计与注入故障相关的变量为[SOV_current,1flag]。
依据本研究提出的故障传播路径建模方法,路径P2[开始→上电BIT→上电成功→信息读取发送→正常工作→一类故障模式]将被识别为EFSM模型中可能的故障传播路径。
在项目管理中选定状态机右键选择生成测试用例,生成模型的测试用例集,共生成的测试用例5个。生成的测试用例主要包括用例ID、测试输入、输入值。工具生成满足独立路径覆盖的测试用例集,并优先生成覆盖故障传播路径P2的测试用例。
作为一种实施方式,本说明书实施例提供的方法如图12所示,(1)针对EFSM模型,在迁移覆盖的基础上,考虑了迁移之间组合,定义并设计了EFSM模型的独立路径覆盖准则。相比于迁移覆盖,独立路径覆盖准则考虑了迁移之间的组合关系,增加了一定量的测试开销,但能较为有效的提高覆盖的强度,发现更多错误。相比于路径覆盖,有效地减少了冗余测试用例,在测试开销与覆盖强度之间取得了较好的平衡,提高测试的效率,缓解状态爆炸问题。(2)在EFSM模型独立路径覆盖准则基础上,分别提出基于广度优先搜索算法的EFSM模型测试序列生成方法和基于遗传算法的EFSM模型测试序列生成方法,生成满足覆盖准则的测试序列集。方法在搜索时进行是否是独立路径与是否满足独立路径覆盖的判断,减少测试序列的冗余,提高测试效率。(3)通过故障注入与优先生成覆盖EFSM模型故障传播路径的测试数据的方式,激活并发现更多的缺陷,合理分配测试资源,提高测试的质量和效率。方法通过程序变异的方式对源程序进行故障注入,提出并定义EFSM模型的故障传播路径的概念,设计故障传播路径的建模方法。在EFSM模型故障传播路径的基础上,提出一种基于遗传算法的EFSM模型测试数据生成方法。算法识别并优先生成覆盖独立路径集中的故障传播路径,直至满足独立路径覆盖或达到最大迭代次数。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (7)
1.一种基于扩展有限状态机模型的测试用例生成方法,其特征在于,包括:
对基于需求生成的扩展有限状态机模型,定义并设计独立路径覆盖准则;
分别通过基于广度优先搜索算法的有限状态机模型序列生成方法和基于遗传算法的有限状态机模型测试序列生成方法,生成满足独立路径覆盖准则的测试序列集;
通过故障注入,对有限状态机模型的故障传播路径进行建模;
满足所述故障传播路径的基础上,基于多种群遗传算法的扩展有限状态机模型测试数据生成方法,生成扩展有限状态机模型测试数据。
3.根据权利要求1所述的基于扩展有限状态机模型的测试用例生成方法,其特征在于,所述基于广度优先搜索算法的有限状态机模型序列生成方法包括:
至少引入一个新迁移的测试定义序列为扩展有限状态机模型中独立路径;
通过增加判断条件的广度优先搜索算法为扩展有限状态机模型生成测试序列,所述广度优先搜索算法包括,
A1初始化扩展有限状态机模型,输入起点Vs,终点Vd,将起点Vs的子节点加入至搜索队列中;
A2从队列中取出第一个节点,若队列不为空,转A3,否则转A6;
A3判断节点是否为终点,若是获取该路径,并转A4,否则转A5;
A4判断该路径是否为独立路径,若是添加至路径集S’,并转A5,否则删除该路径;
A5将该节点的子节点添加至搜索队列;
A6判断路径集S’是否满足独立路径覆盖,若是输出最终路径集S,否则转到A2。
6.根据权利要求5所述的基于扩展有限状态机模型的测试用例生成方法,其特征在于,所述多种群遗传算法的扩展有限状态机模型测试数据生成方法包括:
C1初始化EFSM模型/图,输入起点Vs,终点Vd,生成初始种群,初始种群由若干个子种群构成;
C2依据注入故障相关的输入输出,设计优先覆盖故障传播路径的适应度函数为fG(yi)=K1*f1(yi)+K2*f2(yi)+...+Ki*fz(yi),计算子种群中每个个体的适应度值,其中,Wi为第i个序列的故障相关比值,yi表示种群中的个体,z表示目标路径集中的所有路径,函数f(yi)采用分支函数来构造;
C3判断是否找到最优解或达到最大迭代次数,若是则输出结果,否则转入C4;
C4判断是否达到迁移间隔,若达到则依据迁移率和迁移策略进行子种群间个体的迁移,进入C5;
进行种群个体的选择、交叉与变异的遗传操作,生成新的种群,回到C2。
7.一种基于扩展有限状态机模型的测试用例生成平台,其特征在于,包括:
准则设计模块,用于对基于需求生成的扩展有限状态机模型,定义并设计独立路径覆盖准则;
测试序列集生成模块,用于分别通过基于广度优先搜索算法的有限状态机模型序列生成方法和基于遗传算法的有限状态机模型测试序列生成方法,生成满足独立路径覆盖准则的测试序列集;
路径建模模块,用于通过故障注入,对有限状态机模型的故障传播路径进行建模;
测试数据生成模块,用于在满足所述故障传播路径的基础上,基于多种群遗传算法的扩展有限状态机模型测试数据生成方法,生成扩展有限状态机模型测试数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110282059.4A CN113157562A (zh) | 2021-03-16 | 2021-03-16 | 一种基于扩展有限状态机模型的测试用例生成方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110282059.4A CN113157562A (zh) | 2021-03-16 | 2021-03-16 | 一种基于扩展有限状态机模型的测试用例生成方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113157562A true CN113157562A (zh) | 2021-07-23 |
Family
ID=76887283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110282059.4A Pending CN113157562A (zh) | 2021-03-16 | 2021-03-16 | 一种基于扩展有限状态机模型的测试用例生成方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157562A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806232A (zh) * | 2021-10-08 | 2021-12-17 | 中国航空综合技术研究所 | 基于模型的嵌入式软件测试用例生成模型 |
CN114385481A (zh) * | 2021-11-30 | 2022-04-22 | 之江实验室 | 一种基于有界模型检验进行时延测试的软件自测试方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080215925A1 (en) * | 2007-03-02 | 2008-09-04 | International Business Machines Corporation | Distributed fault injection mechanism |
US20080255682A1 (en) * | 2007-04-13 | 2008-10-16 | Siemens Corporate Research, Inc. | Online Fault Detection and Avoidance Framework for Distributed Factory Control Systems |
CN104503420A (zh) * | 2014-09-19 | 2015-04-08 | 北京化工大学 | 一种基于新型fde-elm和时延efsm的非线性过程工业故障预测方法 |
US20180095861A1 (en) * | 2016-09-30 | 2018-04-05 | Georgios Fainekos | Automated Test Generation for Structural Coverage for Temporal Logic Falsification of Cyber-Physical Systems |
CN109408975A (zh) * | 2018-10-30 | 2019-03-01 | 北京航空航天大学 | 基于有限状态机理论的卫星软错误传播过程建模与仿真方法 |
CN109492256A (zh) * | 2018-10-15 | 2019-03-19 | 华南理工大学 | 一种动态系统状态概率映射矩阵多向搜索方法 |
CN109582558A (zh) * | 2018-09-06 | 2019-04-05 | 杭州电子科技大学 | 一种基于efsm模型的最小成本测试用例生成方法 |
CN109885500A (zh) * | 2019-02-27 | 2019-06-14 | 苏州浪潮智能科技有限公司 | 一种提高软件测试覆盖率的方法和系统 |
CN110083531A (zh) * | 2019-04-12 | 2019-08-02 | 江西财经大学 | 改进个体信息共享的多目标路径覆盖测试方法及实现系统 |
CN111448553A (zh) * | 2017-12-08 | 2020-07-24 | 华为技术有限公司 | 故障注入系统和故障注入方法 |
-
2021
- 2021-03-16 CN CN202110282059.4A patent/CN113157562A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080215925A1 (en) * | 2007-03-02 | 2008-09-04 | International Business Machines Corporation | Distributed fault injection mechanism |
US20080255682A1 (en) * | 2007-04-13 | 2008-10-16 | Siemens Corporate Research, Inc. | Online Fault Detection and Avoidance Framework for Distributed Factory Control Systems |
CN104503420A (zh) * | 2014-09-19 | 2015-04-08 | 北京化工大学 | 一种基于新型fde-elm和时延efsm的非线性过程工业故障预测方法 |
US20180095861A1 (en) * | 2016-09-30 | 2018-04-05 | Georgios Fainekos | Automated Test Generation for Structural Coverage for Temporal Logic Falsification of Cyber-Physical Systems |
CN111448553A (zh) * | 2017-12-08 | 2020-07-24 | 华为技术有限公司 | 故障注入系统和故障注入方法 |
CN109582558A (zh) * | 2018-09-06 | 2019-04-05 | 杭州电子科技大学 | 一种基于efsm模型的最小成本测试用例生成方法 |
CN109492256A (zh) * | 2018-10-15 | 2019-03-19 | 华南理工大学 | 一种动态系统状态概率映射矩阵多向搜索方法 |
CN109408975A (zh) * | 2018-10-30 | 2019-03-01 | 北京航空航天大学 | 基于有限状态机理论的卫星软错误传播过程建模与仿真方法 |
CN109885500A (zh) * | 2019-02-27 | 2019-06-14 | 苏州浪潮智能科技有限公司 | 一种提高软件测试覆盖率的方法和系统 |
CN110083531A (zh) * | 2019-04-12 | 2019-08-02 | 江西财经大学 | 改进个体信息共享的多目标路径覆盖测试方法及实现系统 |
Non-Patent Citations (3)
Title |
---|
CAO, ZHIQIN等: "EFSM Test Data Generation Based on Fault Propagation and Multi-Population Genetic Algorithm", IEEE/EFSM TEST DATA GENERATION BASED ON FAULT PROPAGATION AND MULTI-POPULATION GENETIC ALGORITHM, 26 January 2021 (2021-01-26), pages 240 - 245 * |
周小飞等: "基于多种群遗传算法的可扩展有限有限状态机测试数据生成", CNKI/基于多种群遗传算法的可扩展有限有限状态机测试数据生成, no. 8, 15 August 2015 (2015-08-15), pages 12 * |
鲁巍;吕涛;杨修涛;李晓维;: "RTL可观测性语句覆盖评估方法", 计算机辅助设计与图形学学报, no. 01, 20 January 2006 (2006-01-20) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806232A (zh) * | 2021-10-08 | 2021-12-17 | 中国航空综合技术研究所 | 基于模型的嵌入式软件测试用例生成模型 |
CN113806232B (zh) * | 2021-10-08 | 2023-05-09 | 中国航空综合技术研究所 | 基于模型的嵌入式软件测试用例生成模型 |
CN114385481A (zh) * | 2021-11-30 | 2022-04-22 | 之江实验室 | 一种基于有界模型检验进行时延测试的软件自测试方法 |
CN114385481B (zh) * | 2021-11-30 | 2024-05-14 | 之江实验室 | 一种基于有界模型检验进行时延测试的软件自测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nuzzo et al. | A contract-based methodology for aircraft electric power system design | |
Kasenberg et al. | Interpretable apprenticeship learning with temporal logic specifications | |
US20070225948A1 (en) | It-System Design Supporting System and Design Supporting Method | |
CN113157562A (zh) | 一种基于扩展有限状态机模型的测试用例生成方法及平台 | |
CN112487592B (zh) | 基于贝叶斯网络的任务可靠性建模分析方法 | |
Horváth et al. | Dynamic constraint satisfaction problems over models | |
CN114139475A (zh) | 芯片验证方法、系统、设备及存储介质 | |
Niloofar et al. | Fusion of data and expert knowledge for fault tree reliability analysis of cyber-physical systems | |
CN102799960B (zh) | 面向数据模型的并行业务流程异常检测方法 | |
Li et al. | Controller optimization using data-driven constrained bat algorithm with gradient-based depth-first search strategy | |
CN117909864A (zh) | 一种电力故障预测系统及方法 | |
Cornford et al. | Optimizing Spacecraft Design-Optimization Engine Development: Progress and Plans | |
CN116482978A (zh) | 面向云原生集群智能运维的自适应控制方法及装置 | |
CN114238084B (zh) | 基于SysML的嵌入式软件安全性分析方法及其分析系统 | |
Kretinsky et al. | Finite-memory near-optimal learning for Markov decision processes with long-run average reward | |
Kumar et al. | Optimization of binary decision diagram using genetic algorithm | |
Tierno et al. | Symbolic encoding of reliability for the design of redundant architectures | |
US11586531B2 (en) | Generating test input values for functional components based on test coverage analysis | |
Moradi et al. | Machine learning-assisted fault injection | |
Hou et al. | Attributes based bayesian unknown hazards assessment for digital twin empowered autonomous driving | |
Ebrahimi et al. | Modelling and analysis of product platforms and assembly sequences with respect to variability | |
CN114253853A (zh) | 一种基于网络谱的软件故障定位方法 | |
CN113485940A (zh) | 一种基于参数抽象建模的组合测试用例生成方法 | |
Panigrahi et al. | Spider monkey particle swarm optimization (SMPSO) with coverage criteria for optimal test case generation in object-oriented systems | |
Dhouibi et al. | Safety driven optimization approach for automotive systems |
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 |