软件成熟度的测评方法、装置和系统与流程

文档序号:12464226阅读:503来源:国知局
软件成熟度的测评方法、装置和系统与流程
本发明涉及软件测评技术,尤其是一种软件成熟度的测评方法、装置和系统。
背景技术
:软件质量(SoftwareQuality)是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和,简而言之,软件质量是软件一些特性的组合,它仅依赖于软件本身。目前,主要通过两个方向来评价软件产品的软件质量:一个是对产品需求的满足度,即:软件产品完成度的衡量指标;另一个是软件研发过程中,软件产品中的模块变化可能引起软件不稳定的评估指标,即:软件产品的稳定性评估指标。电气和电子工程师协会(InstituteofElectricalandElectronicsEngineers,IEEE)建议采用一种软件成熟度指标(SMI)作为软件产品的稳定性评估指标,其中的稳定性即:基于为每一软件产品发布而做的变化。现有的一种计算SMI的方法是:将SMI和软件产品的维护工作量联系起来,形成一个经验模型,用来度量软件维护的复杂性;利用该经验模型计算当前发布软件的SMI时,需要的基本测量数据以及SMI的计算方法如下:当前发布软件中的模块数MT;当前发布软件中已经改变的模块数Fc;当前发布软件中已经添加的模块数Fa;当前发布软件中已经删除的、前一次发布中的模块数Fd。通过公式:SMI=[MT-(Fa+Fc+Fd)]/MT,计算当前发布软件的SMI。当SMI接近1时,软件产品便开始稳定。在实现本发明的过程中,发明人通过研究发现,上述现有的SMI及其计算方法至少存在以下问题:现有软件产品的SMI及其计算方法,是基于软件产品维护的复杂性分析,其针对的是软件开发过程,用于宏观的、整体的评估一款软件产品达到某个指标需做变更的程度,并不能反映某一时刻软件产品的软件成熟度,对用于保证软件质量的研发、测评过程没有实际指导意义。技术实现要素:本发明实施例所要解决的一个技术问题是:提供一种软件成熟度的测评方法和装置、电子设备,以获取软件产品在某一时刻软件产品的软件成熟度。根据本发明实施例的一个方面,提供的一种软件成熟度的测评方法,包括:获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息;其中,所有软件缺陷包括一个以上软件缺陷,每个软件缺陷的相关信息包括该软件缺陷的最后一个缺陷状态及其对应的第一加权分值,以及该软件缺陷的严重度及其对应的第二加权分值;分别由各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各软件缺陷的软件成熟度值指标值;对所述所有软件缺陷的软件成熟度值指标值进行计算,获得所述待测评软件产品的软件成熟度值指标值。可选地,上述软件成熟度的测评方法中,所述缺陷状态包括:新上报Open、重新上报Reopen、已解决待验证Resolved、验证修改有效关闭Closed、待进一步验证Verified、软件缺陷缺少重要信息WaitForInfo、软件缺陷无效ReviewInvalid、当前不解决软件缺陷ReviewWontfix、重新获取软件缺陷信息WorksForMe、当前项目关闭软件缺陷Plan。可选地,上述软件成熟度的测评方法中,所述缺陷状态中,第一组缺陷状态的第一加权分值、第二组缺陷状态的第一加权分值、第三组缺陷状态的第一加权分值、第四组缺陷状态的第一加权分值依次升高;其中,第一组缺陷状态包括:验证修改有效关闭Closed,当前项目关闭软件缺陷Plan;第二组缺陷状态包括:已解决待验证Resolved、待进一步验证Verified、软件缺陷无效ReviewInvalid、当前不解决软件缺陷ReviewWontfix;第三组缺陷状态包括:软件缺陷缺少重要信息WaitForInfo、重新获取软件缺陷信息WorksForMe;第四组缺陷状态包括:新上报Open、重新上报Reopen。可选地,上述软件成熟度的测评方法中,第一组缺陷状态的第一加权分值为M,第二组缺陷状态的第一加权分值为M+2,第三组缺陷状态的第一加权分值为M+3,第四组缺陷状态的第一加权分值为M+4;其中,M的取值大于或等于0。可选地,上述软件成熟度的测评方法中,所述严重度包括:极严重Blocker、严重Critical、重要Major、一般Minor。可选地,上述软件成熟度的测评方法中,所述一般Minor的第二加权分值、所述重要Major的第二加权分值、所述严重Critical的第二加权分值、所述极严重Blocker的第二加权分值依次升高。可选地,上述软件成熟度的测评方法中,所述一般Minor的第二加权分值为N、所述重要Major的第二加权分值为5N、所述严重Critical的第二加权分值为10N、所述极严重Blocker的第二加权分值为20N;其中,N的取值大于0。可选地,上述软件成熟度的测评方法中,所述分别由各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各软件缺陷的软件成熟度值指标值包括:分别计算各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值的乘积,获得各软件缺陷的软件成熟度值指标值;或者所述对所有软件缺陷的软件成熟度值指标值进行计算,获得所述待测评软件产品的软件成熟度值指标值包括:对所述所有软件缺陷的软件成熟度值指标值进行求和计算,获得所述待测评软件产品的软件成熟度值指标值。可选地,上述软件成熟度的测评方法中,所述获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息,包括:从软件缺陷信息表中获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息;其中,所述软件缺陷信息表包括软件产品在开发和/或测试过程中出现过的软件缺陷的综合信息,所述软件缺陷的综合信息包括软件缺陷的相关信息;所述软件缺陷的综合信息在该软件缺陷出现时被创建或者被进一步更新。根据本发明实施例的另一个方面,提供的一种软件成熟度的测评装置,包括:获取单元,用于获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息;其中,所有软件缺陷包括一个以上软件缺陷,每个软件缺陷的相关信息包括该软件缺陷的最后一个缺陷状态及其对应的第一加权分值,以及该软件缺陷的严重度及其对应的第二加权分值;第一计算单元,用于分别由各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各软件缺陷的软件成熟度值指标值;第二计算单元,用于对所述所有软件缺陷的软件成熟度值指标值进行计算,获得所述待测评软件产品的软件成熟度值指标值。可选地,上述软件成熟度的测评装置中,所述缺陷状态包括:新上报Open、重新上报Reopen、已解决待验证Resolved、验证修改有效关闭Closed、待进一步验证Verified、软件缺陷缺少重要信息WaitForInfo、软件缺陷无效ReviewInvalid、当前不解决软件缺陷ReviewWontfix、重新获取软件缺陷信息WorksForMe、当前项目关闭软件缺陷Plan。可选地,上述软件成熟度的测评装置中,所述缺陷状态中,第一组缺陷状态的第一加权分值、第二组缺陷状态的第一加权分值、第三组缺陷状态的第一加权分值、第四组缺陷状态的第一加权分值依次升高;其中,第一组缺陷状态包括:验证修改有效关闭Closed,当前项目关闭软件缺陷Plan;第二组缺陷状态包括:已解决待验证Resolved、待进一步验证Verified、软件缺陷无效ReviewInvalid、当前不解决软件缺陷ReviewWontfix;第三组缺陷状态包括:软件缺陷缺少重要信息WaitForInfo、重新获取软件缺陷信息WorksForMe;第四组缺陷状态包括:新上报Open、重新上报Reopen。可选地,上述软件成熟度的测评装置中,所述严重度包括:极严重Blocker、严重Critical、重要Major、一般Minor;所述一般Minor的第二加权分值、所述重要Major的第二加权分值、所述严重Critical的第二加权分值、所述极严重Blocker的第二加权分值依次升高。可选地,上述软件成熟度的测评装置中,所述第一计算单元,具体用于分别计算各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值的乘积,获得各软件缺陷的软件成熟度值指标值;或者所述第二计算单元,具体用于对所述所有软件缺陷的软件成熟度值指标值进行求和计算,获得所述待测评软件产品的软件成熟度值指标值。根据本发明实施例的又一个方面,提供的一种软件成熟度的测评系统,包括:缺陷信息管理系统,存储有软件缺陷信息表,所述软件缺陷信息表包括软件产品在开发和/或测试过程中出现过的软件缺陷的综合信息,所述软件缺陷的综合信息包括软件缺陷的相关信息;所述软件缺陷的综合信息在该软件缺陷出现时被创建或者被进一步更新;软件成熟度的测评装置,用于从所述软件缺陷信息表中获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息;其中,所有软件缺陷包括一个以上软件缺陷,每个软件缺陷的相关信息包括该软件缺陷的最后一个缺陷状态及其对应的第一加权分值,以及该软件缺陷的严重度及其对应的第二加权分值;分别由各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各软件缺陷的软件成熟度值指标值;以及对所述所有软件缺陷的软件成熟度值指标值进行计算,获得所述待测评软件产品的软件成熟度值指标值。基于本发明上述实施例提供的软件成熟度的测评方法、装置和系统,对软件产品的软件成熟度进行测评时,获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息,每个软件缺陷的相关信息包括该软件缺陷的最后一个缺陷状态及其对应的第一加权分值,以及该软件缺陷的严重度及其对应的第二加权分值;分别由各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各软件缺陷的软件成熟度值指标值;对所有软件缺陷的软件成熟度值指标值进行计算,获得待测评软件产品的软件成熟度值指标值。本发明实施例提出了一种新的SMI的测评方式,根据待测评软件产品当前存在的所有软件缺陷(BUG)的缺陷状态及其严重度,计算出该待测评软件产品当前的SMI值,用来作为SMI的参考指标,由于该SMI的测评方式基于软件产品当前存在的所有BUG进行,其可以充分反映软件产品在当前时刻的稳定性,研发、测试人员基于该SMI值,便可以实时、充分了解软件产品在当前时刻的软件成熟度状态,从而应用于有效指导保证软件质量的研发、测评过程。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:图1为本发明软件成熟度的测评方法一个实施例的流程图。图2为本发明软件成熟度的测评方法另一个实施例的流程图。图3为本发明实施例中一个软件产品的SMI值的一个走势图。图4为本发明软件成熟度的测评装置一个实施例的结构示意图。图5为本发明软件成熟度的测评系统一个实施例的结构示意图。具体实施方式现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。本发明实施例可以应用于电子设备,例如:移动终端、计算机系统、服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与移动终端、计算机系统、服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。图1为本发明软件成熟度的测评方法一个实施例的流程图。如图1所示,该实施例软件成熟度的测评方法包括:102,获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息。其中,上述所有软件缺陷包括一个以上软件缺陷,每个软件缺陷在不同时刻可能处于不同的缺陷状态(Status),每个软件缺陷的相关信息包括该软件缺陷的最后一个缺陷状态及其对应的第一加权分值,以及该软件缺陷的严重度及其对应的第二加权分值。104,分别由各软件缺陷的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各软件缺陷的SMI值。106,对所有软件缺陷的SMI值进行计算,获得待测评软件产品的SMI值。基于本发明上述实施例提供的软件成熟度的测评方法,提出了一种新的SMI的测评方式,对软件产品的软件成熟度进行测评时,获取待测评软件产品在当前状态下存在的所有BUG的相关信息,每个BUG的相关信息包括该BUG的最后一个缺陷状态及其对应的第一加权分值,以及该BUG的严重度及其对应的第二加权分值;分别由各BUG的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各BUG的SMI值;对所有BUG的SMI值进行计算,获得整个待测评软件产品的SMI值,用来作为SMI的参考指标,SMI值越低表示软件产品的稳定性越好、成熟度越高。由于该SMI的测评方式基于软件产品当前存在的所有BUG进行,其可以充分反映软件产品在当前时刻的稳定性,研发、测试人员基于该SMI值,便可以实时、充分了解软件产品在当前时刻的软件成熟度状态,从而应用于有效指导保证软件质量的研发、测评过程。在本发明软件成熟度的测评方法实施例的一个具体示例中,BUG可能存在的缺陷状态例如可以包括:新上报(Open)、重新上报(Reopen)、已解决待验证(Resolved)、验证修改有效关闭(Closed)、待进一步验证(Verified)、软件缺陷缺少重要信息(WaitForInfo)、软件缺陷无效(ReviewInvalid)、当前不解决软件缺陷(ReviewWontfix)、重新获取软件缺陷信息(WorksForMe)、当前项目关闭软件缺陷(Plan)。在一个软件产品的开发和测试过程中,可能会根据项目需求变化、出现的BUG等情况,对软件产品进行不断的修改,因此,在软件产品的开发和测试过程中,可能导致BUG的缺陷状态在不断变化,从而一个BUG可能存在过多个缺陷状态,针对一个状态下的软件产品进行软件成熟度测评时,该状态下BUG的最后一个缺陷状态才能反映该BUG的当前缺陷状态,因此选取当前状态下各BUG的最后一个缺陷状态及其对应的第一加权分值参与计算该BUG的SMI值。其中,不同缺陷状态的BUG对软件产品稳定性的影响不同,例如,验证修改有效关闭(Closed)状态和当前项目关闭软件缺陷(Plan)状态为BUG生命周期的最终状态,对软件产品的稳定性没有影响;已解决待验证(Resolved)状态、待进一步验证(Verified)状态、软件缺陷无效(ReviewInvalid)状态、和当前不解决软件缺陷(ReviewWontfix)状态为“待验证”状态,对软件产品的稳定性影响较小;软件缺陷缺少重要信息(WaitForInfo)状态和重新获取软件缺陷信息(WorksForMe)状态为需进一步提供信息的状态,对软件产品的稳定性影响较大;新上报(Open)状态和重新上报(Reopen)状态为BUG生命周期的初始,由于是新上报的问题,对软件产品的稳定性影响最大。据此,可以分别为各缺陷状态设置相应的第一加权分值,来反映各缺陷状态的BUG对软件产品稳定性的影响程度。例如,可以根据各缺陷状态的BUG对软件产品稳定性的影响程度,设置第一组缺陷状态的第一加权分值、第二组缺陷状态的第一加权分值、第三组缺陷状态的第一加权分值、第四组缺陷状态的第一加权分值依次升高。其中,第一组缺陷状态包括:验证修改有效关闭(Closed)、和当前项目关闭软件缺陷(Plan);第二组缺陷状态包括:已解决待验证(Resolved)、待进一步验证(Verified)、软件缺陷无效(ReviewInvalid)、和当前不解决软件缺陷(ReviewWontfix);第三组缺陷状态包括:软件缺陷缺少重要信息(WaitForInfo)、重新获取软件缺陷信息(WorksForMe);第四组缺陷状态包括:新上报(Open)、和重新上报(Reopen)。例如,在一个具体的软件产品项目中,可以根据该项目的具体需求,设置第一组缺陷状态的第一加权分值为M,第二组缺陷状态的第一加权分值为M+2,第三组缺陷状态的第一加权分值为M+3,第四组缺陷状态的第一加权分值为M+4。其中,M为基础加权分值,其取值可以大于或等于0。实际应用中,由于验证修改有效关闭(Closed)状态和当前项目关闭软件缺陷(Plan)状态为BUG生命周期的最终状态,对软件产品的稳定性没有影响,通常M的取值为0。在实际应用中,可以根据不同的软件产品的具体需求及其存在的BUG情况,来设置或调整各种缺陷状态的第一加权分值的具体形式及其取值。例如,对于对BUG的解决及时性有硬性要求的软件产品项目,可对应将上述示例中新上报(Open)状态和重新上报(Reopen)状态的第一加权分值调整为M+5或更高。如下表1所示,为本发明实施例中BUG可能存在的缺陷状态(Status)、各缺陷状态的含义说明、以及对应的第一加权分值的一个具体示例。该具体示例不用于限定本发明实施例中BUG仅存在或必须存在的缺陷状态,也不用于限定各缺陷状态对应的第一加权分值的具体取值形式和大小,本领域技术人员技术本发明实施例的记载,可以增加或部分增加、减少或部分减少BUG可能存在的缺陷状态,可以根据实际需求调整各缺陷状态对应的第一加权分值的具体取值形式和/或大小,可以知悉在上述内容变动下本发明软件成熟度的测评方法的具体实现。表1在本发明软件成熟度的测评方法实施例的另一个具体示例中,软件缺陷的严重度按照严重程度可以分为如下四个级别:极严重(Blocker)、严重(Critical)、重要(Major)和一般(Minor)。一般(Minor)的第二加权分值、重要(Major)的第二加权分值、严重(Critical)的第二加权分值、极严重(Blocker)的第二加权分值按照顺序依次升高,第二加权分值越高的,软件缺陷的严重程度更严重。例如,可以设置一般(Minor)的第二加权分值为N、重要(Major)的第二加权分值为5N、严重(Critical)的第二加权分值为10N、极严重(Blocker)的第二加权分值为20N。其中,N的取值大于0。如下表2所示,为本发明实施例中BUG的严重度(Priority)、各严重度的含义说明、以及对应的第二加权分值的一个具体示例。该具体示例不用于限定本发明实施例中BUG的严重度的级别划分,也不用于限定各严重度对应的第二加权分值的具体取值形式和大小,本领域技术人员技术本发明实施例的记载,可以增加或减少BUG的严重度的级别数量,将严重度划分为多于或者少于四个级别,也可以根据实际需求调整各严重度对应的第二加权分值的具体取值形式和/或大小,可以知悉在上述内容变动下本发明软件成熟度的测评方法的具体实现。表2严重度(Priority)严重度说明第二加权分值Blocker极严重问题,影响软件产品的研发进度20NCritical严重问题,影响软件产品的使用10NMajor重要问题5NMinor一般问题,建议修改类问题N其中,Minor为建议类问题,对软件产品的稳定性影响度最低,可以设置其第二加权分值为基础加权N;Major为重要问题,解决优先级略高,对软件产品的稳定性会造成一定影响,可以设置起第二加权分值为5N;Critical为严重问题,必须解决,否则将会影响软件产品的正常使用,对软件产品的稳定性影响很高,可以设置起第二加权分值为10N;Blocker为极严重问题,设置严重度级别主要是针对一些影响项目可行性、或者直接导致项目失败的极端问题,可以设置起第二加权分值为20N。在本发明软件成熟度的测评方法实施例的又一个具体示例中,在上述操作104中,具体可以通过分别计算各BUG的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值的乘积,获得各BUG的SMI值。具体地,各BUG的SMI值可以表示为SMIi,其中,i表示待测评软件产品在当前状态下存在的第i个软件缺陷,i=1,2,…,n,n为待测评软件产品在当前状态下存在的所有BUG的数值,n的取值为大于0的整数;或者,i也可以是待测评软件产品中该BUG标识(ID),在一个待测评软件产品中,每个BUGID唯一标识一个BUG。如以[Status]i表示待测评软件产品在当前状态下存在的BUGi的最后一个缺陷状态对应的第一加权分值,[Priority]i表示待测评软件产品在当前状态下存在的BUGi的严重度对应的第二加权分值,则通过如下公式可以计算BUGi的SMI值:SMIi=[Status]i×[Priority]i举例而言,若设置M=0,N=1,则对于单一BUG,计算出的SMI值SMIi可参考如下表3。表3在本发明软件成熟度的测评方法实施例的再一个具体示例中,在上述操作106中,具体可以对待测评软件产品在当前状态下存在的所有BUG的SMIi进行求和计算,来获得待测评软件产品的SMI值,即:SMI=SUM(SMIi)=SUM([Status]i×[Priority]i),i=1,2,…,n,n为待测评软件产品在当前状态下存在的所有BUG的数值,n的取值为大于0的整数;或者,i也可以是待测评软件产品中该BUGID,在一个待测评软件产品中,每个BUGID唯一标识一个BUG。另外,在本发明软件成熟度的测评方法另一个实施例中,可以在软件缺陷信息表中,针对软件产品在开发和/或测试过程中出现的软件缺陷,创建该软件产品出现的各软件缺陷的综合信息,该软件缺陷的综合信息包括软件缺陷的相关信息,并在后续出现新的软件缺陷时或者根据研发、测试的需求更新已有的软件缺陷的综合信息,例如,研发、测试人员可以根据BUG的处理进展更新其缺陷状态和/或严重度,或者根据软件产品项目的需求改变BUG的第一加权分值和/或第二加权分值。实际应用中,其中的软件缺陷信息表具体可以是一个EXCEL表,也可以是一个BUG管理系统中记录开发人员和/或测试人员输入的信息的数据库,或者基于开发人员和/或测试人员向BUG管理系统输入的信息生成的一个表,等。则与该实施例相应地,操作102中,具体从软件缺陷信息表中获取待测评软件产品在当前状态下存在的所有软件缺陷的相关信息。图2为本发明软件成熟度的测评另一个实施例的流程图。如图2所示,该实施例软件成熟度的测评方法包括:202,从软件缺陷信息表中获取待测评软件产品在当前状态下存在的所有BUG的相关信息。其中,上述所有BUG包括一个以上BUG,每个BUG在不同时刻可能处于不同的缺陷状态,每个BUG的相关信息包括该BUG的最后一个缺陷状态及其对应的第一加权分值,以及该BUG的严重度及其对应的第二加权分值。204,分别计算各BUG的最后一个缺陷状态对应的第一加权分值[Status]i和严重度对应的第二加权分值[Priority]i的乘积,获得各软件缺陷的SMIi值:SMIi=[Status]i×[Priority]i。其中,i表示待测评软件产品在当前状态下存在的第i个BUG,i=1,2,…,n,n为待测评软件产品在当前状态下存在的所有BUG的数值,n的取值为大于0的整数;或者,i也可以是待测评软件产品中该BUGID,在一个待测评软件产品中,每个BUGID唯一标识一个BUG。假设待测评软件产品在当前状态下存在2个BUG,其中第1个BUG在软件缺陷信息表中的描述如下表4所示,第2个BUG在软件缺陷信息表中的描述如下表5所示。表4表5上述表4和表5中,SMT表示待测评软件产品的项目ID,每个项目ID唯一标识一个软件产品,1990和1991为BUGID。则根据表4,第1个BUG的缺陷状态Status为Open,第一加权分值[Status]1990=4;严重度Priority为Critical,第二加权分值[Priority]1990=20,若M=0,N=1,则根据表3,可以获知第1个BUG的SMI值SMI1990=40。根据表5,第2个BUG的缺陷状态Status为Resolved,第一加权分值[Status]1991=2;严重度Priority为Major,第二加权分值[Priority]1991=5,若M=0,N=1,则根据表3,可以获知第2个BUG的SMI值SMI1991=10。206,对待测评软件产品在当前状态下存在的所有BUG的SMIi进行求和计算,即:SMI=SUM(SMIi)=SUM([Status]i×[Priority]i),来获得待测评软件产品的SMI值。其中,i=1,2,…,n,n为待测评软件产品在当前状态下存在的所有BUG的数值,n的取值为大于0的整数;或者,i也可以是待测评软件产品中该BUGID,在一个待测评软件产品中,每个BUGID唯一标识一个BUG。继续操作204中的示例,对这两个BUG的SMIi进行求和计算:SMI1990+SMI1991=40+10=50。基于本发明实施例的一个应用,可以获取软件产品在不同时刻的SMI值。为了宏观的感知软件产品在整个研发、测试阶段的软件成熟度,可以在软件产品的研发、测试阶段,按照预设周期(例如,周、月等)计算其SMI值,可以实时了解软件产品的成熟度状态,还可以进一步将不同周期计算出的SMI值绘制成图,以便更直观的感知软件产品在整个研发、测试阶段的软件成熟度变化情况。如图3所示,为本发明实施例中一个软件产品的SMI值的一个走势图,该走势图给出了软件产品在各周(WEEK)的SMI值的变化。另外,基于本发明实施例的进一步应用中,可以通过观察走势图中SMI曲线的趋势(上升、下降),分析原因,以指导调整软件产品研发的工作重点;还可以在软件产品的开发项目结束后,通过SMI曲线的整体形状特点,分析项目工作中导致SMI曲线异常拐点,以便改进后续工作;另外,还可通过不同项目的SMI曲线的对比,按照SMI曲线的趋势变化特点归纳分类项目类型,以帮助完善项目管理机制。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图4为本发明软件成熟度的测评装置一个实施例的结构示意图。该实施例的软件成熟度的测评装置可用于实现本发明上述各软件成熟度的测评方法实施例。如图4所示,该实施例软件成熟度的测评装置包括:获取单元,第一计算单元和第二计算单元。其中:获取单元,用于获取待测评软件产品在当前状态下存在的所有BUG的相关信息。其中,上述所有BUG包括一个以上BUG,每个BUG在不同时刻可能处于不同的缺陷状态(Status),每个BUG的相关信息包括该BUG的最后一个缺陷状态及其对应的第一加权分值,以及该BUG的严重度及其对应的第二加权分值。具体示例中,BUG可能存在的缺陷状态例如可以包括:新上报(Open)、重新上报(Reopen)、已解决待验证(Resolved)、验证修改有效关闭(Closed)、待进一步验证(Verified)、软件缺陷缺少重要信息(WaitForInfo)、软件缺陷无效(ReviewInvalid)、当前不解决软件缺陷(ReviewWontfix)、重新获取软件缺陷信息(WorksForMe)、当前项目关闭软件缺陷(Plan)。在一个软件产品的开发和测试过程中,可能会根据项目需求变化、出现的BUG等情况,对软件产品进行不断的修改,因此,在软件产品的开发和测试过程中,可能导致BUG的缺陷状态在不断变化,从而一个BUG可能存在过多个缺陷状态,针对一个状态下的软件产品进行软件成熟度测评时,该状态下BUG的最后一个缺陷状态才能反映该BUG的当前缺陷状态,因此选取当前状态下各BUG的最后一个缺陷状态及其对应的第一加权分值参与计算该BUG的SMI值。其中,不同缺陷状态的BUG对软件产品稳定性的影响不同,例如,验证修改有效关闭(Closed)状态和当前项目关闭软件缺陷(Plan)状态为BUG生命周期的最终状态,对软件产品的稳定性没有影响;已解决待验证(Resolved)状态、待进一步验证(Verified)状态、软件缺陷无效(ReviewInvalid)状态、和当前不解决软件缺陷(ReviewWontfix)状态为“待验证”状态,对软件产品的稳定性影响较小;软件缺陷缺少重要信息(WaitForInfo)状态和重新获取软件缺陷信息(WorksForMe)状态为需进一步提供信息的状态,对软件产品的稳定性影响较大;新上报(Open)状态和重新上报(Reopen)状态为BUG生命周期的初始,由于是新上报的问题,对软件产品的稳定性影响最大。据此,可以分别为各缺陷状态设置相应的第一加权分值,来反映各缺陷状态的BUG对软件产品稳定性的影响程度。例如,可以根据各缺陷状态的BUG对软件产品稳定性的影响程度,设置第一组缺陷状态的第一加权分值、第二组缺陷状态的第一加权分值、第三组缺陷状态的第一加权分值、第四组缺陷状态的第一加权分值依次升高。其中,第一组缺陷状态包括:验证修改有效关闭(Closed)、和当前项目关闭软件缺陷(Plan);第二组缺陷状态包括:已解决待验证(Resolved)、待进一步验证(Verified)、软件缺陷无效(ReviewInvalid)、和当前不解决软件缺陷(ReviewWontfix);第三组缺陷状态包括:软件缺陷缺少重要信息(WaitForInfo)、重新获取软件缺陷信息(WorksForMe);第四组缺陷状态包括:新上报(Open)、和重新上报(Reopen)。例如,在一个具体的软件产品项目中,可以根据该项目的具体需求,设置第一组缺陷状态的第一加权分值为M,第二组缺陷状态的第一加权分值为M+2,第三组缺陷状态的第一加权分值为M+3,第四组缺陷状态的第一加权分值为M+4。其中,M为基础加权分值,其取值可以大于或等于0。实际应用中,由于验证修改有效关闭(Closed)状态和当前项目关闭软件缺陷(Plan)状态为BUG生命周期的最终状态,对软件产品的稳定性没有影响,通常M的取值为0。在另一个具体示例中,软件缺陷的严重度按照严重程度可以分为如下四个级别:极严重(Blocker)、严重(Critical)、重要(Major)和一般(Minor)。一般(Minor)的第二加权分值、重要(Major)的第二加权分值、严重(Critical)的第二加权分值、极严重(Blocker)的第二加权分值按照顺序依次升高,第二加权分值越高的,软件缺陷的严重程度更严重。例如,可以设置一般(Minor)的第二加权分值为N、重要(Major)的第二加权分值为5N、严重(Critical)的第二加权分值为10N、极严重(Blocker)的第二加权分值为20N。其中,N的取值大于0。第一计算单元,用于分别由各BUG的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各BUG的软件成熟度值指标值。示例性地,第一计算单元具体可以通过分别计算各BUG的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值的乘积,获得各BUG的SMI值。具体地,各BUG的SMI值可以表示为SMIi,其中,i表示待测评软件产品在当前状态下存在的第i个软件缺陷,i=1,2,…,n,n为待测评软件产品在当前状态下存在的所有BUG的数值,n的取值为大于0的整数;或者,i也可以是待测评软件产品中该BUG标识(ID),在一个待测评软件产品中,每个BUGID唯一标识一个BUG。如以[Status]i表示待测评软件产品在当前状态下存在的BUGi的最后一个缺陷状态对应的第一加权分值,[Priority]i表示待测评软件产品在当前状态下存在的BUGi的严重度对应的第二加权分值,则第一计算单元可以通过如下公式可以计算BUGi的SMI值:SMIi=[Status]i×[Priority]i第二计算单元,用于对上述所有BUG的软件成熟度值指标值进行计算,获得待测评软件产品的软件成熟度值指标值。示例性地,第二计算单元具体可以对待测评软件产品在当前状态下存在的所有BUG的SMIi进行求和计算,来获得待测评软件产品的SMI值,即:SMI=SUM(SMIi)=SUM([Status]i×[Priority]i),i=1,2,…,n,n为待测评软件产品在当前状态下存在的所有BUG的数值,n的取值为大于0的整数;或者,i也可以是待测评软件产品中该BUGID,在一个待测评软件产品中,每个BUGID唯一标识一个BUG。基于本发明上述实施例提供的软件成熟度的测评装置,根据待测评软件产品当前存在的所有软件缺陷(BUG)的缺陷状态及其严重度,计算出该待测评软件产品当前的SMI值,用来作为SMI的参考指标,由于该SMI的测评方式基于软件产品当前存在的所有BUG进行,其可以充分反映软件产品在当前时刻的稳定性,研发、测试人员基于该SMI值,便可以实时、充分了解软件产品在当前时刻的软件成熟度状态,从而应用于有效指导保证软件质量的研发、测评过程。本发明实施例还提供了一种软件成熟度的测评系统。如图5所示,为本发明软件成熟度的测评系统一个实施例的结构示意图。该实施例中,软件成熟度的测评系统包括缺陷信息管理系统和软件成熟度的测评装置。其中:缺陷信息管理系统,存储有BUG信息表,该BUG信息表包括软件产品在开发和/或测试过程中出现过的BUG的综合信息,BUG的综合信息包括BUG的相关信息;BUG的综合信息在该BUG出现时被创建或者被进一步更新。软件成熟度的测评装置,用于从BUG信息表中获取待测评软件产品在当前状态下存在的所有BUG的相关信息;其中,所有BUG包括一个以上BUG,每个BUG的相关信息包括该BUG的最后一个缺陷状态及其对应的第一加权分值,以及该BUG的严重度及其对应的第二加权分值;分别由各BUG的最后一个缺陷状态对应的第一加权分值和严重度对应的第二加权分值,计算各BUG的软件成熟度值指标值;以及对所有BUG的软件成熟度值指标值进行计算,获得待测评软件产品的软件成熟度值指标值。具体地,该实施例中的软件成熟度的测评装置可以基于上述任一实施例软件成熟度的测评装置的结构实现。基于本发明上述实施例提供的软件成熟度的测评系统,根据待测评软件产品当前存在的所有软件缺陷(BUG)的缺陷状态及其严重度,计算出该待测评软件产品当前的SMI值,用来作为SMI的参考指标,由于该SMI的测评方式基于软件产品当前存在的所有BUG进行,其可以充分反映软件产品在当前时刻的稳定性,研发、测试人员基于该SMI值,便可以实时、充分了解软件产品在当前时刻的软件成熟度状态,从而应用于有效指导保证软件质量的研发、测评过程。本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置、系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1