CN109582557A - 基于代价的测试质量评估方法及系统 - Google Patents
基于代价的测试质量评估方法及系统 Download PDFInfo
- Publication number
- CN109582557A CN109582557A CN201710911997.XA CN201710911997A CN109582557A CN 109582557 A CN109582557 A CN 109582557A CN 201710911997 A CN201710911997 A CN 201710911997A CN 109582557 A CN109582557 A CN 109582557A
- Authority
- CN
- China
- Prior art keywords
- defect
- cost
- stage
- test
- reparation
- 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
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/3692—Test management for test results 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/3664—Environments for testing or debugging software
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于代价的测试质量评估方法及系统,包括:1)将测试过程中发现的缺陷逐个登记在缺陷登记库;2)对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性;3)定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价;4)基于步骤3)中得到的总平均修复代价,评估测试质量。本发明通过分析软件研发过程中缺陷引入阶段和发现阶段,对每个缺陷的修复代价进行计算,统计出所有缺陷的修复代价,通过对缺陷修复代价的分析,能更好地改进测试环节和加强质量控制关键节点,提升软件测试水平,此评估方法能更好地从成本的角度,来评价软件测试过程,成为其他评价方法的重要补充。
Description
技术领域
本发明属于软件测试领域,更具体地,涉及一种基于代价的测试质量评估方法及系统。
背景技术
软件测试是软件质量保证的最后一道关口,质量不佳的软件产品不仅会使软件维护费用和用户的使用成本大幅度增加,还可能产生其他的责任风险,一些关键的应用领域(例如银行、证券交易、军事等)如果质量有问题,还可能造成灾难性的后果。
软件中错误还经常会导致软件开发在成本、进度和质量上的失控,因此,现在软件研发强调测试人员要在软件开发的早期,如需求分析阶段就应介入,问题发现的越早越好。发现缺陷后,要尽快修复缺陷。也许一开始,只是一个很小范围内的错误,但随着产品开发工作的进行,小错误会扩散成大错误,如果错误不能及早发现,那只可能造成越来越严重的后果。缺陷发现或解决的越迟,成本就越高。
软件测试固然重要,但测试效果如何,需要有专门的评估手段,传统的测试评估,一方面是评估测试的覆盖率,包括测试用例的执行率、测试用例对需求的覆盖率,另一方面,通过历史经验数据和缺陷预测软件来评估测试过程中缺陷的发现率(或者遗留缺陷率),从而评估软件测试的过程和效果。上述的评估方法具有局限性,没有考虑成本因素,因为缺陷修复成本随着研发周期不同而不同,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的2~5倍,在编程阶段是它的10倍,在内部测试阶段是它的20~30倍,在外部测试阶段是它的30~60倍,而到了产品发布出去时,这个数字就是50~1000倍,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。缺陷发现的越晚,修复缺陷付出的代价越大。因此有必要从成本的角度出发,提供一种测试质量评估方法。
发明内容
本发明通过分析软件缺陷引入阶段和发现阶段,对每个缺陷的修复代价进行计算,统计出所有缺陷的修复代价,根据缺陷代价来评估测试过程和效果,从而达到改进测试,节约成本的目的。
根据本发明的一方面,提出了一种基于代价的测试质量评估方法,该方法包括:1)将测试过程中发现的缺陷登记在缺陷登记库;2)对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性;3)定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价;4)基于步骤3)中得到的总平均修复代价,评估测试质量。
优选地,所述软件研发过程包括:需求阶段、设计阶段、编码阶段、单元测试阶段、集成测试阶段、系统测试阶段、软件发布阶段。
优选地,所述缺陷总平均修复代价表示为:
其中,C表示为缺陷总平均修复代价;n为缺陷个数;Ci为每个缺陷的修复代价。
优选地,所述缺陷的修复代价表示为:
Ci=Ci·发现-Ci·引入 (2)
其中,Ci表示为每个缺陷的修复代价;Ci·发现为每个缺陷发现阶段成本系数;Ci·引入为缺陷引入阶段成本系数。
根据本发明的另一方面,提出了一种基于代价的测试质量评估系统,所述系统包括:存储器,存储有计算机可执行指令;处理器,运行所述存储器上的计算可执行指令时,所述处理器实现以下步骤:1)将测试过程中发现的缺陷登记在缺陷登记库;2)对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性;3)定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价;4)基于步骤3)中得到的总平均修复代价,评估测试质量。
优选地,所述软件研发过程包括:需求阶段、设计阶段、编码阶段、单元测试阶段、集成测试阶段、系统测试阶段、软件发布阶段。
优选地,所述缺陷总平均修复代价表示为:
其中,C表示为缺陷总平均修复代价;n为缺陷个数;Ci为每个缺陷的修复代价。
优选地,所述缺陷的修复代价表示为:
Ci=Ci·发现-Ci·引入 (2)
其中,Ci表示为每个缺陷的修复代价;Ci·发现为每个缺陷发现阶段成本系数;Ci·引入为缺陷引入阶段成本系数。
本发明的有益效果在于:通过分析软件研发过程中缺陷引入阶段和发现阶段,对每个缺陷的修复代价进行计算,统计出所有缺陷的修复代价,通过对缺陷修复代价的分析,能更好地改进测试环节和加强质量控制关键节点,提升软件测试水平,此评估方法能更好地从成本的角度,来评价软件测试过程,成为其他评价方法的重要补充。
本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了根据本发明的基于代价的测试质量评估方法的流程图。
具体实施方式
下面将更详细地描述本发明的优选实施方式。虽然以下描述了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
实施例1
在该实施例中,根据本发明的基于代价的测试质量评估方法可以包括:1)将测试过程中发现的缺陷逐个登记在缺陷登记库;2)对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性;3)定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价;4)基于步骤3)中得到的总平均修复代价,评估测试质量。
该实施例通过分析软件缺陷引入阶段和发现阶段,对每个缺陷的修复代价进行计算,统计出所有缺陷的修复代价,根据缺陷代价来评估测试过程和效果,从而达到改进测试,节约成本的目的。
图1示出了根据本发明的基于代价的测试质量评估方法的流程图。下面参考图1详细说明根据本发明的基于代价的测试质量评估方法的具体步骤。
步骤1,将测试过程中发现的缺陷登记在缺陷登记库。
具体地,逐个登记测试过程中发现的每个缺陷,并增加缺陷的引入阶段和发现阶段两个缺陷属性。
步骤2,对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性。
具体地,对缺陷登记库中每个缺陷进行仔细分析,分析缺陷引入阶段,并把引入阶段和发现阶段填入每个缺陷对应的属性中。
步骤3,定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价。
在一个示例中,软件研发过程包括:需求阶段、设计阶段、编码阶段、单元测试阶段、集成测试阶段、系统测试阶段、软件发布阶段。
步骤4,基于步骤3)中得到的总平均修复代价,评估测试质量。
在一个示例中,每个缺陷的修复代价表示为:
Ci=Ci·发现-Ci·引入 (2)
其中,Ci表示为每个缺陷的修复代价;Ci·发现为每个缺陷发现阶段成本系数;Ci·引入为缺陷引入阶段成本系数。
具体地,引入代价的概念,假设缺陷在引入阶段就被发现,则修复缺陷代价为零(评估测试过程,不计入引入缺陷阶段本该付出的成本,只计入因缺陷发现较晚而造成的超额成本),否则修复缺陷的代价为发现缺陷的阶段修复成本减去引入阶段修复的成本,每个缺陷的修复代价如公式(2)所示。
在一个示例中,缺陷总平均修复代价表示为:
其中,C表示为缺陷总平均修复代价;n为缺陷个数;Ci为每个缺陷的修复代价。
具体地,定义软件研发每个阶段缺陷的修复成本系数,计算所有缺陷总平均修复代价,根据缺陷总平均修复代价,评价软件测试过程,控制关键环节的质量,加强软件测试的关键环节。
本实施例通过分析软件研发过程中缺陷引入阶段和发现阶段,对每个缺陷的修复代价进行计算,统计出所有缺陷的修复代价,通过对缺陷修复代价的分析,能更好地改进测试环节和加强质量控制关键节点,提升软件测试水平,此评估方法能更好地从成本的角度,来评价软件测试过程,成为其他评价方法的重要补充。
实施例2
根据本发明的实施例,提供了一种基于代价的测试质量评估系统,系统包括:存储器,存储有计算机可执行指令;处理器,运行存储器上的计算可执行指令时,处理器实现以下步骤:1)将测试过程中发现的缺陷逐个登记在缺陷登记库;2)对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性;3)定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价;4)基于步骤3)中得到的总平均修复代价,评估测试质量。
该实施例通过分析软件缺陷引入阶段和发现阶段,对每个缺陷的修复代价进行计算,统计出所有缺陷的修复代价,根据缺陷代价来评估测试过程和效果,从而达到改进测试,节约成本的目的。
在一个示例中,软件研发过程包括:需求阶段、设计阶段、编码阶段、单元测试阶段、集成测试阶段、系统测试阶段、软件发布阶段。
在一个示例中,缺陷总平均修复代价表示为:
其中,C表示为缺陷总平均修复代价;n为缺陷个数;Ci为每个缺陷的修复代价。
在一个示例中,缺陷的修复代价表示为:
Ci=Ci·发现-Ci·引入 (2)
其中,Ci表示为每个缺陷的修复代价;Ci·发现为每个缺陷发现阶段成本系数;Ci·引入为缺陷引入阶段成本系数。
本实施例通过分析软件研发过程中缺陷引入阶段和发现阶段,对每个缺陷的修复代价进行计算,统计出所有缺陷的修复代价,通过对缺陷修复代价的分析,能更好地改进测试环节和加强质量控制关键节点,提升软件测试水平,此评估方法能更好地从成本的角度,来评价软件测试过程,成为其他评价方法的重要补充。
本领域技术人员应理解,上面对本发明的实施例的描述的目的仅为了示例性地说明本发明的实施例的有益效果,并不意在将本发明的实施例限制于所给出的任何示例。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
Claims (8)
1.一种基于代价的测试质量评估方法,其特征在于,该方法包括:
1)将测试过程中发现的缺陷登记在缺陷登记库;
2)对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性;
3)定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价;
4)基于步骤3)中得到的总平均修复代价,评估测试质量。
2.根据权利要求1所述的基于代价的测试质量评估方法,其中,所述软件研发过程包括:需求阶段、设计阶段、编码阶段、单元测试阶段、集成测试阶段、系统测试阶段、软件发布阶段。
3.根据权利要求1所述的基于代价的测试质量评估方法,其中,所述缺陷总平均修复代价表示为:
其中,C表示为缺陷总平均修复代价;n为缺陷个数;Ci为每个缺陷的修复代价。
4.根据权利要求3所述的基于代价的测试质量评估方法,其中,每个所述缺陷的修复代价表示为:
Ci=Ci.发现-Ci.引入 (2)
其中,Ci表示为每个缺陷的修复代价;Ci.发现为每个缺陷发现阶段成本系数;Ci.引入为缺陷引入阶段成本系数。
5.一种基于代价的测试质量评估系统,其特征在于,所述系统包括:
存储器,存储有计算机可执行指令;
处理器,运行所述存储器上的计算可执行指令时,所述处理器实现以下步骤:
1)将测试过程中发现的缺陷登记在缺陷登记库;
2)对每个缺陷增加缺陷引入阶段和缺陷发现阶段两个缺陷属性;
3)定义软件研发过程每个阶段缺陷的修复成本系数,计算所有缺陷的总平均修复代价;
4)基于步骤3)中得到的总平均修复代价,评估测试质量。
6.根据权利要求5所述的基于代价的测试质量评估系统,其中,所述软件研发过程包括:需求阶段、设计阶段、编码阶段、单元测试阶段、集成测试阶段、系统测试阶段、软件发布阶段。
7.根据权利要求5所述的基于代价的测试质量评估系统,其中,所述缺陷总平均修复代价表示为:
其中,C表示为缺陷总平均修复代价;n为缺陷个数;Ci为每个缺陷的修复代价。
8.根据权利要求7所述的基于代价的测试质量评估系统,其中,每个所述缺陷的修复代价表示为:
Ci=Ci.发现-Ci.引入 (2)
其中,Ci表示为每个缺陷的修复代价;Ci.发现为每个缺陷发现阶段成本系数;Ci.引入为缺陷引入阶段成本系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710911997.XA CN109582557A (zh) | 2017-09-29 | 2017-09-29 | 基于代价的测试质量评估方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710911997.XA CN109582557A (zh) | 2017-09-29 | 2017-09-29 | 基于代价的测试质量评估方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109582557A true CN109582557A (zh) | 2019-04-05 |
Family
ID=65919368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710911997.XA Pending CN109582557A (zh) | 2017-09-29 | 2017-09-29 | 基于代价的测试质量评估方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582557A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347599A (zh) * | 2019-07-11 | 2019-10-18 | 电信科学技术第十研究所有限公司 | 一种基于测试缺陷数据的管理方法及装置 |
CN112650668A (zh) * | 2019-10-12 | 2021-04-13 | 中国石油化工股份有限公司 | 物探解释软件测试方法 |
CN113626323A (zh) * | 2021-07-31 | 2021-11-09 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 软件生命周期各阶段质量Bug测试评价方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604288A (zh) * | 2009-07-10 | 2009-12-16 | 北京航空航天大学 | 一种基于测试数据的软件质量评价方法 |
US20160232079A1 (en) * | 2014-12-05 | 2016-08-11 | International Business Machines Corporation | Software testing optimizer |
CN106294129A (zh) * | 2016-07-27 | 2017-01-04 | 北京小米移动软件有限公司 | 代码覆盖率测试方法及装置 |
CN107122302A (zh) * | 2017-04-28 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种软件测试有效性度量和评估方法 |
-
2017
- 2017-09-29 CN CN201710911997.XA patent/CN109582557A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604288A (zh) * | 2009-07-10 | 2009-12-16 | 北京航空航天大学 | 一种基于测试数据的软件质量评价方法 |
US20160232079A1 (en) * | 2014-12-05 | 2016-08-11 | International Business Machines Corporation | Software testing optimizer |
CN106294129A (zh) * | 2016-07-27 | 2017-01-04 | 北京小米移动软件有限公司 | 代码覆盖率测试方法及装置 |
CN107122302A (zh) * | 2017-04-28 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种软件测试有效性度量和评估方法 |
Non-Patent Citations (1)
Title |
---|
张馨: "软件测试有效性度量与评估研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347599A (zh) * | 2019-07-11 | 2019-10-18 | 电信科学技术第十研究所有限公司 | 一种基于测试缺陷数据的管理方法及装置 |
CN110347599B (zh) * | 2019-07-11 | 2023-05-09 | 电信科学技术第十研究所有限公司 | 一种基于测试缺陷数据的管理方法及装置 |
CN112650668A (zh) * | 2019-10-12 | 2021-04-13 | 中国石油化工股份有限公司 | 物探解释软件测试方法 |
CN113626323A (zh) * | 2021-07-31 | 2021-11-09 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 软件生命周期各阶段质量Bug测试评价方法 |
CN113626323B (zh) * | 2021-07-31 | 2024-03-15 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 软件生命周期各阶段质量Bug测试评价方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016188170A1 (zh) | 测试方法和装置、设备、计算机存储介质 | |
CN109582557A (zh) | 基于代价的测试质量评估方法及系统 | |
US8667458B2 (en) | System and method to produce business case metrics based on code inspection service results | |
CN105548946B (zh) | 针对智能电能表的计量误差的多准则筛查方法和装置 | |
US10235269B2 (en) | System and method to produce business case metrics based on defect analysis starter (DAS) results | |
US20190042398A1 (en) | Interactive software program repair | |
CN110032504A (zh) | 软件质量确定设备、软件质量确定方法和软件质量确定程序 | |
EP3070613A1 (en) | Computer system testing | |
CN111538654A (zh) | 一种软件可靠性测试方法、系统、存储介质、计算机程序 | |
US20200249929A1 (en) | Automated candidate repair patch generation | |
Stringfellow et al. | Estimating the number of components with defects post‐release that showed no defects in testing | |
KR101478935B1 (ko) | 리스크-프로파일 생성 장치 | |
Coq et al. | The SQALE quality and analysis models for assessing the quality of ada source code | |
Tao et al. | A hierarchical model for regression test selection and cost analysis of java programs | |
Kwon et al. | Prioritizing browser environments for web application test execution | |
Visconti et al. | Assessing the state of software documentation practices | |
Letouzey et al. | The SQALE models for assessing the quality of real time source code | |
US20070294072A1 (en) | Testing model | |
Hwang et al. | Application of customized industry-specific metrics to assessment of capital projects performances | |
Woodhams et al. | Exploring the consequences of lack of closure in codon models | |
Travassos | Software Defects: Stay Away from Them. Do Inspections! | |
Khalilian et al. | On the evaluation of automatic program repair techniques and tools | |
Nikfard et al. | An evaluation for model testability approaches | |
Rotella et al. | Predicting software field reliability | |
Jyoti | A comparative study of five regression testing techniques: A survey |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190405 |
|
RJ01 | Rejection of invention patent application after publication |