CN106294174B - 测试充分性的多维度度量方法及装置 - Google Patents
测试充分性的多维度度量方法及装置 Download PDFInfo
- Publication number
- CN106294174B CN106294174B CN201610694490.9A CN201610694490A CN106294174B CN 106294174 B CN106294174 B CN 106294174B CN 201610694490 A CN201610694490 A CN 201610694490A CN 106294174 B CN106294174 B CN 106294174B
- Authority
- CN
- China
- Prior art keywords
- test
- software module
- cvg
- distribution
- software
- 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
Links
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
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)
- Stored Programmes (AREA)
Abstract
本发明涉及一种测试充分性的多维度度量方法及装置,其中方法包括:通过计算机建立测试充分性度量模型;根据所述测试充分性度量模型计算待测软件的各个度量,所述度量至少包括如下一个或多个:软件模块的代码覆盖率分布,需求流程覆盖率分布,复杂度加权代码覆盖率分布,复杂度加权测试用例数目分布,某个阶段的测试用例更新比例分布,对应某个阶段的新增失效数目分布。本发明从多视角对测试充分性进行多维度综合度量,而不是使用数值度量方法评估测试充分性,更加客观地利用测试数据信息来评估测试充分性,更加具有说服力和可解释性。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种测试充分性的多维度度量方法及装置。
背景技术
软件测试在理想情况下,应对输入空间中所有可能的输入进行测试,以排查所有错误,但这几乎是不可能实现的。对于有限输入集合而言,若集合规模很大,测试所有输入数据所耗费的测试资源难以承受;对于无限输入集合而言,这是不可能做到的。因而软件测试排除软件中所有的错误是不现实的。然而,如何判断一个测试对软件进行了足够的验证是由此引发的问题。若测试是“充分的”,则一定程度上说明了测试尽可能的检查了软件中所有可能达到的状态。
软件测试充分性最初由Goodenough和Gerhert在1975年提出,是指软件在有限数据集上的表现能否推断出软件在所有输入数据上的行为,即充分的测试应该满足“测试成功执行”说明“软件不存在错误”。
如果说某一测试集合是充分的,显然得说明“充分”是针对哪些方面或哪一方面。比如语句覆盖达到100%的测试集合从语句覆盖角度来看是充分的,也就是说相对于语句覆盖充分性准则来说测试集合是充分的,但是无法得知其相对于分支覆盖充分性准则是否充分。但是我们可以肯定的是,如果测试集合在某一方面,比如分支覆盖,不充分的话,那么测试集合就不是充分的。
发明内容
鉴于上述的分析,本发明旨在提供一种测试充分性的多维度度量方法及装置,从多视角对测试充分性进行多维度综合度量。
本发明的目的主要是通过以下技术方案实现的:
本发明提供了一种测试充分性的多维度度量方法,包括:
通过计算机建立测试充分性度量模型;
根据所述测试充分性度量模型计算待测软件的各个度量,所述度量至少包括如下一个或多个:
软件模块的代码覆盖率分布,需求流程覆盖率分布,复杂度加权代码覆盖率分布,复杂度加权测试用例数目分布,某个阶段的测试用例更新比例分布,对应某个阶段的新增失效数目分布。
进一步地,设待测软件为包括k个测试阶段的测试数据样本,则所述测
试充分性度量模型表示如下:A(S)=<CVG(S),MD(S),EV(S)>
其中,CVG(S)为代码覆盖维,MD(S)为模块结构加权维,EV(S)为测试演进维;
进一步有如下定义:
CVG(S)=<C_CVG(S),R_CVG(S)>
MD(S)=<M_CVG(S),M_TC(S)>
EV(S)=<(r_tc(S1),nfail(S1)),...,(r_tc(Sk),nfail(Sk))>
其中,C_CVG(S)表示软件模块的代码覆盖率分布,R_CVG(S)为需求流程覆盖率分布,M_CVG(S)为软件模块的复杂度加权代码覆盖率分布,M_TC(S)为软件模块的复杂度加权测试用例数目分布,r_tc为软件模块某个阶段的测试用例更新比例分布,nfail为软件模块对应某个阶段的新增失效数目分布。
进一步地,根据软件测试情况确定软件模块的代码覆盖率分布:
{cvgij|0≤cvgij≤1.0,1≤j≤N},其中N为软件模块数,cvgij为第j个模块在第i轮次测试中获得的代码覆盖率分布。
进一步地,根据如下公式计算软件模块的复杂度加权代码覆盖率分布:
其中,m_cvgij为第j个软件模块在第i轮次测试中获得的复杂度加权代码覆盖率,cvgij为第j个软件模块在第i轮次测试中获得的代码覆盖率,mij为软件模块j在第i轮次测试中获得的复杂度度量结果,N为软件模块数。
进一步地,根据如下公式计算软件模块的复杂度加权测试用例数目分布:
其中,m_tcij是对第j个软件模块在第i轮次测试中的复杂度加权测试用例数目分布,mij为软件模块j在第i轮次测试中获得的复杂度度量结果,tcij是对第j个软件模块在第i轮次测试中的测试用例数目;如果tcij=0,则表示第j个软件模块在第i轮次测试中未被测试,N为软件模块数。
进一步地,根据如下公式计算所述需求流程覆盖分布:
其中,r_cvgij为第j个软件模块在第i轮次测试中获得的需求流程分布,REQ={reqi|1≤i≤p}为软件的p个需求业务流程,reqi表示第i个需求业务流程。
SEQij为在第i轮次测试中覆盖一个软件模块j的所有测试用例集合,SEQijk为其中的第k个测试用例,表示两个集合中序列之间的匹配数目,L(REQ)=Σi≤p|reqi|表示所有需求流程的序列长度之和,N为软件模块数。
进一步地,根据如下公式计算所述软件模块测试用例更新比例分布:
其中,r_tcij为第i轮次测试对软件模块j新增的测试用例更新比例分布,n_tcij为第i轮次测试对软件模块j新增的测试用例数,tcij为第i轮次测试用于软件模块j的所有测试用例数目,N为软件模块数。
进一步地,根据软件测试情况确定所述软件模块的新增失效数目分布:
{nfailij|0≤nfailij,1≤j≤N},其中nfailij为第j个软件模块在第i个测试轮次中新增失效数目分布,N为软件模块数目。
本发明还提供了一种测试充分性的多维度度量装置,包括:
建模单元,用于通过计算机建立测试充分性度量模型;
计算单元,用于根据所述测试充分性度量模型计算各个度量,所述度量至少包括如下一个或多个:
软件模块的代码覆盖率分布,需求流程覆盖率分布,复杂度加权代码覆盖率分布,复杂度加权测试用例数目分布,某个阶段的测试用例更新比例分布,对应某个阶段的新增失效数目分布。
进一步地,设待测软件为包括k个测试阶段的测试数据样本,则所述测试充分性度量模型表示如下:A(S)=<CVG(S),MD(S),EV(S)>
其中CVG(S)为代码覆盖维,MD(S)为模块结构加权维,EV(S)为测试演进维;进一步有如下定义:
CVG(S)=<C_CVG(S),R_CVG(S)>
MD(S)=<M_CVG(S),M_TC(S)>
EV(S)=<(r_tc(S1),nfail(S1)),...,(r_tc(Sk),nfail(Sk))>
其中,C_CVG(S)表示软件模块的代码覆盖率分布,R_CVG(S)为需求流程覆盖率分布,M_CVG(S)为软件模块的复杂度加权代码覆盖率分布,M_TC(S)为软件模块的复杂度加权测试用例数目分布,r_tc为软件模块某个阶段的测试用例更新比例分布,nfail为软件模块对应某个阶段的新增失效数目分布。
本发明有益效果如下:
本发明从多视角对测试充分性进行多维度综合度量。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例中,测试充分性度量模型结构设计示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
首先结合附图对本发明实施例所述方法进行详细说明。
从代码覆盖率、被测软件的结构、测试用例分布、测试发现失效的分布、不同阶段测试用例变化状况、不同测试阶段发现失效的变化状况等角度设计6个维度的测试充分性度量,包括软件模块的代码覆盖率、基于软件模块复杂度的加权代码覆盖率、基于软件模块复杂度的加权测试用例数目、测试用例序列对需求流程序列的覆盖度、测试阶段间的测试用例更新比例、测试阶段间新增失效的分布。
设软件模块i的代码覆盖率为cvgi,软件模块复杂度加权代码覆盖率为m_cvgi,则其中mi为软件模块i的复杂度。针对实际数据状况,软件模块复杂度可以使用软件模块的代码行数或者圈复杂度来度量。同理可以定义软件模块i的加权测试用例数目为其中tci为测试用例数目。测试用例对需求流程序列的覆盖度可以从两个方面来度量,单个测试用例对需求流程的覆盖和测试用例集对需求流程的覆盖度。需求流程是软件需求规格说明中明确的软件处理流程。在计算覆盖度时需要结合具体数据情况综合考虑测试数据的等价类划分覆盖和测试序列覆盖。在不同测试阶段,测试人员会重用一些测试用例来进行回归测试,同时也会更新或补充一部分测试用例来满足覆盖率要求或增强测试发现缺陷的能力。事实上,测试用例的更新或补充往往都是目标指引,如提高对特定软件模块的代码覆盖率,或者向发现了失效的软件模块增加更多的测试用例等。不同测试阶段测试用例的更新是导致发现新失效的重要原因,测试阶段间新增失效的分布主要分析新增失效在时间和软件模块上的分布情况,从而分析测试的不足之处。
本发明拟从多个视角对测试充分性进行度量分析,主要包括静态视角、动态视角和综合视角。其中静态视角主要分析代码覆盖率和被测软件的结构度量;动态视角主要分析测试中发现的失效分布和测试用例的调整变化状况;综合视角则主要分析不同被测软件模块与需求业务流程之间的关系,测试用例对需求流程的覆盖,测试的均衡性等。具体而言,本发明拟从如下七个方面开展测试充分性分析:
(1)测试的覆盖面和覆盖强度:代码覆盖面关注代码覆盖了哪些软件模块,代码覆盖强度则表示相对于被测系统的规模及复杂度,测试用例在软件模块上的数量分布,以考察测试对复杂软件模块的针对性。
(2)测试的递进过程:分析随着缺陷的发现和修复,以及软件版本变化,测试用例的调整变化情况;
(3)软件失效的变化趋势:分析不同测试阶段不同严重程度的失效变化趋势;
(4)软件失效的分布情况:分析失效在软件设计软件模块上的分布和失效严重程度的分布情况;
(5)测试效率分析:对测试的不同阶段,分析测试用例数、代码覆盖率、发现失效数目之间的关系,以反映测试的效率。
(6)测试用例的流程覆盖分析:分析测试用例序列对需求流程的覆盖情况,并分析测试用例在测试序列上的相似性;
(7)测试平衡性分析:针对测试中发现了失效的软件模块和未发现失效的软件模块,按照组别进行差异分析,特别是分析测试用例规模、代码覆盖率、软件模块复杂度等度量的统计差异情况。
如上所述,本发明拟设计一个6维度的测试充分性度量模型,分别是软件模块代码覆盖率维度、基于复杂度加权的软件模块代码覆盖率维度、基于复杂度加权的测试用例数目维度、测试用例序列对需求流程序列的覆盖度维度、测试阶段间的测试用例更新比维度、测试阶段间新增失效的软件模块分布维度。在这6个维度中,软件模块代码覆盖率和新增失效的软件模块分布是单因素度量,考察测试对软件各个软件模块的覆盖情况和新发现失效的情况。覆盖率和失效数是测试所关注的最终结果,影响这些结果的核心因素是软件模块的结构特征和软件模块的缺陷分布情况。因此,其余4个维度都是多因素度量,其中2个为综合软件模块复杂度与代码覆盖率、软件模块复杂度与测试用例数目的度量;1个为综合测试用例序列与软件需求流程序列的综合度量;另一个则是综合软件模块特征和失效特征的测试用例更新度量。因此,归纳来看,测试充分性度量模型可以形象描述为如图1所示的三角形。
如图1所示,代码覆盖维关注软件模块的代码覆盖率、以及对需求流程的覆盖情况,这两个要素是工程中判断测试是否可以终止的重要判断依据;软件模块结构加权维关注测试工作量和测试结果是否体现了对软件模块复杂度的针对性,包括复杂度加权的代码覆盖率、复杂度加权的测试用例数目;测试演进维则关注多阶段测试过程中的演进特征。任何测试都不可能一开始就做到充分,都是在测试过程中根据进展逐步调整测试。这个维度关注测试用例在阶段间的变化和失效在测试阶段间的变化。这三个维度抓住了测试充分性的核心,即首先观察测试是否取得了充分的覆盖,其次要观察测试是否对软件模块结构复杂性有针对性,最后观察测试演进是否有针对性。其中,A箭头B表示A的变化会对B产生影响,比如代码覆盖维的变化会影响测试演进维,测试演进维的变化会影响代码覆盖维和模块结构加权维
设待测软件为包括k个测试阶段的测试数据样本,根据图1所示的测试充分性度量模型结构,可以通过计算机建立测试充分性度量模型:
A(S)=<CVG(S),MD(S),EV(S)> (1)
其中CVG(S)为代码覆盖维,MD(S)为软件模块结构加权维,EV(S)为测试演进维。更进一步有如下定义:
其中,C_CVG(S)表示软件模块的代码覆盖率分布,R_CVG(S)为需求流程覆盖率分布,M_CVG(S)为软件模块的复杂度加权代码覆盖率分布,M_TC(S)为软件模块的复杂度加权测试用例数目分布,r_tc为软件模块某个阶段的测试用例更新比例分布,nfail为软件模块对应某个阶段的新增失效数目分布。
根据所述测试充分性度量模型计算待测软件的各个度量,所述度量至少包括如下一个或多个:
软件模块的代码覆盖率分布,需求流程覆盖率分布,复杂度加权代码覆盖率分布,复杂度加权测试用例数目分布,某个阶段的测试用例更新比例分布,对应某个阶段的新增失效数目分布,其中,
软件模块的代码覆盖率分布:{cvgij|0≤cvgij≤1.0,1≤j≤N},其中N为软件模块数,cvgij为第j个软件模块在第i轮次测试中获得的代码覆盖率,显然覆盖率在[0,1.0]之间,0表示软件模块未被测试,1.0表示软件模块的覆盖率达到最高。
软件模块的复杂度加权代码覆盖率分布:其中mij为软件模块j在第i轮次测试中获得的复杂度度量结果,m_cvgij为第j个软件模块在第i轮次测试中获得的复杂度加权代码覆盖率。显然任何一个软件模块复杂度都大于1,因此m_cvgij<cvgij恒成立。
软件模块的复杂度加权测试用例数目分布:其中mij为软件模块j在第i轮次测试中获得的复杂度度量结果,tcij是对第j个软件模块在第i轮次测试中的测试用例数目。如果tcij=0,则表示第j个软件模块在第i轮次测试中未被测试。显然任何一个软件模块的复杂度都大于1,因此m_tcij<tcij也一定成立。
软件模块的需求流程覆盖分布:其中REQ={reqi|1≤i≤p}为软件的p个需求业务流程,SEQij为在第i轮次测试中覆盖一个软件模块j的所有测试用例集合,SEQijk为其中的第k个测试用例,表示两个集合中序列之间的匹配数目,L(REQ)=Σi≤p|reqi|表示所有需求流程的序列长度之和。
软件模块的测试用例更新比例分布:在每一轮次测试中,都会针对每个软件模块做相应的测试用例调整,其中n_tcij为第i轮次测试对软件模块j新增的测试用例数(包括改变和新增的测试用例),tcij为第i轮次测试用于软件模块j的所有测试用例数目。
软件模块的新增失效数目分布:{nfailij|0≤nfailij,1≤j≤N},其中nfailij为第j个软件模块在第i个测试轮次中新发现的失效数目,N为软件模块数目,nfailj=Σinfailij表示软件模块j在所有轮次测试中发现的失效数目总和。
接下来对本发明实施例所述装置进行详细说明。
本发明实施例所述装置主要包括:建模单元和计算单元,其中,
建模单元,用于通过计算机建立测试充分性度量模型;
计算单元,用于根据所述测试充分性度量模型计算各个度量,所述度量至少包括如下一个或多个:
软件模块的代码覆盖率分布,需求流程覆盖率分布,复杂度加权代码覆盖率分布,复杂度加权测试用例数目分布,某个阶段的测试用例更新比例分布,对应某个阶段的新增失效数目分布。
如果设待测软件为包括k个测试阶段的测试数据样本,则上述测试充分性度量模型可以表示如下:
A(S)=<CVG(S),MD(S),EV(S)>
其中CVG(S)为代码覆盖维,MD(S)为模块结构加权维,EV(S)为测试演进维;进一步有如下定义:
CVG(S)=<C_CVG(S),R_CVG(S)>
MD(S)=<M_CVG(S),M_TC(S)>
EV(S)=<(r_tc(S1),nfail(S1)),...,(r_tc(Sk),nfail(Sk))>
其中,C_CVG(S)表示软件模块的代码覆盖率分布,R_CVG(S)为需求流程覆盖率分布,M_CVG(S)为软件模块的复杂度加权代码覆盖率分布,M_TC(S)为软件模块的复杂度加权测试用例数目分布,r_tc为软件模块某个阶段的测试用例更新比例分布,nfail为软件模块对应某个阶段的新增失效数目分布。
对于本发明实施例所述装置的具体实现过程,由于上述方法中已有详细说明,故此处不再赘述。
综上所述,本发明实施例提供了一种测试充分性的多维度度量方法及装置,从多视角对测试充分性进行多维度综合度量,而不是使用数值度量方法评估测试充分性,更加客观地利用测试数据信息来评估测试充分性,更加具有说服力和可解释性。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
虽然已经详细说明了本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本申请的范围不仅限于说明书所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此所述的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因此,所附的权利要求旨在它们的范围内包括这样的过程、设备、手段、方法或者步骤。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种测试充分性的多维度度量方法,其特征在于,包括:
通过计算机建立测试充分性度量模型,所述测试充分性度量模型包括三个维度:代码覆盖维,模块结构加权维,测试演进维;
根据所述测试充分性度量模型计算待测软件的各个度量,所述度量至少包括如下一个或多个:
软件模块的代码覆盖率分布,需求流程覆盖率分布,复杂度加权代码覆盖率分布,复杂度加权测试用例数目分布,某个阶段的测试用例更新比例分布,对应某个阶段的新增失效数目分布;
设待测软件为包括k个测试阶段的测试数据样本,则所述测试充分性度量模型表示如下:A(S)=<CVG(S),MD(S),EV(S)>
其中,CVG(S)为代码覆盖维,MD(S)为模块结构加权维,EV(S)为测试演进维;
进一步有如下定义:
CVG(S)=<C_CVG(S),R_CVG(S)>
MD(S)=<M_CVG(S),M_TC(S)>
EV(S)=<(r_tc(S1),nfail(S1)),...,(r_tc(Sk),nfail(Sk))>
其中,C_CVG(S)表示软件模块的代码覆盖率分布,R_CVG(S)为需求流程覆盖率分布,M_CVG(S)为软件模块的复杂度加权代码覆盖率分布,M_TC(S)为软件模块的复杂度加权测试用例数目分布,r_tc为软件模块某个阶段的测试用例更新比例分布,nfail为软件模块对应某个阶段的新增失效数目分布。
2.根据权利要求1所述的方法,其特征在于,根据软件测试情况确定软件模块的代码覆盖率分布:
{cvgij|0≤cvgij≤1.0,1≤j≤N},其中N为软件模块数,cvgij为第j个软件模块在第i轮次测试中获得的代码覆盖率。
3.根据权利要求1所述的方法,其特征在于,根据如下公式计算软件模块的复杂度加权代码覆盖率分布:
其中,m_cvgij为第j个软件模块在第i轮次测试中获得的复杂度加权代码覆盖率,cvgij为第j个软件模块在第i轮次测试中获得的代码覆盖率,mij为软件模块j在第i轮次测试中获得的复杂度度量结果,N为软件模块数。
4.根据权利要求1所述的方法,其特征在于,根据如下公式计算软件模块的复杂度加权测试用例数目分布:
其中,m_tcij是对第j个软件模块在第i轮次测试中的复杂度加权测试用例数目分布,mij为软件模块j在第i轮次测试中获得的复杂度度量结果,tcij是对第j个软件模块在第i轮次测试中的测试用例数目;如果tcij=0,则表示第j个软件模块在第i轮次测试中未被测试,N为软件模块数。
5.根据权利要求1所述的方法,其特征在于,根据如下公式计算所述需求流程覆盖分布:
其中,r_cvgij为第j个软件模块在第i轮次测试中获得的需求流程分布,REQ={reqi|1≤i≤p}为软件的p个需求业务流程,reqi表示第i个需求业务流程;
SEQij为在第i轮次测试中覆盖一个软件模块j的所有测试用例集合,SEQijk为其中的第k个测试用例,表示两个集合中序列之间的匹配数目,L(REQ)=∑i≤p|reqi|表示所有需求流程的序列长度之和,N为软件模块数。
6.根据权利要求1所述的方法,其特征在于,根据如下公式计算所述软件模块测试用例更新比例分布:
其中,r_tcij为第i轮次测试对软件模块j新增的测试用例更新比例分布,n_tcij为第i轮次测试对软件模块j新增的测试用例数,tcij为第i轮次测试用于软件模块j的所有测试用例数目,N为软件模块数。
7.根据权利要求1所述的方法,其特征在于,根据软件测试情况确定所述软件模块的新增失效数目分布:
{nfailij|0≤nfailij,1≤j≤N},其中nfailij为第j个软件模块在第i轮次测试中新增失效数目分布,N为软件模块数目。
8.一种测试充分性的多维度度量装置,其特征在于,包括:
建模单元,用于通过计算机建立测试充分性度量模型;
计算单元,用于根据所述测试充分性度量模型计算各个度量,所述度量至少包括如下一个或多个:
软件模块的代码覆盖率分布,需求流程覆盖率分布,复杂度加权代码覆盖率分布,复杂度加权测试用例数目分布,某个阶段的测试用例更新比例分布,对应某个阶段的新增失效数目分布;
设待测软件为包括k个测试阶段的测试数据样本,则所述测试充分性度量模型表示如下:A(S)=<CVG(S),MD(S),EV(S)>
其中CVG(S)为代码覆盖维,MD(S)为模块结构加权维,EV(S)为测试演进维;进一步有如下定义:
CVG(S)=<C_CVG(S),R_CVG(S)>
MD(S)=<M_CVG(S),M_TC(S)>
EV(S)=<(r_tc(S1),nfail(S1)),...,(r_tc(Sk),nfail(Sk))>
其中,C_CVG(S)表示软件模块的代码覆盖率分布,R_CVG(S)为需求流程覆盖率分布,M_CVG(S)为软件模块的复杂度加权代码覆盖率分布,M_TC(S)为软件模块的复杂度加权测试用例数目分布,r_tc为软件模块某个阶段的测试用例更新比例分布,nfail为软件模块对应某个阶段的新增失效数目分布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610694490.9A CN106294174B (zh) | 2016-08-19 | 2016-08-19 | 测试充分性的多维度度量方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610694490.9A CN106294174B (zh) | 2016-08-19 | 2016-08-19 | 测试充分性的多维度度量方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106294174A CN106294174A (zh) | 2017-01-04 |
CN106294174B true CN106294174B (zh) | 2018-11-02 |
Family
ID=57661610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610694490.9A Active CN106294174B (zh) | 2016-08-19 | 2016-08-19 | 测试充分性的多维度度量方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294174B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209208B (zh) * | 2020-01-14 | 2023-05-16 | 网易(杭州)网络有限公司 | 测试方案生成方法、装置、设备和存储介质 |
CN111599349B (zh) * | 2020-04-01 | 2023-04-18 | 云知声智能科技股份有限公司 | 一种训练语言模型的方法及系统 |
US20230130781A1 (en) * | 2021-10-21 | 2023-04-27 | International Business Machines Corporation | Artificial intelligence model learning introspection |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945204A (zh) * | 2012-11-14 | 2013-02-27 | 清华大学 | 一种基于接口模型的操作系统标准符合性测试的充分性评估方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001312417A (ja) * | 2000-05-01 | 2001-11-09 | Fujitsu Ltd | テストルート検証装置及びその装置での処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体 |
-
2016
- 2016-08-19 CN CN201610694490.9A patent/CN106294174B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945204A (zh) * | 2012-11-14 | 2013-02-27 | 清华大学 | 一种基于接口模型的操作系统标准符合性测试的充分性评估方法 |
Non-Patent Citations (3)
Title |
---|
Software Unit Test Coverage and Adequacy;HONG ZHU;《ACM Computing Surveys》;19971231;第29卷(第04期) * |
一种多维度的软件系统可靠性测试方法研究;覃文闯等;《技术与方法》;20141231;全文 * |
基于多维度覆盖率的软件测试动态评价方法;安军霞;《软件学报》;20100930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106294174A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alinezhad et al. | Sensitivity analysis of TOPSIS technique: the results of change in the weight of one attribute on the final ranking of alternatives | |
CN106294120A (zh) | 测试代码的方法、设备和计算机程序产品 | |
Sahaf et al. | When to automate software testing? decision support based on system dynamics: an industrial case study | |
CN106294174B (zh) | 测试充分性的多维度度量方法及装置 | |
CN111026664B (zh) | 基于ann的程序检测方法和检测系统及应用 | |
CN110188036A (zh) | 一种软件测试方法及装置 | |
CN106021113A (zh) | 一种精准测试的实现方法 | |
US9064038B2 (en) | Method and system for combining multiple benchmarks | |
Biffl et al. | Investigating the influence of inspector capability factors with four inspection techniques on inspection performance | |
Dias-Neto et al. | Supporting the combined selection of model-based testing techniques | |
CN106886620B (zh) | 航天器测试资源优化配置方法 | |
CN108363660A (zh) | 一种测试程序生成方法和装置 | |
TWI551868B (zh) | 診斷子網路缺陷之電腦實施方法,用於診斷子網路缺陷的具有複數指令儲存於其上之電腦可讀取儲存媒體以及故障合成的診斷系統 | |
CN110490413A (zh) | 软件测评项目定量管理方法、装置、设备及可读存储介质 | |
CN104021083B (zh) | 测试方法及装置 | |
CN111176253A (zh) | 一种基于蒙特卡洛的飞行控制律自动评估方法 | |
JP5348351B2 (ja) | リスクプロファイル生成装置 | |
Munch et al. | Using empirical knowledge from replicated experiments for software process simulation: A practical example | |
US10338137B1 (en) | Highly accurate defect identification and prioritization of fault locations | |
Zhang et al. | Generating optimal class integration test orders using genetic algorithms | |
Nazir et al. | Testability estimation model (TEM OOD) | |
Hillston | Performance Modelling—Lecture 16: Model Validation and Verification | |
Alagar et al. | Assessment of maintainability in object-oriented software | |
CN109976802A (zh) | 一种面向模式的软件架构重构方法 | |
Gharib et al. | System dynamics as an assistive tool to delay analysis in identifying productivity losses |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20170104 Assignee: Zhengzhou Yunhai Technology Co.,Ltd. Assignor: BEIHANG University Contract record no.: X2021990000107 Denomination of invention: Multi dimensional measurement method and device of test adequacy Granted publication date: 20181102 License type: Common License Record date: 20210218 |