CN102708052B - 一种单元测试中软件故障自动定位方法 - Google Patents

一种单元测试中软件故障自动定位方法 Download PDF

Info

Publication number
CN102708052B
CN102708052B CN201210127772.2A CN201210127772A CN102708052B CN 102708052 B CN102708052 B CN 102708052B CN 201210127772 A CN201210127772 A CN 201210127772A CN 102708052 B CN102708052 B CN 102708052B
Authority
CN
China
Prior art keywords
mrow
suspicious
execution
edge
msub
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.)
Expired - Fee Related
Application number
CN201210127772.2A
Other languages
English (en)
Other versions
CN102708052A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201210127772.2A priority Critical patent/CN102708052B/zh
Publication of CN102708052A publication Critical patent/CN102708052A/zh
Application granted granted Critical
Publication of CN102708052B publication Critical patent/CN102708052B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种单元测试中软件故障自动定位方法,包括:A、采用一组满足覆盖需求的测试用例,执行被测程序,判断测试用例的执行结果是否和预期结果一致;B、根据各测试用例对应的执行路径,分析路径上的边信息,确定由路径上的边组成的可疑空间;C、统计可疑空间中每条边被通过和未通过的测试用例覆盖的次数,计算指定执行模式下,每条边的可疑度;D、由边的可疑度计算其相邻语句节点的可疑度;E、按照可疑度的大小对故障节点进行排序,并依次映射到被测程序中生成故障定位报告,辅助用户检查故障。采用本方法,能够降低语句分析的计算工作量,并且考虑到语句节点之间的逻辑关系,提高故障定位的效率。

Description

一种单元测试中软件故障自动定位方法
技术领域
本方法涉及软件测试中的故障定位技术,尤其涉及一种单元测试中软件故障自动定位方法,通过执行测试用例,根据执行结果与预期的测试结果是否一致,对软件中存在的故障进行自动定位。
背景技术
软件故障是一种动态行为,出现软件故障时若无适当措施加以及时处理,便会产生软件失效。单元测试中尽可能早的发现和排除尽可能多的故障,便会减少和避免后期浪费太多的不值得的时间。
目前关于软件故障定位技术的研究,大多是根据执行结果是否通过,以程序语句作为覆盖节点进行统计分析。当程序代码较多时,语句分析的计算量较大,造成大量时间耗费,且未考虑故障的传播对定位的干扰,影响故障定位的准确率。
发明内容
有鉴于此,本发明的主要目的在于提供一种单元测试中软件故障自动定位方法,以克服现有软件故障定位方法中以语句节点为覆盖单位、计算量大而且没有考虑到语句节点之间的联系的缺陷,降低语句分析的计算工作量,并且考虑到语句节点之间的逻辑关系,提高故障定位的效率。
为达到上述目的,本发明的技术方案是这样实现的:
一种单元测试中软件故障自动定位方法,该方法包括:
A、采用一组满足覆盖需求的测试用例,执行被测程序,判断测试用例的执行结果是否和预期结果一致;
B、根据各测试用例对应的执行路径,分析路径上的边信息,确定由路径上的边组成的可疑空间;
C、统计可疑空间中各条边被通过和未通过的测试用例覆盖的次数,计算指定执行模式下,各条边的可疑度;
D、由上述步骤得到的边的可疑度计算其相邻语句节点的可疑度;
E、根据相邻语句节点的可疑度大小对故障节点进行排序,并依次映射到被测程序中生成故障定位报告,辅助用户检查故障。
其中:所述步骤A包括:
A1、基于两种执行模式进行故障定位,分别是全用例执行模式和部分用例执行模式;
A2、采用全用例执行模式时,将一组测试用例全部执行,根据执行结果是否和预期一致,将用例划分为互不相容的两部分,即通过的测试用例和未通过的测试用例,并记录对应执行路径包含的边信息;
A3、采用部分用例执行模式时,随机选择测试用例集合中的某个用例开始执行,判断执行结果是否和预期结果一致,直到有测试用例的执行结果和预期不一致时停止测试,将此时执行过的测试用例分为两部分,即前m个通过的测试用例和第m+1个未通过的测试用例,获取对应的执行路径;
A4、执行结果包括如下内容:函数具有返回值,记录其返回结果;关键的中间变量和全局变量,记录其返回值;含有文件操作时,记录生成的文件目录和内容信息;含有数据库操作时,记录生成的数据库目录和内容信息。
所述步骤B包括:
B1、可疑空间由指定执行模式下某些测试用例对应的执行路径包含的边组成,是判断故障发生的最大范围,取可疑空间的边进行后续步骤的可疑度计算,不同的执行模式,可疑空间则不同。
其中,所述步骤B1进一步包括:
B11、全用例执行模式下,所有未通过的测试用例对应的执行路径包含的边集合一定存在故障,将此作为最大的可疑空间,用来进行该执行模式在后面步骤的可疑度计算;
B12、部分用例执行模式下,第m+1个未通过的测试用例对应的执行路径一定存在故障,将此路径上的边集合作为该执行模式下的可疑空间;
所述步骤C包括:
C1、全用例执行模式下,遍历可疑空间,统计出覆盖了边的测试用例的个数,结合通过和未通过的测试用例总个数,采用Tarantula方法对边计算可疑度,计算如下:
其中:为所有未通过的测试用例个数;
为所有通过的测试用例个数;
为通过的测试用例中,其对应的执行路径包含了边的用例个数;
为未通过的测试用例中,其对应的执行路径包含了边的用例个数;
C2、部分用例执行模式下,对步骤B12得到的可疑空间,即未通过的测试用例对应的执行路径上的边集合遍历,统计前m个通过的测试用例中,覆盖了指定边的用例个数,利用下面公式计算其可疑度:
其中,为第m+1个测试用例对应的执行路径上的某条边;
为所有通过的测试用例个数;
为通过的测试用例中,其对应的执行路径包含了边的用例个数。
所述步骤D包括:
D1、全用例执行模式下,对所有未通过的测试用例对应的执行路径包含的边的相邻节点进行分析,取节点的所有入边可疑度的最大值与所有出边可疑度的最大值的平均值,作为该节点的可疑度;
D2、部分用例执行模式下,对未通过的测试用例对应的执行路径上的边的相邻节点进行分析,取节点的入边可疑度与出边可疑度的平均值,作为该节点的可疑度;
D3、对于只有出边或者只有入边的节点(比如程序入口节点或程序出口节点),其出边可疑度或入边可疑度作为该节点可疑度;对于控制流图上没有统计到的节点,可疑度记为零。
所述步骤E包括:
E1、故障定位报告,包含以下内容:对语句节点按照上述步骤得到的节点可疑度数值大小进行排序,每一项包括节点可疑度数值,节点名称和标号,节点对应在被测程序中的语句行号;
E2、每次取可疑度最高的节点,映射到被测程序中的语句,将语句用高亮颜色显示,便于用户检查,直到找出故障位置。
本发明所提供的单元测试中软件故障自动定位方法,具有以下优点:
本发明的软件故障定位方法,采取以边为覆盖单位进行可疑度的计算,并由边的可疑度计算得到节点可疑度,实验证明,采用本发明方法能够大大减少计算量,提高分析的效率,同时考虑到节点的逻辑关系,即故障的传播对程序执行结果的影响,使得定位的准确率更高。
附图说明
图1为本发明中基于两种执行模式进行故障定位的示意图;
图2为本发明中基于两种执行模式进行故障定位的整体流程图。
具体实施方式
下面结合附图及本发明的实施例对本发明的方法作进一步详细的说明。
本发明的单元测试中软件故障自动定位方法,提出一种多类型覆盖下基于两种执行模式的单元测试中故障自动定位技术,两种执行模式分别从用户的角度进行考虑。对于全自动模式,一组测试用例会被同时执行,而更常见的情况是,一旦执行到某一条错误的测试用例,测试即被停止进行故障的查找,因此本发明的方法能够分别对两种执行模式进行软件故障的自动定位。以程序对应控制流图上的边为覆盖单位,程序发生故障,路径执行轨迹也必然发生改变,采用两种测试用例的执行方式,对路径上的边被测试用例执行情况进行统计,计算得到边的可疑度,然后由边的可疑度计算相邻语句节点的可疑度,一方面减少了以语句为覆盖单位时的大量计算;另一方面,由于一条边不仅包含首尾两个语句节点,同时也代表了语句节点之间的逻辑和依赖关系,以边为单位统计的方法考虑了语句节点之间的联系,从而提高了定位效率。同时,本方法采用的测试用例可以满足多种覆盖需求(语句覆盖、分支覆盖、MC/DC覆盖等)进行生成,为各种覆盖的定位效率分析提供了依据,并且可扩展性强。
图1为本发明中基于两种执行模式进行故障定位的示意图,如图1所示,本发明提出的单元测试中故障自动定位方法,其基本思想是:首先对被测程序生成一组满足指定覆盖准则和覆盖率需求的测试用例,基于两种执行模式,执行被测程序,然后判断执行结果是否和预期结果一致,将执行结果标记为通过和未通过,在指定执行模式下,获取由执行路径上包含的边组成的可疑空间,统计边覆盖的次数,计算可疑空间每条边的可疑度,然后,由边的可疑度计算出相邻语句节点的可疑度,最后,按可疑度大小对边和语句节点进行排序,生成故障定位报告,辅助用户依次排查。
如图1所示,该方法主要包括如下过程:
步骤1:采用一组满足覆盖需求(语句、分支、MC/DC等)的测试用例,执行被测程序,判断测试用例的执行结果是否和预期结果一致;
步骤2:根据各测试用例对应的执行路径,分析路径上的边信息,确定由路径上的边组成的可疑空间;
步骤3:统计可疑空间中各条边被通过和未通过的测试用例覆盖的次数,计算指定执行模式下(全用例执行和部分用例执行),各条边的可疑度;
步骤4:由上述步骤得到的边的可疑度计算其相邻语句节点的可疑度;
步骤5:按照可疑度大小对故障节点进行排序,并依次映射到被测程序中生成故障定位报告,辅助用户检查故障。
结合上述过程,下面对本发明提出的单元测试中故障自动定位方法进行进一步的详细说明,图2为本发明的整体流程图,如图2所示,该方法包括:
步骤1:根据不同的覆盖准则(如语句、分支、MC/DC等),生成一组满足覆盖需求的测试用例。
这里,需要对被测程序进行静态分析并生成控制流图,根据指定的覆盖准则对被测程序进行插装,由此生成一组满足覆盖需求的测试用例,各测试用例对应的执行路径没有重复,即用例没有冗余。
便于下面步骤说明,生成的一组测试用例记作,测试用例对应的执行路径记作,以控制流图上的边为单位,路径可以表示为
步骤2:用上述步骤1生成的测试用例执行被测程序,判断测试用例的执行结果是否和预期结果一致,根据各测试用例对应的执行路径,分析路径上的边信息,确定由路径上的边组成的可疑空间,执行结果不仅仅是被测程序的返回值,如果存在文件、数据库、指针等操作,由这些操作生成的文件目录和内容信息也作为执行结果的一部分。
假设步骤1所述生成的测试用例表示为,本方法基于两种执行模式进行故障定位,分别是全用例执行模式和部分用例执行模式。
步骤21:采用全用例执行模式时,将步骤1得到的一组测试用例全部执行,根据执行结果是否和预期一致,将用例划分为互不相容的两部分,即通过的测试用例和未通过的测试用例,并记录对应执行路径包含的边信息。
步骤22:采用部分用例执行模式时,随机选择步骤1生成的测试用例集合中的某个用例开始执行,判断执行结果是否和预期结果一致,直到某个用例(假设为第m+1个用例)的执行结果和预期不一致时停止测试,此时执行过的测试用例分为两部分,即前m个通过的测试用例,表示为,和第m+1个未通过的测试用例,表示为,获取它们的执行路径。
上述步骤中,根据测试用例是否通过,可得到分别对应的路径信息,表示如下:
,表示通过的测试用例对应的路径集合;
,表示未通过的测试用例对应的路径集合。
可疑空间由指定执行模式下某些测试用例对应的执行路径包含的边组成,是判断故障发生的最大范围,取可疑空间的边进行后面步骤的可疑度计算。不同的执行模式,可疑空间不同。具体如下:
步骤211:全用例执行模式下,所有未通过的测试用例对应的执行路径一定存在故障,路径上的边的交集组成该执行模式下的可疑空间,表示如下;
步骤221:部分用例执行模式下,假设前m个用例的执行结果正确,那么第m+1个用例对应的执行路径一定存在故障,该路径上的边组成该执行模式下的可疑空间,表示如下;
步骤3:统计可疑空间中各条边被通过和未通过的测试用例覆盖的次数,计算指定执行模式下,各条边的可疑度,执行模式不同,可疑度的计算公式也不同,具体如下:
步骤31:全用例执行模式下,遍历步骤211得到的可疑空间,统计出覆盖了边的测试用例的个数,结合通过和未通过的测试用例总个数,采用Tarantula方法对边计算可疑度,计算如下:
其中:表示未通过的测试用例集包含的用例总个数;
表示通过的测试用例集包含的用例总个数;
表示通过的测试用例中,其对应的执行路径包含了边的用例个数;
表示未通过的测试用例中,其对应的执行路径包含了边的用例个数。
步骤32:部分用例执行模式下,遍历步骤221得到的可疑空间,即未通过的测试用例对应的执行路径上的边集合,统计前m个通过的测试用例中,覆盖了指定边的用例个数,利用下面公式计算其可疑度:
其中,表示第m+1个测试用例对应的执行路径上的某条边;
表示所有通过的测试用例个数;
表示通过的测试用例中,其对应的执行路径包含了边的用例个数。
步骤4:由上述步骤得到的边的可疑度,计算其相邻语句节点的可疑度;
步骤41:全用例执行模式下,对所有未通过的测试用例对应的执行路径包含的边的相邻节点进行分析,取节点的所有入边可疑度的最大值与所有出边可疑度的最大值的平均值,作为该节点的可疑度。
假设节点集合记作,对其中每个节点的可疑度计算如下:
其中,表示节点所有入边中可疑度的最大值,
表示节点所有入边中可疑度的最大值,
步骤42:部分用例执行模式下,对未通过的测试用例对应的执行路径上的边的相邻节点进行分析,取节点的入边可疑度与出边可疑度的平均值,作为该节点的可疑度。
假设节点集合记作,节点的入边记作,出边记作,可疑度计算如下:
步骤43:对于只有出边或者只有入边的节点(比如程序入口节点或程序出口节点),其出边可疑度或入边可疑度作为该节点可疑度;对于控制流图上没有被统计到的节点,表示入边和出边均未在可疑空间中,该节点可疑度记为零。
步骤5:将故障节点按可疑度大小进行排序,并依次映射到被测程序中,将语句用高亮颜色显示,并生成故障定位报告,辅助用户检查故障。
故障定位报告,可以包含以下内容:对步骤4得到的故障节点,按照可疑度大小进行排序,每一项包括节点可疑度数值,节点名称和标号,节点对应在被测程序中的语句行号等。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (6)

1.一种单元测试中软件故障自动定位方法,其特征在于,该方法包括:
A、采用一组满足覆盖需求的测试用例,执行被测程序,判断测试用例的执行结果是否和预期结果一致;
B、根据各测试用例对应的执行路径,分析路径上的边信息,确定由路径上的边组成的可疑空间;
C、统计可疑空间中各条边被通过和未通过的测试用例覆盖的次数,计算指定执行模式下,各条边的可疑度;
D、由上述步骤得到的边的可疑度计算其相邻语句节点的可疑度;
E、根据相邻语句节点的可疑度大小对故障节点进行排序,并依次映射到被测程序中生成故障定位报告,辅助用户检查故障;
所述步骤B包括:
B1、可疑空间由指定执行模式下某些测试用例对应的执行路径包含的边组成,是判断故障发生的最大范围,取可疑空间的边进行后续步骤的可疑度计算,不同的执行模式,可疑空间则不同。
2.根据权利要求1所述的单元测试中软件故障自动定位方法,其特征在于,所述步骤A包括:
A1、基于两种执行模式进行故障定位,分别是全用例执行模式和部分用例执行模式;
A2、采用全用例执行模式时,将一组测试用例全部执行,根据执行结果是否和预期一致,将用例划分为互不相容的两部分,即通过的测试用例和未通过的测试用例,并记录对应执行路径包含的边信息;
A3、采用部分用例执行模式时,随机选择测试用例集合中的某个用例开始执行,判断执行结果是否和预期结果一致,直到有测试用例的执行结果和预期不一致时停止测试,将此时执行过的测试用例分为两部分,即前m个通过的测试用例和第m+1个未通过的测试用例,获取对应的执行路径;
A4、执行结果包括如下内容:函数具有返回值,记录其返回结果;关键的中间变量和全局变量,记录其返回值;含有文件操作时,记录生成的文件目录和内容信息;含有数据库操作时,记录生成的数据库目录和内容信息。
3.根据权利要求2所述的单元测试中软件故障自动定位方法,其特征在于,所述步骤B1进一步包括:
B11、全用例执行模式下,所有未通过的测试用例对应的执行路径包含的边集合一定存在故障,将此作为最大的可疑空间,用来进行该执行模式在后面步骤的可疑度计算;
B12、部分用例执行模式下,第m+1个未通过的测试用例对应的执行路径一定存在故障,将此路径上的边集合作为该执行模式下的可疑空间。
4.根据权利要求3所述的单元测试中软件故障自动定位方法,其特征在于,所述步骤C包括:
C1、全用例执行模式下,遍历可疑空间,统计出覆盖了边ei的测试用例的个数,结合通过和未通过的测试用例总个数,采用Tarantula方法对边计算可疑度,计算如下:
<mrow> <mi>s</mi> <mi>u</mi> <mi>s</mi> <mi>p</mi> <mi>i</mi> <mi>c</mi> <mi>i</mi> <mi>o</mi> <mi>u</mi> <mi>s</mi> <mi> </mi> <mi>deg</mi> <mi> </mi> <mi>r</mi> <mi>e</mi> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mfrac> <mrow> <msubsup> <mi>N</mi> <mi>f</mi> <mi>c</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>N</mi> <mi>f</mi> </msub> </mfrac> <mrow> <mfrac> <mrow> <msubsup> <mi>N</mi> <mi>f</mi> <mi>c</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>N</mi> <mi>f</mi> </msub> </mfrac> <mo>+</mo> <mfrac> <mrow> <msubsup> <mi>N</mi> <mi>p</mi> <mi>c</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>N</mi> <mi>p</mi> </msub> </mfrac> </mrow> </mfrac> </mrow>
其中:Nf为所有未通过的测试用例个数;
Np为所有通过的测试用例个数;
为通过的测试用例中,其对应的执行路径包含了边ei的用例个数;
为未通过的测试用例中,其对应的执行路径包含了边ei的用例个数;
C2、部分用例执行模式下,对步骤B12得到的可疑空间,即未通过的测试用例对应的执行路径上的边集合遍历,统计前m个通过的测试用例中,覆盖了指定边的用例个数,利用下面公式计算其可疑度:
<mrow> <mi>s</mi> <mi>u</mi> <mi>s</mi> <mi>p</mi> <mi>i</mi> <mi>c</mi> <mi>i</mi> <mi>o</mi> <mi>u</mi> <mi>s</mi> <mi> </mi> <mi>deg</mi> <mi> </mi> <mi>r</mi> <mi>e</mi> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <msubsup> <mi>N</mi> <mi>p</mi> <mi>c</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>N</mi> <mi>p</mi> </msub> </mfrac> <mo>;</mo> </mrow>
其中,ei为第m+1个测试用例对应的执行路径上的某条边;
Np为所有通过的测试用例个数;
为通过的测试用例中,其对应的执行路径包含了边ei的用例个数。
5.根据权利要求4所述的单元测试中软件故障自动定位方法,其特征在于,所述步骤D包括:
D1、全用例执行模式下,对所有未通过的测试用例对应的执行路径包含的边的相邻节点进行分析,取节点的所有入边可疑度的最大值与所有出边可疑度的最大值的平均值,作为该节点的可疑度;
D2、部分用例执行模式下,对未通过的测试用例对应的执行路径上的边的相邻节点进行分析,取节点的入边可疑度与出边可疑度的平均值,作为该节点的可疑度;
D3、对于只有出边或者只有入边的节点,其出边可疑度或入边可疑度作为该节点可疑度;对于控制流图上没有统计到的节点,可疑度记为零。
6.根据权利要求1所述的单元测试中软件故障自动定位方法,其特征在于,所述步骤E包括:
E1、故障定位报告,包含以下内容:对语句节点按照上述步骤得到的节点可疑度数值大小进行排序,每一项包括节点可疑度数值,节点名称和标号,节点对应在被测程序中的语句行号;
E2、每次取可疑度最高的节点,映射到被测程序中的语句,将语句用高亮颜色显示,便于用户检查,直到找出故障位置。
CN201210127772.2A 2012-04-27 2012-04-27 一种单元测试中软件故障自动定位方法 Expired - Fee Related CN102708052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210127772.2A CN102708052B (zh) 2012-04-27 2012-04-27 一种单元测试中软件故障自动定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210127772.2A CN102708052B (zh) 2012-04-27 2012-04-27 一种单元测试中软件故障自动定位方法

Publications (2)

Publication Number Publication Date
CN102708052A CN102708052A (zh) 2012-10-03
CN102708052B true CN102708052B (zh) 2017-10-20

Family

ID=46900857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210127772.2A Expired - Fee Related CN102708052B (zh) 2012-04-27 2012-04-27 一种单元测试中软件故障自动定位方法

Country Status (1)

Country Link
CN (1) CN102708052B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268280B (zh) * 2013-04-16 2016-01-06 西安电子科技大学 基于距离度量和统计分析结合的软件故障定位***及方法
CN104424060B (zh) * 2013-08-23 2018-01-23 国际商业机器公司 一种用于确定故障的方法和装置
CN103593291B (zh) * 2013-11-18 2016-03-09 北京邮电大学 用于包括多个函数测试模块的单元测试方法及装置
CN104102580B (zh) * 2014-07-10 2015-08-26 西安交通大学 一种基于图挖掘的电子税务***软件故障定位方法
CN104317707B (zh) * 2014-10-15 2017-09-29 中国科学院软件研究所 一种基于程序结构影响感知的软件错误定位方法
CN105989025A (zh) * 2015-01-30 2016-10-05 阿里巴巴集团控股有限公司 一种数据的核查方法及装置
CN109992493B (zh) * 2017-12-29 2021-12-10 宁波方太厨具有限公司 一种排除燃气热水器软件异常的测试方法
CN109361531B (zh) * 2018-09-04 2021-11-19 瑞斯康达科技发展股份有限公司 一种通信设备不易复现问题的复现方法、***和设备
CN111782532B (zh) * 2020-07-02 2022-04-05 北京航空航天大学 一种基于网络异常节点分析的软件故障定位方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231614A (zh) * 2008-02-02 2008-07-30 南京大学 一种基于执行轨迹块相似度的软件缺陷定位方法
CN101739339A (zh) * 2009-12-29 2010-06-16 北京航空航天大学 一种基于程序动态依赖关系的软件故障定位方法
CN101866316A (zh) * 2010-06-23 2010-10-20 南京大学 一种基于相对冗余测试集约简的软件缺陷定位方法
CN101901185A (zh) * 2010-06-01 2010-12-01 南京大学 一种按类组织执行轨迹的面向对象程序缺陷定位方法
CN102193864A (zh) * 2011-05-13 2011-09-21 南京大学 基于覆盖度的错误定位技术的测试用例集优化方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943478B2 (en) * 2009-07-14 2015-01-27 International Business Machines Corporation Fault detection and localization in dynamic software applications
US8387018B2 (en) * 2010-09-01 2013-02-26 International Business Machines Corporation Fault localization using directed test generation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231614A (zh) * 2008-02-02 2008-07-30 南京大学 一种基于执行轨迹块相似度的软件缺陷定位方法
CN101739339A (zh) * 2009-12-29 2010-06-16 北京航空航天大学 一种基于程序动态依赖关系的软件故障定位方法
CN101901185A (zh) * 2010-06-01 2010-12-01 南京大学 一种按类组织执行轨迹的面向对象程序缺陷定位方法
CN101866316A (zh) * 2010-06-23 2010-10-20 南京大学 一种基于相对冗余测试集约简的软件缺陷定位方法
CN102193864A (zh) * 2011-05-13 2011-09-21 南京大学 基于覆盖度的错误定位技术的测试用例集优化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
分析语句命中谱的自动故障定位方法研究;王鹏;《计算机工程与应用》;20110223;第46卷(第32期);第59-62页 *
基于执行轨迹的软件缺陷定位方法研究;王新平;《计算机科学》;20091208;第36卷(第10期);第168-171、188页 *
基于程序切片的测试用例集约简方法;吴洁;《重庆交通大学学报(自然科学版)》;20100612;第29卷(第2期);第319-320、328页 *

Also Published As

Publication number Publication date
CN102708052A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CN102708052B (zh) 一种单元测试中软件故障自动定位方法
Parnin et al. Are automated debugging techniques actually helping programmers?
US7958400B2 (en) Detecting unexpected impact of software changes using coverage analysis
Jeanneret et al. Estimating footprints of model operations
CN110750459B (zh) 基于白盒分析的测试用例自动生成和测试进程管理方法
Baah et al. On-line anomaly detection of deployed software: a statistical machine learning approach
US20120060144A1 (en) Test planning tool for software updates
CN103294594A (zh) 一种基于测试的静态分析误报消除方法
US20160321586A1 (en) Selecting tests for execution on a software product
US8065565B2 (en) Statistical debugging using paths and adaptive profiling
CN102169455A (zh) 用于软件性能测试的调试方法和***
CN104090798A (zh) 动静态结合的中断驱动程序数据竞争检测方法
Swain et al. Minimal testcase generation for object-oriented software with state charts
US20050262399A1 (en) Aggregating and prioritizing failure signatures by a parsing program
Kobayashi et al. ImpactScale: Quantifying change impact to predict faults in large software systems
Taibi Empirical analysis of the reusability of object-oriented program code in open-source software
Bernárdez et al. A controlled experiment for evaluating a metric-based reading technique for requirements inspection
Bruch et al. On evaluating recommender systems for API usages
Törner et al. Defects in automotive use cases
CN110309054B (zh) 代码有效性测试方法、计算设备及存储介质
Charfi et al. Graphical controls based environment for user interface evaluation
Malburg et al. Tuning dynamic data flow analysis to support design understanding
Trivedi et al. Modelling and analysing of software defect prevention using ODC
Juliano et al. Detection of software anomalies using object-oriented metrics
Garg et al. A novel bipartite graph approach for selection and prioritisation of test cases

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171020