CN104516815A - 用于支持基于风险的测试的方法和装置 - Google Patents
用于支持基于风险的测试的方法和装置 Download PDFInfo
- Publication number
- CN104516815A CN104516815A CN201310460037.8A CN201310460037A CN104516815A CN 104516815 A CN104516815 A CN 104516815A CN 201310460037 A CN201310460037 A CN 201310460037A CN 104516815 A CN104516815 A CN 104516815A
- Authority
- CN
- China
- Prior art keywords
- software
- module
- software product
- software module
- product
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于支持基于风险的测试的方法和装置,该装置包括:质量风险确定模块,用于基于软件产品的软件需求信息和项目管理信息,确定所述软件产品的每一个软件模块的质量风险值;以及,资源分配模块,用于基于所述软件产品的每一个软件模块的质量风险值,向所述软件产品的每一个软件模块分配相应的测试资源。利用该方法和装置,能够在不使用历史数据的情况下对软件产品提供基于风险的测试。
Description
技术领域
本发明涉及软件测试领域,尤其涉及用于支持基于风险的测试的方法和装置。
背景技术
随着技术的发展,软件成为成功产品的创新功能和过程的主要竞争力。同时,软件的规模和复杂程度也在迅猛增大,这给软件的项目控制和管理带来了许多困难。在软件开发中,一个最重要的任务是在有限的时间、资源和预算内确保软件的质量,显然,如果没有合适的软件测试管理,那么这个最重要的任务是不可能实现的。
虽然已经存在许多测试技术能够用于软件测试,但是,实现以下目标仍然是一个有挑战性的任务:分配测试资源,以实现最大可能检测到软件中存在的错误和确保期望的质量目标,同时在预算内及时完成软件测试。基于风险的测试是用于解决这个有挑战性的任务的有效的方法。
目前,存在两种用于实现基于风险的测试的方法:基于项目数据统计的风险分析方法和基于决策理论(例如,贝叶斯信任网络(Bayesian BeliefNetworks:BBN))的风险评估方法。
基于项目数据统计的风险分析方法基于项目历史数据(即以前已完成的软件项目的数据)的统计分析。基于项目数据统计的风险分析方法的成功依赖于可信赖的统计模型,而建立可信赖的统计模型需要大量的项目历史数据,然而,在现实世界中,很难获取足够的项目历史数据用来建立可信赖的统计模型。
基于BBN的风险评估方法容易使用并且在风险预测和各种影响因素的权衡分析上具有很强的能力,然而,为了建立能够达到较好的预测结果的BBN模型,也需要基于大量历史数据的统计分析来填充BBN模型中的条件概率表(CPT),这在真实的软件项目中经常很难做得到。
发明内容
考虑到现有技术的上述问题,本发明实施例提供一种用于支持基于风险的测试的方法和装置,其可以在不使用历史数据的情况下对软件产品提供基于风险的测试。
按照本发明实施例的一种用于支持基于风险的测试的方法,包括:基于软件产品的软件需求信息和项目管理信息,确定所述软件产品的每一个软件模块的质量风险值;以及,基于所述软件产品的每一个软件模块的质量风险值,向所述软件产品的每一个软件模块分配相应的测试资源。
其中,确定所述软件产品的每一个软件模块的质量风险值包括:基于所述软件需求信息,计算所述软件产品的每一个软件模块的出错严重程度,其中,所述软件产品的每一个软件模块的出错严重程度值表示所述软件产品的每一个软件模块如果包含错误对所述软件产品的影响程度;基于所述项目管理信息,计算所述软件产品的每一个软件模块的出错概率,其中,所述软件产品的每一个软件模块的出错概率表示所述软件产品的每一个软件模块包含错误的概率;以及,基于所述软件产品的每一个软件模块的所述出错严重程度和所述出错概率,计算所述软件产品的每一个软件模块的所述质量风险值。
其中,计算所述软件产品的每一个软件模块的出错严重程度包括:根据所述软件需求信息,确定所述软件产品的每一个软件模块所实现的需求项;以及,利用为所述软件产品的每一个软件模块所实现的需求项设定的加权值,对所述软件产品的每一个软件模块所实现的需求项的取值进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错严重程度。
其中,计算所述软件产品的每一个软件模块的出错概率包括:根据所述项目管理信息,确定所述软件产品的每一个软件模块的概率因子,其中,所述软件产品的每一个软件模块的概率因子是影响所述软件产品的每一个软件模块的出错概率的因子;以及,利用为所述软件产品的每一个软件模块的概率因子设定的加权值,对所述软件产品的每一个软件模块的概率因子进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错概率。
其中,所述各个软件模块的概率因子包括参与开发所述软件产品的每一个软件模块的开发人员数量、开发所述软件产品的每一个软件模块所花费的时间和开发所述软件产品的每一个软件模块所涉及的任务数量。
按照本发明实施例的一种用于支持基于风险的测试的装置,包括:质量风险确定模块,用于基于软件产品的软件需求信息和项目管理信息,确定所述软件产品的每一个软件模块的质量风险值;以及,资源分配模块,用于基于所述软件产品的每一个软件模块的质量风险值,向所述软件产品的每一个软件模块分配相应的测试资源。
其中,所述确定模块包括:第一计算模块,用于基于所述软件需求信息,计算所述软件产品的每一个软件模块的出错严重程度,其中,所述软件产品的每一个软件模块的出错严重程度表示所述软件产品的每一个软件模块如果包含错误对所述软件产品的影响程度;第二计算模块,用于基于所述项目管理信息,计算所述软件产品的每一个软件模块的出错概率,其中,所述软件产品的每一个软件模块的出错概率表示所述软件产品的每一个软件模块包含错误的概率;以及,第三计算模块,用于基于所述软件产品的每一个软件模块的所述出错严重程度和所述出错概率,计算所述软件产品的每一个软件模块的所述质量风险值。
其中,所述第一计算模块包括:需求项确定模块,用于根据所述软件需求信息,确定所述软件产品的每一个软件模块所实现的需求项;以及,第一加权求和模块,用于利用为所述软件产品的每一个软件模块所实现的需求项设定的加权值,对所述软件产品的每一个软件模块所实现的需求项的取值进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错严重程度。
其中,所述第二计算模块包括:概率因子确定模块,用于根据所述项目管理信息,确定所述软件产品的每一个软件模块的概率因子,其中,所述软件产品的每一个软件模块的概率因子是影响所述软件产品的每一个软件模块的出错概率的因子;以及,第二加权求和模块,用于利用为所述软件产品的每一个软件模块的概率因子设定的加权值,对所述软件产品的每一个软件模块的概率因子进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错概率。
其中,所述软件产品的每一个软件模块的概率因子包括参与开发所述软件产品的每一个软件模块的开发人员数量、开发所述软件产品的每一个软件模块所花费的时间和开发所述软件产品的每一个软件模块所涉及的任务数量。
从上述可以看出,本发明实施例的方案使用软件产品本身的软件需求信息和项目管理信息这些常规的项目数据,而不是以前已完成的软件项目的历史统计数据,来确定该软件产品的各个软件模块的质量风险值,并基于所确定的该软件产品的各个软件模块的质量风险值来向该软件产品的各个软件模块分配相应的测试资源,因此,与现有技术相比,本发明实施例的方案可以在不使用历史数据的情况下对软件产品提供基于风险的测试,具有良好的可操作性和实用性。
附图说明
本发明的其它特点、特征、优点和益处通过以下结合附图的详细描述将变得更加显而易见。
图1示出了软件项目管理过程的示意图。
图2示出了按照本发明一个实施例的按照本发明一个实施例的用于支持基于风险的测试的方法的流程图。
图3示出了按照本发明一个实施例的软件产品的软件模块和需求项的示意图。
图4示出了按照本发明一个实施例的需求项的优先级的示意图。
图5示出了按照本发明一个实施例的影响软件模块的出错概率的概率因子及其加权值的示意图。
图6示出了按照本发明一个实施例的用于支持基于风险的测试的装置的示意图。
图7示出了按照本发明一个实施例的用于支持基于风险的测试的设备的示意图。
具体实施方式
每一个软件产品都要实现用户指定的需求。为了在软件开发人员和用户之间明确软件产品所要实现的需求,通常每一个软件产品都会有一个软件需求说明书(Requirement Specification),其记载有软件产品所要实现的各个需求项,这些需求项包括功能需求项和非功能需求项。软件产品的软件需求说明书还记载软件产品所要实现的需求项各自的预先定义的优先级,其表明对应的需求项的重要程度并且例如可以用高、中或低来表示。软件产品的软件需求说明书还记载软件产品的各个软件模块所实现的需求项。这里,软件产品所要实现的各个需求项、这些需求项各自的优先级和软件产品的各个软件模块所实现的需求项都是软件产品的软件需求信息。
在开发软件产品时,软件开发团队通常按照软件项目管理过程来组织他们的工作。图1示出了软件项目管理过程的示意图,其中,软件项目管理过程使用术语“任务”来表示经由项目管理能够跟踪的任何一项工作。如图1所示,按照软件项目管理过程,每一个任务在其生命周期期间将要经历各种状态。最初,每一个任务R处于“新(new)”状态。然后,对任务R进行关于有效性和唯一性的检测以确定任务R是否是有效的且与已存在的其它任务不重复。如果任务R没有通过该检测,则其状态变为“已关闭(closed)”。如果任务R通过了该检测,则任务R被分配给一个软件开发人员进行处理并且其状态变为“已分配(assigned)”。软件开发人员对任务R进行处理,有时可能存在问题而需要对任务R进行重新分配。当处理任务R完毕的时候,任务R的状态变为“已完成(finished)”。在处理任务R完毕之后,可能需要对任务R执行进一步的评估,例如测试者测试任务R所针对的软件模块以验证已经在该软件模块中成功实现了期望的特征。如果任务R所针对的软件模块被验证已经成功实现了期望的特征,则任务R的状态变为“已接受(accepted)”。最后,经审核之后,任务R的状态变为“已关闭(closed)”,这意味着任务R的生命的结束。状态为“已完成”或“已关闭”的任务R由于需要重新打开而变为状态“已重新打开(reopened)”。状态为“已重新打开(reopened)”的任务R可以由于被分配而变为状态“已分配”。
常用的软件项目管理工具将会记录和存储软件产品的每一个任务R的项目管理信息,其可以包括但不局限于任务R涉及软件产品中的哪个软件模块、参与处理任务R的软件开发人员是哪些、处理任务R所花费的时间等。软件产品的所有任务的项目管理信息形成了软件产品的项目管理信息并存入项目管理信息库,从软件产品的项目管理信息库中可以很容易获取软件产品的每一个软件模块的以下信息:参与开发每一个软件模块的软件开发人员数量、开发每一个软件模块所花费的时间和开发每一个软件模块所涉及的任务数量等。
本发明实施例所提供的技术方案使用软件产品本身的软件需求信息和项目管理信息这些常规的项目数据,而不是以前已完成的软件项目的历史统计数据,来确定该软件产品的各个软件模块的质量风险值,并基于所确定的该软件产品的各个软件模块的质量风险值来向该软件产品的各个软件模块分配相应的测试资源,因此,本发明实施例的方案可以在不使用历史数据的情况下对软件产品提供基于风险的测试,这对软件项目管理者来说非常便于实现和容易使用。
现在参考图2,其示出了按照本发明一个实施例的用于支持基于风险的测试的方法的流程图。图1所示的方法可以由诸如计算机等这样的具有计算能力的设备来执行。
在本实施例中,基于风险管理理论中共同接受的原理,利用等式(1)来计算软件产品中的每一个软件模块f的质量风险值Re(f)。
Re(f)=P(f)×C(f) (1)
其中,P(f)是软件模块f的出错概率,其表示软件模块f包含错误的概率,而C(f)是软件模块f的出错严重程度,其表示软件模块f如果包含错误对软件产品的影响程度。
P(f)可以利用影响软件模块f的出错概率的各个概率因子计算得到,C(f)可以利用影响软件模块f的出错严重程度的各个影响因子计算得到,其中,P(f)=(概率因子1的取值×概率因子1的加权值)+(概率因子2的取值×概率因子2的加权值)+(概率因子3的取值×概率因子3的加权值)+…,以及,C(f)=(影响因子1的取值×影响因子1的加权值)+(影响因子2的取值×影响因子2的加权值)+(影响因子3的取值×影响因子3的加权值)+…。
在本实施例中,使用软件模块f所实现的需求项作为影响软件模块f的出错严重程度的影响因子。
大量的软件项目数据表明:(1)软件模块越复杂,软件模块的开发需要花费更多的时间,软件模块中引入错误的概率就越高;(2)随着参与开发软件模块的软件开发人员增多,在软件开发人员之间的相互联系和相互影响也增多,这会导致在软件模块中引入错误的概率变高;以及,(3)在软件模块开发的过程中软件模块被修改的次数越多,就需要为软件模块安排更多的用于修改软件模块的任务,从而由于修改而导致错误被引入软件模块的概率也越高。因此,在本实施例中,使用参与软件模块f的开发人员数量、开发软件模块f所花费的时间和开发软件模块f所涉及的任务数量作为影响软件模块f的出错概率的概率因子。
如图2所示,在方框S200,从软件产品S的软件需求信息,查找出软件产品S的每一个软件模块所实现的需求项。其中,软件产品S的每一个软件模块所实现的需求项是一个或多个。
在方框S204,从软件产品S的软件需求信息,查找出各个需求项的优先级。
在方框S208,根据各个需求项的优先级,设置各个需求项的加权值。这里,需求项的优先级越高,需求项的加权值越大。
在方框S212,利用所设置的需求项的加权值,对软件产品S的每一个软件模块所实现的需求项的取值进行加权求和,计算得到软件产品S的每一个软件模块的出错严重程度。这里,每一个需求项的取值可设定为相同值,例如可以设定为1。
在方框S216,根据软件产品S的项目管理信息,计算出软件产品S的每一个软件模块的以下概率因子:参与开发每一个软件模块的软件开发人员数量M1、开发每一个软件模块所花费的时间M2和开发每一个软件模块所涉及的任务数量M3。
在方框S220,利用预先分别为参与开发软件模块的软件开发人员数量、开发软件模块所花费的时间和开发软件模块所涉及的任务数量所设定的加权值,对软件产品S的每一个软件模块的参与开发的软件开发人员数量M1、开发所花费的时间M2和开发所涉及的任务数量M3进行加权求和,计算得到软件产品S的每一个软件模块的出错概率。
在方框S224,计算软件产品S的每一个软件模块的出错严重程度和出错概率的乘积,作为软件产品S的每一个软件模块的质量风险值。
在方框S228,根据所计算的软件产品S的每一个软件模块的质量风险值,向软件产品S的每一个软件模块分配相应的测试资源。其中,质量风险值较大的软件模块需要分配更多的测试资源,而质量风险值较小的软件模块可以分配较少的测试资源。
下面,将以一个具体的实例来详细说明按照本实施例的软件产品的各个软件模块的质量风险值的计算。
参见图3,假设软件产品S包括三个软件模块:软件模块#1、软件模块#2和软件模块#3,软件产品S要实现三个功能需求项(FR1、FR2、FR3)和两个非功能需求项(NFR1、NFR2),其中,软件模块#1实现需求项FR1、FR2,软件模块#2实现需求项FR1、FR2、FR3、NFR1,软件模块#3实现需求项FR3、NFR1、NFR2。此外,假设需求项FR1、FR2、FR3、NFR1、NFR2的取值都是1。
参见图4,假设需求项FR1、FR2、FR3、NFR1、NFR2的优先级分别为高、中、低、中、中,并且假设高优先级的加权值、中优先级的加权值、低优先级的加权值分别被设定为5、3、1。
那么,软件模块#1的出错严重程度C(#1)、软件模块#2的出错严重程度C(#2)和软件模块#3的出错严重程度C(#3)分别计算如下:
C(#1)=(FR1的加权值×FR1的取值)+(FR2的加权值×FR2的取值)=5×1+3×1=8;
C(#2)=(FR1的加权值×FR1的取值)+(FR2的加权值×FR2的取值)+(FR3的加权值×FR3的取值)+(NFR1的加权值×NFR1的取值)=5×1+3×1+1×1+3×1=12;
C(#3)=(FR3的加权值×FR3的取值)+(NFR1的加权值×NFR1的取值)+(NFR2的加权值×NFR2的取值)=1×1+3×1+3×1=7。
参见图5,假设参与开发软件模块的软件开发人员数量的加权值、开发软件模块所花费的时间的加权值和开发软件模块所涉及的任务数量的加权值分别被设定3、1、3,并且假设软件模块#1的参与开发的软件开发人员数量M1(单位为个)、开发所花费的时间M2(单位为小时)和开发所涉及的任务数量M3(单位为个)分别为3、52、5,软件模块#2的参与开发的软件开发人员数量M1、开发所花费的时间M2和开发所涉及的任务数量M3分别为6、148、12,以及,软件模块#3的参与开发的软件开发人员数量M1、开发所花费的时间M2和开发所涉及的任务数量M3分别为2、40、4。
那么,软件模块#1的出错概率P(#1)、软件模块#2的出错概率P(#2)和软件模块#3的出错概率P(#3)分别计算如下:
P(#1)=(M1的加权值×M1)+(M2的加权值×M2)+(M3的加权值×M3)=3×3+1×52+3×5=76;
P(#2)=(M1的加权值×M1)+(M2的加权值×M2)+(M3的加权值×M3)=3×6+1×148+3×12=202;
P(#3)=(M1的加权值×M1)+(M2的加权值×M2)+(M3的加权值×M3)=3×2+1×40+3×4=58。
因此,软件模块#1的质量风险值Re(#1)、软件模块#2的质量风险值Re(#2)和软件模块#3的质量风险值Re(#3)分别计算如下:
Re(#1)=C(#1)×P(#1)=8×76=608;
Re(#2)=C(#2)×P(#2)=12×202=2424;
Re(#3)=C(#3)×P(#3)=7×58=406。
从以上的计算结果可以看出,软件模块#2的质量风险值Re(#2)要比软件模块#1的质量风险值Re(#1)和软件模块#3的质量风险值Re(#3)大得多,因此,与软件模块#1和软件模块#3相比,软件模块#2需要分配更多的测试资源对软件模块#2进行测试。
其它变型
本领域技术人员应当理解,虽然在上面的实施例中,使用参与开发软件模块的开发人员数量、开发软件模块所花费的时间和开发软件模块所涉及的任务数量作为影响软件模块的出错概率的概率因子来计算软件模块的质量风险值,然而,本发明并不局限于此。在本发明的其它一些实施例中,也可以将参与开发软件模块的开发人员数量、开发软件模块所花费的时间和开发软件模块所涉及的任务数量中的一个或两个作为影响软件模块的出错概率的概率因子,或者,也可以使用参与开发软件模块的开发人员数量、开发软件模块所花费的时间和开发软件模块所涉及的任务数量中的至少一个以及其它概率因素作为影响软件模块的出错概率的概率因子。
本领域技术人员应当理解,虽然在上面的实施例中,使用软件模块所实现的需求项作为影响软件模块的出错严重程度的影响因子来计算软件模块的质量风险值,然而,本发明并不局限于此。
本领域技术人员应当理解,虽然在上面的实施例中,利用软件模块的出错概率和软件模块的出错严重程度来计算软件模块的质量风险值,然而,本发明并不局限于此。在本发明的其它一些实施例中,也可以使用软件产品的软件需求信息和项目管理信息利用其它方式来计算软件模块的质量风险值。
现在参考图6,其示出了按照本发明一个实施例的用于支持基于风险的测试的装置的示意图。图6所示的装置可以利用软件、硬件(例如,集成电路、)或软硬件结合的方式来实现,并且可以安装在任何具有计算能力的设备上。
如图6所示,用于支持基于风险的测试的装置60可以包括质量风险确定模块602和资源分配模块604,其中,质量风险确定模块602用于基于软件产品S的软件需求信息和项目管理信息来确定软件产品S的每一个软件模块的质量风险值,资源分配模块604用于基于软件产品S的每一个软件模块的质量风险值来向软件产品S的每一个软件模块分配相应的测试资源。
其中,质量风险确定模块602可以包括第一计算模块606、第二计算模块608和第三计算模块610。其中,第一计算模块606用于基于软件产品S的软件需求信息来计算软件产品S的每一个软件模块的出错严重程度,其中,软件产品S的每一个软件模块的出错严重程度表示软件产品S的每一个软件模块如果包含错误对软件产品S的影响程度。第二计算模块608用于基于软件产品S的项目管理信息,计算软件产品S的每一个软件模块的出错概率,其中,软件产品S的每一个软件模块的出错概率表示软件产品S的每一个软件模块包含错误的概率。第三计算模块610用于基于软件产品S的每一个软件模块的出错严重程度和出错概率,计算软件产品S的每一个软件模块的质量风险值。
其中,第一计算模块606可以包括需求项确定模块612和第一加权求和模块614。其中,需求项确定模块612用于根据软件产品S的软件需求信息,确定软件产品S的每一个软件模块所实现的需求项。第一加权求和模块614用于利用为软件产品S的每一个软件模块所实现的需求项设定的加权值,对软件产品S的每一个软件模块所实现的需求项的取值进行加权求和,计算得到软件产品S的每一个软件模块的出错严重程度。其中,为软件产品S的每一个软件模块所实现的需求项设定的加权值基于该需求项的优先级确定。
其中,第二计算模块608可以包括概率因子确定模块616和第二加权求和模块618。其中,概率因子确定模块616用于根据软件产品S的项目管理信息,确定软件产品S的每一个软件模块的概率因子,其中,软件产品S的每一个软件模块的概率因子是影响软件产品S的每一个软件模块的出错概率的因子。第二加权求和模块618用于利用为软件产品S的每一个软件模块的概率因子设定的加权值,对软件产品S的每一个软件模块的概率因子进行加权求和,计算得到软件产品S的每一个软件模块的出错概率。
其中,软件产品S的每一个软件模块的概率因子包括参与开发软件产品S的每一个软件模块的开发人员数量、开发软件产品S的每一个软件模块所花费的时间和开发软件产品S的每一个软件模块所涉及的任务数量。
现在参考图7,其示出了按照本发明一个实施例的用于支持基于风险的测试的设备的示意图。如图7所示,用于支持基于风险的测试的设备70可以包括存储器702和与存储器702耦合的处理器704,其中,处理器704执行装置60中的各个模块所执行的操作。
本发明实施例还提供机器可读介质,其上存储有可执行指令,当该可执行指令被执行时,使得机器执行装置60中的各个模块所执行的操作。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例。本领域技术人员从中推导出来的其他方案也在本发明的保护范围之内。
Claims (12)
1.一种用于支持基于风险的测试的方法,包括:
基于软件产品的软件需求信息和项目管理信息,确定所述软件产品的每一个软件模块的质量风险值;以及
基于所述软件产品的每一个软件模块的质量风险值,向所述软件产品的每一个软件模块分配相应的测试资源。
2.如权利要求1所述的方法,其中,所述确定包括:
基于所述软件需求信息,计算所述软件产品的每一个软件模块的出错严重程度,其中,所述软件产品的每一个软件模块的出错严重程度值表示所述软件产品的每一个软件模块如果包含错误对所述软件产品的影响程度;
基于所述项目管理信息,计算所述软件产品的每一个软件模块的出错概率,其中,所述软件产品的每一个软件模块的出错概率表示所述软件产品的每一个软件模块包含错误的概率;以及
基于所述软件产品的每一个软件模块的所述出错严重程度和所述出错概率,计算所述软件产品的每一个软件模块的所述质量风险值。
3.如权利要求2所述的方法,其中,计算所述软件产品的每一个软件模块的出错严重程度包括:
根据所述软件需求信息,确定所述软件产品的每一个软件模块所实现的需求项;以及
利用为所述软件产品的每一个软件模块所实现的需求项设定的加权值,对所述软件产品的每一个软件模块所实现的需求项的取值进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错严重程度。
4.如权利要求2所述的方法,其中,计算所述软件产品的每一个软件模块的出错概率包括:
根据所述项目管理信息,确定所述软件产品的每一个软件模块的概率因子,其中,所述软件产品的每一个软件模块的概率因子是影响所述软件产品的每一个软件模块的出错概率的因子;以及
利用为所述软件产品的每一个软件模块的概率因子设定的加权值,对所述软件产品的每一个软件模块的概率因子进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错概率。
5.如权利要求2所述的方法,其中,所述各个软件模块的概率因子包括参与开发所述软件产品的每一个软件模块的开发人员数量、开发所述软件产品的每一个软件模块所花费的时间和开发所述软件产品的每一个软件模块所涉及的任务数量。
6.一种用于支持基于风险的测试的装置,包括:
质量风险确定模块,用于基于软件产品的软件需求信息和项目管理信息,确定所述软件产品的每一个软件模块的质量风险值;以及
资源分配模块,用于基于所述软件产品的每一个软件模块的质量风险值,向所述软件产品的每一个软件模块分配相应的测试资源。
7.如权利要求6所述的装置,其中,所述确定模块包括:
第一计算模块,用于基于所述软件需求信息,计算所述软件产品的每一个软件模块的出错严重程度,其中,所述软件产品的每一个软件模块的出错严重程度表示所述软件产品的每一个软件模块如果包含错误对所述软件产品的影响程度;
第二计算模块,用于基于所述项目管理信息,计算所述软件产品的每一个软件模块的出错概率,其中,所述软件产品的每一个软件模块的出错概率表示所述软件产品的每一个软件模块包含错误的概率;以及
第三计算模块,用于基于所述软件产品的每一个软件模块的所述出错严重程度和所述出错概率,计算所述软件产品的每一个软件模块的所述质量风险值。
8.如权利要求7所述的装置,其中,所述第一计算模块包括:
需求项确定模块,用于根据所述软件需求信息,确定所述软件产品的每一个软件模块所实现的需求项;以及
第一加权求和模块,用于利用为所述软件产品的每一个软件模块所实现的需求项设定的加权值,对所述软件产品的每一个软件模块所实现的需求项的取值进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错严重程度。
9.如权利要求7所述的装置,其中,所述第二计算模块包括:
概率因子确定模块,用于根据所述项目管理信息,确定所述软件产品的每一个软件模块的概率因子,其中,所述软件产品的每一个软件模块的概率因子是影响所述软件产品的每一个软件模块的出错概率的因子;以及
第二加权求和模块,用于利用为所述软件产品的每一个软件模块的概率因子设定的加权值,对所述软件产品的每一个软件模块的概率因子进行加权求和,计算得到所述软件产品的每一个软件模块的所述出错概率。
10.如权利要求7所述的装置,其中,所述软件产品的每一个软件模块的概率因子包括参与开发所述软件产品的每一个软件模块的开发人员数量、开发所述软件产品的每一个软件模块所花费的时间和开发所述软件产品的每一个软件模块所涉及的任务数量。
11.一种用于测试网络应用的网站设备,包括:
存储器;以及
处理器,其耦合到所述存储器,用于执行权利要求1-5的任意一个权利要求所包括的操作。
12.一种机器可读介质,其上存储有可执行指令,当所述可执行指令被执行时,使得机器执行权利要求1-5的任意一个权利要求所包括的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310460037.8A CN104516815A (zh) | 2013-09-30 | 2013-09-30 | 用于支持基于风险的测试的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310460037.8A CN104516815A (zh) | 2013-09-30 | 2013-09-30 | 用于支持基于风险的测试的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104516815A true CN104516815A (zh) | 2015-04-15 |
Family
ID=52792158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310460037.8A Pending CN104516815A (zh) | 2013-09-30 | 2013-09-30 | 用于支持基于风险的测试的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104516815A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9405661B1 (en) | 2015-04-23 | 2016-08-02 | International Business Machines Corporation | Resource-constrained test automation |
CN110347609A (zh) * | 2019-07-18 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种测试区块链软件的方法及装置 |
CN111538674A (zh) * | 2020-06-08 | 2020-08-14 | 中国联合网络通信集团有限公司 | 分布式软件测试方法、系统、设备及介质 |
CN111784357A (zh) * | 2020-07-29 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 风险事件的处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008210241A (ja) * | 2007-02-27 | 2008-09-11 | Mitsubishi Electric Corp | インストール支援装置及びインストール支援プログラム及びインストール支援方法 |
CN102073823A (zh) * | 2011-02-25 | 2011-05-25 | 天津大学 | 一种基于缺陷分析的软件可信性评价方法 |
CN102446135A (zh) * | 2011-12-28 | 2012-05-09 | 深圳天源迪科信息技术股份有限公司 | 软件质量的检测方法 |
-
2013
- 2013-09-30 CN CN201310460037.8A patent/CN104516815A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008210241A (ja) * | 2007-02-27 | 2008-09-11 | Mitsubishi Electric Corp | インストール支援装置及びインストール支援プログラム及びインストール支援方法 |
CN102073823A (zh) * | 2011-02-25 | 2011-05-25 | 天津大学 | 一种基于缺陷分析的软件可信性评价方法 |
CN102446135A (zh) * | 2011-12-28 | 2012-05-09 | 深圳天源迪科信息技术股份有限公司 | 软件质量的检测方法 |
Non-Patent Citations (1)
Title |
---|
张婷: ""基于软件测试技术的软件质量保证研究"", 《中国优秀硕士学位论文全文数据库•信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9405661B1 (en) | 2015-04-23 | 2016-08-02 | International Business Machines Corporation | Resource-constrained test automation |
US9424171B1 (en) | 2015-04-23 | 2016-08-23 | International Business Machines Corporation | Resource-constrained test automation |
US9483392B1 (en) | 2015-04-23 | 2016-11-01 | International Business Machines Corporation | Resource-constrained test automation |
CN110347609A (zh) * | 2019-07-18 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种测试区块链软件的方法及装置 |
CN110347609B (zh) * | 2019-07-18 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 一种测试区块链软件的方法及装置 |
CN111538674A (zh) * | 2020-06-08 | 2020-08-14 | 中国联合网络通信集团有限公司 | 分布式软件测试方法、系统、设备及介质 |
CN111784357A (zh) * | 2020-07-29 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 风险事件的处理方法及装置 |
CN111784357B (zh) * | 2020-07-29 | 2022-06-21 | 支付宝(杭州)信息技术有限公司 | 风险事件的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Modeling and analysis of reliability of multi-release open source software incorporating both fault detection and correction processes | |
CN107992410B (zh) | 软件质量监测方法、装置、计算机设备和存储介质 | |
CN107203467A (zh) | 一种分布式环境下监督学习算法的基准测试方法和装置 | |
Suffian et al. | A prediction model for system testing defects using regression analysis | |
CN104516815A (zh) | 用于支持基于风险的测试的方法和装置 | |
CN106294174B (zh) | 测试充分性的多维度度量方法及装置 | |
Hong et al. | Pavement deterioration model incorporating unobserved heterogeneity for optimal life-cycle rehabilitation policy | |
CN108052444A (zh) | 一种用于移动应用的性能测试的方法与装置 | |
CN106384399A (zh) | 一种面向物联网办公的网络考勤方法 | |
Abdullah et al. | Testability Measurement Model for Object Oriented Design (TMMOOD) | |
Markiegi et al. | Search-based product line fault detection allocating test cases iteratively | |
Gerokostopoulos et al. | Determining the right sample size for your test: Theory and application | |
US20220215144A1 (en) | Learning Apparatus, Learning Method and Learning Program | |
CN104268724A (zh) | 一种业务流程测试方法及装置 | |
CN106209493B (zh) | 一种对互联网服务系统进行流量跟踪的系统与方法 | |
CN104572455B (zh) | 一种基于马尔科夫链的构件化软件可靠性评估方法 | |
Stevanetic et al. | Exploring the relationships between the understandability of architectural components and graph-based component level metrics | |
CN110851344B (zh) | 基于计算公式复杂性的大数据测试方法、装置、电子设备 | |
JPWO2012132169A1 (ja) | リスクプロファイル生成装置 | |
CN106227669B (zh) | 一种代码的测试方法、装置及电子设备 | |
Alagar et al. | Assessment of maintainability in object-oriented software | |
Vlasov et al. | Quality estimation method in advanced software systems | |
CN105281977B (zh) | 一种基于二叉树算法的智能性能测试方法及系统 | |
CN106528397B (zh) | 一种软件测试方法及其装置 | |
Lamas et al. | Applying testing to enhance software product quality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150415 |
|
RJ01 | Rejection of invention patent application after publication |