CN108959091B - 一种支持约束的事件序列故障定位方法 - Google Patents

一种支持约束的事件序列故障定位方法 Download PDF

Info

Publication number
CN108959091B
CN108959091B CN201810739291.4A CN201810739291A CN108959091B CN 108959091 B CN108959091 B CN 108959091B CN 201810739291 A CN201810739291 A CN 201810739291A CN 108959091 B CN108959091 B CN 108959091B
Authority
CN
China
Prior art keywords
event
interaction
test case
sequence
tested
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
CN201810739291.4A
Other languages
English (en)
Other versions
CN108959091A (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201810739291.4A priority Critical patent/CN108959091B/zh
Publication of CN108959091A publication Critical patent/CN108959091A/zh
Application granted granted Critical
Publication of CN108959091B publication Critical patent/CN108959091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

一种支持约束的事件序列故障定位方法,它用于软件测试技术领域。本发明解决了传统的软件事件序列故障定位方法存在的未考虑事件序列之间的约束限制对故障定位的影响的问题。本发明获得待测系统的非确定事件交互集N,计算非确定事件交互集N中每个非确定事件交互的错误概率,按照错误概率由大到小的顺序依次执行集合N中每个事件交互,以确定出集合Γ中包含的极小错误事件交互,完成待测系统的事件序列故障定位;与传统的事件序列故障定位方法相比,本发明的故障定位方法考虑了事件序列之间的约束限制对故障定位的影响,克服了现有技术的局限。本发明可以应用于软件测试技术领域用。

Description

一种支持约束的事件序列故障定位方法
技术领域
本发明属于软件测试技术领域,具体涉及一种支持约束的事件序列故障定位方法。
背景技术
软件测试发现了故障后,开发人员需要找出引起故障的原因所在,即进行软件故障定位,然后通过故障定位的结果,开发人员就可以深入到代码内部进行故障修复,因此软件测试对软件开发有着重要的意义。
在软件测试的过程中,通常假设各事件序列是互不影响的,但在实际软件系统中,普遍存在事件序列之间的约束现象,这将导致某些事件序列的输入顺序没有意义甚至无效,而传统的软件事件序列故障定位方法研究要么基于软件的内部结构信息,要么基于软件重新运行,并没有考虑事件序列之间的约束限制对故障定位的影响。
发明内容
本发明的目的是为解决传统的软件事件序列故障定位方法存在的未考虑事件序列之间的约束限制对故障定位的影响的问题。
本发明为解决上述技术问题采取的技术方案是:
一种支持约束的事件序列故障定位方法,该方法的具体步骤为:
步骤一、对于一个具有n个事件的待测系统,初始化待测系统的正确事件序列测试用例组成的集合M1为空集、初始化待测系统的错误事件序列测试用例组成的M2为空集;
定义集合N1和集合N2分别为集合M1和集合M2所覆盖的全部t维相邻事件交互,定义N=N2-N1,初始化待测系统的集合N为空集,初始化待测系统的全部极小错误事件交互所组成的集合Γ为空集;设置最大迭代次数为m;
执行测试待测系统的全部事件序列测试用例,生成待测系统的非确定事件交互集N;
步骤二、计算步骤一的非确定事件交互集N中每个非确定事件交互的错误概率,选取出非确定事件交互集N中错误概率最大的事件交互S;
步骤三、对步骤二选取的事件交互S进行测试,生成一组附加测试用例;
步骤四、计算步骤三中每条附加测试用例的适应值,来判断是否存在最佳附加测试用例,若存在最佳附加测试用例,则利用最佳附加测试用例判断事件交互S是否为待测系统的一个极小错误交互;
若不存在最佳附加测试用例,则按照适应值由大到小的顺序依次执行每条附加测试用例,来判断事件交互S是否为待测系统的一个极小错误交互;
步骤五、选取步骤二中错误概率次大的非确定事件交互S1,重复执行步骤三至步骤四的过程,直至非确定事件交互集N中所有事件交互测试完成,确定出集合Γ中包含的全部极小错误事件交互,完成待测系统的事件序列故障定位。
本发明的有益效果是:本发明提供了一种支持约束的事件序列故障定位方法,本发明获得待测系统的非确定事件交互集N,计算非确定事件交互集N中每个非确定事件交互的错误概率,按照错误概率由大到小的顺序依次执行集合N中每个事件交互,以确定出集合Γ中包含的极小错误事件交互,完成待测系统的事件序列故障定位;与传统的事件序列故障定位方法相比,本发明的故障定位方法考虑了事件序列之间的约束限制对故障定位的影响,克服了现有技术的局限。
本发明的方法对软件系统的事件序列故障定位起到很好的作用。
附图说明
图1为本发明所述的一种支持约束的事件序列故障定位方法的流程图;
具体实施方式
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
具体实施方式一:结合图1说明本实施方式。本实施方式所述的一种支持约束的事件序列故障定位方法,该方法的具体步骤为:
步骤一、对于一个具有n个事件的待测系统,初始化待测系统的正确事件序列测试用例组成的集合M1为空集、初始化待测系统的错误事件序列测试用例组成的M2为空集;
定义集合N1和集合N2分别为集合M1和集合M2所覆盖的全部t维相邻事件交互,定义N=N2-N1,初始化待测系统的集合N为空集,初始化待测系统的全部极小错误事件交互所组成的集合Γ为空集;设置最大迭代次数为m;
执行测试待测系统的全部事件序列测试用例,生成待测系统的非确定事件交互集N;
步骤二、计算步骤一的非确定事件交互集N中每个非确定事件交互的错误概率,选取出非确定事件交互集N中错误概率最大的事件交互S;
步骤三、对步骤二选取的事件交互S进行测试,生成一组附加测试用例;
步骤四、计算步骤三中每条附加测试用例的适应值,来判断是否存在最佳附加测试用例,若存在最佳附加测试用例,则利用最佳附加测试用例判断事件交互S是否为待测系统的一个极小错误交互;
若不存在最佳附加测试用例,则按照适应值由大到小的顺序依次执行每条附加测试用例,来判断事件交互S是否为待测系统的一个极小错误交互;
步骤五、选取步骤二中错误概率次大的非确定事件交互S1,重复执行步骤三至步骤四的过程,直至非确定事件交互集N中所有事件交互测试完成,确定出集合Γ中包含的全部极小错误事件交互,完成待测系统的事件序列故障定位。
定义1(事件交互,事件集):设一个有序序列S=s1→s2→…→st,其中,各因素si(i=1,2,…,t)互不相同,且
Figure BDA0001722822590000031
则称这个事件序列S为一个t维事件交互,称集合Es={s1,s2,....st}为序列S对应的事件集。
定义2(互补事件集):对于某一t维事件交互S,假设集合Rs={r1,r2,…,rn-t},满足Rs=K-Es,即集合Rs中的各因素ri(i=1,2,…,n-t)互不相同,且
Figure BDA0001722822590000032
ri与事件集Es中的任意事件都不重合,则称集合Rs为事件交互S对应的互补事件集。
定义3(测试序列):设n维事件序列T=t1→t2→…→tn其中,ti∈K,(i=1,2,…,n),则称这个n维事件序列为该系统的一条测试序列,也称为一条事件序列测试用例。
给定t维事件交互S与错误事件交互集Γ,若存在覆盖这个事件交互S的一条事件序列测试用例T避开了Γ中除S之外的全部错误事件交互,则称这个t维事件交互S关于Γ是可定位的,并称此测试用例T定位了事件交互S,若测试用例T通过测试,则事件交互S不为极小错误事件交互,若测试用例T未通过测试,则事件交互S为待测系统的一个极小错误事件交互。
具体实施方式二:本实施方式对实施方式一所述的一种支持约束的事件序列故障定位方法进行进一步的限定,所述待测系统的全部极小错误事件交互所组成的集合Γ为:若存在某一事件交互S0,使得对于待测系统中任意事件序列测试用例T,要满足
Figure BDA0001722822590000033
即要满足事件序列测试用例T覆盖S0,必满足T触发待测系统故障,则称S0为该待测系统的一个错误事件交互;若对于错误事件交互S0,其覆盖的任意事件交互均不是错误交互,则称S0为待测系统的一个极小错误事件交互;待测系统的全部极小错误事件交互所组成的集合记为集合Γ。
具体实施方式三:本实施方式对实施方式二所述的一种支持约束的事件序列故障定位方法进行进一步的限定,本实施方式中的所述步骤一中生成非确定事件交互集N的具体过程为:
对于待测系统的任意一条事件序列测试用例,若该事件序列测试用例通过测试,则该事件序列测试用例为正确事件序列测试用例,并将其加入集合M1,同时将该事件序列测试用例覆盖的全部事件交互加入集合N1,若该事件序列测试用例未通过测试,则该事件序列测试用例为错误事件序列测试用例,并将其加入集合M2,同时将其覆盖的事件交互加入集合N2;那么,待测系统的全部事件序列测试用例对应的非确定事件交互组成的非确定事件交互集为N=N2-N1。
计算集合N=N2-N1,那么集合N包含了所有可能引发软件故障的事件交互。测试过程中通过对集合N中每一条事件交互逐个进行分析,分析过程中就会生成一组新的用于定位该事件交互的序列,对这些新的序列进行测试,如果这组新的事件序列中存在一条序列没有使软件产生错误,则可以排除该事件对系统的影响。
具体实施方式四:本实施方式对实施方式三所述的一种支持约束的事件序列故障定位方法进行进一步的限定,本实施方式中的步骤二的具体过程为:
对于非确定事件交互集N中的t维事件交互S′,t维事件交互S′中的事件序列为s1、s2、…、st,t维事件交互S′的错误概率定义为:在待测系统的全部错误事件序列测试用例中,覆盖t维事件交互S′的事件序列测试用例占全部错误事件序列测试用例数目的比值;
t维事件交互S′中的事件序列为s1、s2、…、st:是指t维事件交互S′中事件的顺序从前往后依次为s1、s2、…、st
设待测系统的全部错误事件序列测试用例的集合为M,且
Figure BDA0001722822590000041
对于非确定事件交互集N中的任意t维事件交互S′,t维事件交互S′的错误概率q(K)为:
Figure BDA0001722822590000042
其中:T为集合M中覆盖t维事件交互S′的测试用例,|M|为测试用例集M中测试用例的个数;
计算出非确定事件交互集N中每个事件交互的错误概率,并选取出非确定事件交互集N中错误概率最大的事件交互S。
具体实施方式五:本实施方式对实施方式四所述的一种支持约束的事件序列故障定位方法进行进一步的限定,本实施方式所述步骤三的具体过程为:
步骤三一、对步骤二选取的t维非确定事件交互S,获取该非确定事件交互S的互补事件集Rs,其中:r1,r2,…,rn-t为互补事件集Rs中的事件;
步骤三二、根据事件交互集N1,对互补事件集Rs中包含的事件进行排列,获得该非确定事件交互S对应的互补事件序列I;
构造互补事件序列I的具体过程为:若互补事件集Rs中的事件分别为r1,r2,…,rn-t,假设交互力度为2,则可以将r3插入r1之前、r1和r2之间或r3之后,同理,r4可以遍历r1、r2和r3之间的任何一个位置,直至互补事件集Rs中的所有事件插入完成,即完成互补事件集Rs中的事件的排序,根据已知的待测系统的约束集,即可避免约束的确定出互补事件集Rs中事件形成的排序;
步骤三三、将非确定事件交互S插入互补事件序列I中的某一个位置构成事件序列Q;
步骤三四、执行事件序列Q,判断事件序列Q是否构成约束;
步骤三五、若事件序列Q不构成约束,则将事件序列Q作为附加测试用例;若事件序列Q构成约束,则判断S是否遍历I中的全部位置;
步骤三六、若S已遍历I中的全部位置,则获得附加测试用例完毕;
若S未遍历I中的全部位置,则将S插入I中未遍历过的位置,获得新的事件序列Q’,重复执行步骤三四和步骤三五的过程,直至S遍历完I中全部位置,获得附加测试用例完毕。
获得附加测试用例的最理想的情况就是获得这样一条事件序列测试用例,使其满足覆盖的事件交互中包含该非确定事件交互,且件序列测试用例中其他事件交互均已被证明正确,那么如果该事件序列执行结果正确,则可以确定该非确定事件交互为正确的,否则,则该排列为故障交互。
本实施方式根据已知的待测系统的约束集来判断事件序列Q是否构成约束,待测系统的约束集是系统开发人员根据实际情况,在开发时已经确定好的。
具体实施方式六:本实施方式对实施方式五所述的一种支持约束的事件序列故障定位方法进行进一步的限定,本实施方式所述步骤四的具体过程为:
步骤四一、计算步骤三中每一条附加测试用例的适应值;
适应值的计算方法为:假设任意一条附加测试用例T所覆盖的全部t维事件交互所组成的集合为HT,t,待测系统当前已知正确的全部t维事件交互所组成的集合为Q,则该附加测试用例T的适应值p(T)为:
p(T)=|{HT,t∩Q}|
其中:HT,t∩Q代表的是集合HT,t和集合Q取交集,|{HT,t∩Q}|代表的是集合HT,t和集合Q的交集中事件交互的个数;
由适应值的定义可知,适应值越大,则该测试数据出现故障的可能性越小,越有利于检测某一t维事件交互是否为故障的可能。对于t维相邻事件序列的定位,如果覆盖非确定事件交互的某一附加测试用例的适应值为n-t,其中n为影响待测系统事件的数目,那么该测试数据就是一条最佳用例。例如测试用例B→A→C→D,共覆盖B→A、A→C、C→D三个相邻事件交互,如果根据已有测试数据执行结果知道B→A、A→C是正确的,而C→D执行结果未知,那么该事件序列的适应值即为2,也就是非确定事件C→D对应的最佳用例。如果该测试用例执行正确,则排除C→D为故障的可能,反之,C→D则为错误事件交互。
判断是否存在适应值为n-t的附加测试用例;附加测试用例的适应值n-t即为一个数值;
步骤四二、若存在适应值为n-t的附加测试用例,则将适应值为n-t的附加测试用例作为最佳附加测试用例,执行该最佳附加测试用例;若该最佳附加测试用例通过测试,则事件交互S为正确序列,利用该最佳附加测试用例更新集合M1,利用事件交互S更新集合N1,将事件交互S从集合N中移除;若该最佳附加测试用例未通过测试,则事件交互S为错误序列,将其加入集合Γ;将事件交互S从集合N中移除;
步骤四三、若不存在最佳附加测试用例,则将全部附加测试用例按照适应值由大到小的顺序依次执行;
若执行时某一条附加测试用例通过测试,立即结束对事件交互S的测试,排除该附加测试用例为故障的可能,并利用这条附加测试用例更新集合M1,利用事件交互S更新集合N1,将事件交互S从集合N中移除;若全部附加测试用例均未通过测试,则判断是否达到最大迭代数;
步骤四四、若步骤四三中判断结果为达到最大迭代数,则认为事件交互S触发待测系统故障,将事件交互S加入集合Γ,结束对事件交互S的测试;
若未达到最大迭代数,则重复执行步骤三二至步骤四四的过程,直至确定出事件交互S是否触发待测系统故障,若触发待测系统故障,则将事件交互S加入集合Γ,将事件交互S从集合N中移除,利用事件交互S更新集合N1,结束对事件交互S的测试。
实施例
为说明本发明方法的故障定位性能,本节选取几个不同规模的典型系统进行实验,得到各系统在固定故障数目的情况下支持的最大确定约束数,以及在具体约束数目下为实现准确定位所需要执行的附加测试用例数目,并于无约束条件下进行比较,得到实验结果如表1所示。
Figure BDA0001722822590000071
从表中可以看出,随着系统规模的不断变大,支持定位的最大确定约束数目不断增加;同一系统中,在支持故障定位的前提下,随着约束数目的增加,完成定位所需的附加测试用例数目也不断增加,且均比无约束情况下测试用例数目大。前者是因为,系统测试所需要的事件交互数目随事件个数的增加呈指数增长,在故障数目一定的条件下,非确定事件交互集规模相对较小,可以利用的正确事件交互集规模较大,更容易获得适应值高的附加用例,因此支持的约束数目增加。后者是由于约束的存在导致可以加以利用的正确事件交互数目减少,不利于获取最佳用例,因此相比无约束情况,所需附加测试用例更多;同时,约束数目的增多进一步增加了构造有效互补事件序列的难度,为完成故障定位就会增加迭代数目,相应的附加测试用例数目随之增大。

Claims (6)

1.一种支持约束的事件序列故障定位方法,其特征在于,该方法的具体步骤为:
步骤一、对于一个具有n个事件的待测系统,初始化待测系统的正确事件序列测试用例组成的集合M1为空集、初始化待测系统的错误事件序列测试用例组成的M2为空集;
定义集合N1和集合N2分别为集合M1和集合M2所覆盖的全部t维相邻事件交互,定义N=N2-N1,初始化待测系统的集合N为空集,初始化待测系统的全部极小错误事件交互所组成的集合Γ为空集;设置最大迭代次数为m;
执行测试待测系统的全部事件序列测试用例,生成待测系统的非确定事件交互集N;
步骤二、计算步骤一的非确定事件交互集N中每个非确定事件交互的错误概率,选取出非确定事件交互集N中错误概率最大的事件交互S;
步骤三、对步骤二选取的事件交互S进行测试,生成一组附加测试用例;
步骤四、计算步骤三中每条附加测试用例的适应值,来判断是否存在最佳附加测试用例,若存在最佳附加测试用例,则利用最佳附加测试用例判断事件交互S是否为待测系统的一个极小错误交互;
若不存在最佳附加测试用例,则按照适应值由大到小的顺序依次执行每条附加测试用例,来判断事件交互S是否为待测系统的一个极小错误交互;
步骤五、选取步骤二中错误概率次大的非确定事件交互S1,重复执行步骤三至步骤四的过程,直至非确定事件交互集N中所有事件交互测试完成,确定出集合Γ中包含的全部极小错误事件交互,完成待测系统的事件序列故障定位。
2.根据权利要求1所述的一种支持约束的事件序列故障定位方法,其特征在于,待测系统的全部极小错误事件交互所组成的集合Γ为:
若存在某一事件交互S0,使得对于待测系统中任意事件序列测试用例T,要满足
Figure FDA0001722822580000011
即要满足事件序列测试用例T覆盖S0,必满足T触发待测系统故障,则称S0为该待测系统的一个错误事件交互;若对于错误事件交互S0,其覆盖的任意事件交互均不是错误交互,则称S0为待测系统的一个极小错误事件交互;待测系统的全部极小错误事件交互所组成的集合记为集合Γ。
3.根据权利要求2所述的一种支持约束的事件序列故障定位方法,其特征在于,所述步骤一中生成非确定事件交互集N的具体过程为:
对于待测系统的任意一条事件序列测试用例,若该事件序列测试用例通过测试,则该事件序列测试用例为正确事件序列测试用例,并将其加入集合M1,同时将该事件序列测试用例覆盖的全部事件交互加入集合N1,若该事件序列测试用例未通过测试,则该事件序列测试用例为错误事件序列测试用例,并将其加入集合M2,同时将其覆盖的事件交互加入集合N2;那么,待测系统的全部事件序列测试用例对应的非确定事件交互组成的非确定事件交互集为N=N2-N1。
4.根据权利要求3所述的一种支持约束的事件序列故障定位方法,其特征在于,所述步骤二的具体过程为:
对于非确定事件交互集N中的t维事件交互S′,t维事件交互S′中的事件序列为s1、s2、…、st,t维事件交互S′的错误概率定义为:在待测系统的全部错误事件序列测试用例中,覆盖t维事件交互S′的事件序列测试用例占全部错误事件序列测试用例数目的比值;
设待测系统的全部错误事件序列测试用例的集合为M,且
Figure FDA0001722822580000021
对于非确定事件交互集N中的任意t维事件交互S′,t维事件交互S′的错误概率q(K)为:
Figure FDA0001722822580000022
其中:T为集合M中覆盖t维事件交互S′的测试用例,|M|为测试用例集M中测试用例的个数;
计算出非确定事件交互集N中每个事件交互的错误概率,并选取出非确定事件交互集N中错误概率最大的事件交互S。
5.根据权利要求4所述的一种支持约束的事件序列故障定位方法,其特征在于,所述步骤三的具体过程为:
步骤三一、对步骤二选取的t维非确定事件交互S,获取该非确定事件交互S的互补事件集Rs,其中:r1,r2,…,rn-t为互补事件集Rs中的事件;
步骤三二、根据事件交互集N1,对互补事件集Rs中包含的事件进行排列,获得该非确定事件交互S对应的互补事件序列I;
步骤三三、将非确定事件交互S插入互补事件序列I中的某一个位置构成事件序列Q;
步骤三四、执行事件序列Q,判断事件序列Q是否构成约束;
步骤三五、若事件序列Q不构成约束,则将事件序列Q作为附加测试用例;若事件序列Q构成约束,则判断S是否遍历I中的全部位置;
步骤三六、若S已遍历I中的全部位置,则获得附加测试用例完毕;
若S未遍历I中的全部位置,则将S插入I中未遍历过的位置,获得新的事件序列Q’,重复执行步骤三四和步骤三五的过程,直至S遍历完I中全部位置,获得附加测试用例完毕。
6.根据权利要求5所述的一种支持约束的事件序列故障定位方法,其特征在于,所述步骤四的具体过程为:
步骤四一、计算步骤三中每一条附加测试用例的适应值;
适应值的计算方法为:假设任意一条附加测试用例T所覆盖的全部t维事件交互所组成的集合为HT,t,待测系统当前已知正确的全部t维事件交互所组成的集合为Q,则该附加测试用例T的适应值p(T)为:
p(T)=|{HT,t∩Q}|
其中:HT,t∩Q代表的是集合HT,t和集合Q取交集,|{HT,t∩Q}|代表的是集合HT,t和集合Q的交集中事件交互的个数;
判断是否存在适应值为n-t的附加测试用例;
步骤四二、若存在适应值为n-t的附加测试用例,则将适应值为n-t的附加测试用例作为最佳附加测试用例,执行该最佳附加测试用例;若该最佳附加测试用例通过测试,则事件交互S为正确序列,利用该最佳附加测试用例更新集合M1,利用事件交互S更新集合N1,将事件交互S从集合N中移除;若该最佳附加测试用例未通过测试,则事件交互S为错误序列,将其加入集合Γ;将事件交互S从集合N中移除;
步骤四三、若不存在最佳附加测试用例,则将全部附加测试用例按照适应值由大到小的顺序依次执行;
若执行时某一条附加测试用例通过测试,立即结束对事件交互S的测试,排除该附加测试用例为故障的可能,并利用这条附加测试用例更新集合M1,利用事件交互S更新集合N1,将事件交互S从集合N中移除;若全部附加测试用例均未通过测试,则判断是否达到最大迭代数;
步骤四四、若步骤四三中判断结果为达到最大迭代数,则认为事件交互S触发待测系统故障,将事件交互S加入集合Γ,结束对事件交互S的测试;
若未达到最大迭代数,则重复执行步骤三二至步骤四四的过程,直至确定出事件交互S是否触发待测系统故障,若触发待测系统故障,则将事件交互S加入集合Γ,将事件交互S从集合N中移除,利用事件交互S更新集合N1,结束对事件交互S的测试。
CN201810739291.4A 2018-07-06 2018-07-06 一种支持约束的事件序列故障定位方法 Active CN108959091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810739291.4A CN108959091B (zh) 2018-07-06 2018-07-06 一种支持约束的事件序列故障定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810739291.4A CN108959091B (zh) 2018-07-06 2018-07-06 一种支持约束的事件序列故障定位方法

Publications (2)

Publication Number Publication Date
CN108959091A CN108959091A (zh) 2018-12-07
CN108959091B true CN108959091B (zh) 2021-06-25

Family

ID=64482727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810739291.4A Active CN108959091B (zh) 2018-07-06 2018-07-06 一种支持约束的事件序列故障定位方法

Country Status (1)

Country Link
CN (1) CN108959091B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198016A (zh) * 2013-03-26 2013-07-10 哈尔滨工业大学 基于联合依赖概率建模的软件错误定位方法
US9424171B1 (en) * 2015-04-23 2016-08-23 International Business Machines Corporation Resource-constrained test automation
CN107133168A (zh) * 2017-04-25 2017-09-05 中国船舶工业综合技术经济研究院 一种事件序列故障定位方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169217B2 (en) * 2016-04-06 2019-01-01 General Electric Company System and method for test generation from software specification models that contain nonlinear arithmetic constraints over real number ranges

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198016A (zh) * 2013-03-26 2013-07-10 哈尔滨工业大学 基于联合依赖概率建模的软件错误定位方法
US9424171B1 (en) * 2015-04-23 2016-08-23 International Business Machines Corporation Resource-constrained test automation
CN107133168A (zh) * 2017-04-25 2017-09-05 中国船舶工业综合技术经济研究院 一种事件序列故障定位方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Survey on Software Fault Localization;W. Eric Wong 等;《 IEEE Transactions on Software Engineering》;20160125;第42卷(第8期);第707-740页 *
基于错误交互集的组合测试软件故障定位方法;王建峰 等;《电子学报》;20140615;第42卷(第6期);第1173-1178页 *

Also Published As

Publication number Publication date
CN108959091A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
KR20060045568A (ko) 프로그램 계측 동안의 프로브 최적화 방법 및 시스템
CN111104335B (zh) 一种基于多层次分析的c语言缺陷检测方法及装置
JP4557337B2 (ja) Xリストに基づく多重エラー及び故障を診断する方法並びにシステム
US7721269B2 (en) System and method for detecting redundant subroutine calls
EP3605366A1 (en) Method and apparatus thereof used in engineering for checking deduction of components in bim modeling
CN109165159B (zh) 一种基于程序频谱的多缺陷定位方法
CN107025169B (zh) 一种基于贝叶斯网络推理的软件错误分层诊断方法
CN105468517B (zh) 一种基于黑盒测试用例约简的统计错误定位方法
US8898649B2 (en) Application program analysis method, analysis system and recording medium for identifying a contributing factor for an invalid operation of an application program
CN110515826A (zh) 一种基于次数频谱与神经网络算法的软件缺陷定位方法
Hooda et al. A review: study of test case generation techniques
CN114936158A (zh) 一种基于图卷积神经网络的软件缺陷定位方法
US6526546B1 (en) Method for locating faulty elements in an integrated circuit
US7496898B1 (en) Error analysis and diagnosis for generic function calls
CN111444078B (zh) 一种基于蚁群算法的软件缺陷定位方法及装置
CN108959091B (zh) 一种支持约束的事件序列故障定位方法
WO2009016090A1 (en) A method and relative device for the management of technological recipe information to aid in defining process flows, in particular for the development and production of micro- and nanotechnology devices in cleanroom laboratories
US11132286B1 (en) Dynamic reordering of test case execution
Wotawa Debugging VHDL designs using model-based reasoning
CN109032932B (zh) 一种支持约束的组合测试故障定位方法
CN116245076A (zh) Drc测试版图库的自动构造方法及drc方法、系统、可读存储介质
CN106844218B (zh) 一种基于演化切片的演化影响集预测方法
US7155374B2 (en) Generation of partial traces in model checking
CN111597103B (zh) 一种嵌入式软件SysML模型状态空间约简方法
CN112988565B (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