网站首页  词典首页

请输入您要查询的论文:

 

标题 软件测试成本度量基本方法研究
范文 田辉++王玲


摘要摘要:随着软件测试行业的兴起,如何预测、评估、控制软件测试成本,成为软件测试团队和第三方软件测评机构需要研究的问题。软件测试成本度量是对软件测试成本进行数据定义、收集以及分析的持续性定量化过程。目前,我国尚缺少软件测试成本度量方面的规范,如何开展软件测试成本度量工作缺少指导依据。从软件测试成本构成、软件测试成本度量过程、软件测试成本度量应用三方面,对如何开展软件测试成本度量工作进行了阐述。
关键词关键词:软件测试;成本估算;数据采集;度量分析
DOIDOI:10.11907/rjdk.151882
中图分类号:TP301
文献标识码:A文章编号文章编号:16727800(2015)011000103
基金项目基金项目:山东省质监局科技计划项目(2013KYZ24)
作者简介作者简介:田辉(1987-),女,山东济南人,硕士,国家网络软件产品质量监督检验中心(济南)工程师,研究方向为软件检测技术;王玲(1963-),女,山东济南人,国家网络软件产品质量监督检验中心(济南)中心副主任、高级工程师,研究方向为软件检测技术。
0引言
随着软件在各行各业的日益普及,越来越多的企业和用户意识到软件测试的重要性,第三方软件测试行业快速发展。如何预测、评估、控制软件测试成本成为当前研究的重点。软件测试成本度量是对软件测试项目的成本进行数据定义、收集以及分析的持续性定量化过程。PMP从项目经理的角度对项目成本管理进行了规范,CMMI从项目组织层面对如何度量进行了规范。然而,目前国内尚缺乏软件测试成本度量方面的规范。本文对软件测试成本度量方法进行了研究,从软件测试成本的构成、软件测试成本度量的过程、软件测试成本度量的应用三方面阐述如何开展软件测试成本度量工作,为软件测试团队和第三方软件测评机构的测试成本度量提供科学依据。
1软件测试成本构成
软件测试成本由直接成本和间接成本构成。直接成本包括直接人力成本和直接非人力成本,间接成本包括间接人力成本和间接非人力成本。软件测试成本构成如图1所示。
(1)直接人力成本包括软件测试人员的工资、奖金、福利等人力资源费用。对于非全职投入软件测试人员,按照在软件测试项目中的工作量占其总工作量比例折算其人力资源费用。软件测试人员一般包括测试项目负责人、测试分析员、测试设计员、测试程序员、测试人员、测试系统管理员、配置管理员。一人可承担多个角色的工作,一个角色可由多人承担。其中,当软件供方实施测试时,配置管理员由软件开发项目的配置管理员承担;当独立的测试组织实施测试时,应为测试活动配置管理员。
(2)直接非人力成本包括软件测试方为测试该项目而产生的办公费、差旅费、培训费、业务费、采购费及其它未在以上项目列出,但确系软件测试方为测试此项目所花费的费用。
(3)间接人力成本指软件测试方服务于测试管理整体需求的非软件测试人员人力资源费用分摊,包括质量保证人员、组织级技术管理人员等的工资、奖金、福利等分摊。
(4)间接非人力成本指软件测试方不为测试某个特定项目而产生,但服务于整体研发活动的非人力成本分摊,包括软件测试方场地房租、水电、物业,软件测试人员日常办公费用分摊及各种研发办公设备的租赁、维修、折旧分摊。
2软件测试成本度量过程
软件测试成本度量过程[5]包括软件测试成本的估算、软件测试成本的测量和软件测试成本分析三部分。
2.1软件测试成本估算
2.1.1软件测试成本估算基本流程
软件测试成本估算基本流程如图2所示。
本文所指的被测软件是指具有测试计划或测试合同、具有软件测试所需的各种文档,系统边界已确定、需求描述明确、编码工作基本完成且版本受控的软件。软件测试成本估算从软件规模度量开始,对工作量、工期、成本进行估算,可充分利用基准数据,采用方程法、类比法或类推法。
2.1.2软件规模度量
功能点(FP)与代码行(LOC)是常用的两种软件规模度量方法[6]。然而,随着近年来可视化编程工具、模板库、类库的广泛采用,程序中有大量自动生成的代码、复杂的自动配置脚本或资源文件设置,在采用这些工具的项目中,用LOC进行软件规模度量已经不够准确。相对而言,近年来FP方法得到了不断的改进和完善,其历史数据也有了非常大的积累,技术日趋成熟。鉴于上述两种方法的优缺点,本文选用功能点估算方法。
在软件规模度量前,估算人员应根据测试计划或测试合同中规定的测试范围确定系统边界,然后再根据已确定的系统边界和需求描述、项目特点和度量需求进行软件功能规模度量。在软件规模度量时,估算人员应考虑可能的测试需求变更程度,并对规模度量结果适当调整。
度量的方法可选用国际标准化组织ISO/IEC已发布的以下5种功能规模度量标准中的一种,即:①ISO/IEC 19761(COSMIC-FFP方法);②ISO/IEC 20926(IFPUG方法);③ISO/IEC 20968(MkⅡ方法);④ISO/IEC 24570(NESMA方法);⑤ISO/IEC 29881(FiSMA方法)。
根据相关国际标准中的方法适用范围声明,COSMIC方法适用于商业应用软件和实时系统;IFPUG方法[7]适用于所有类型软件的功能规模度量;MkⅡ方法[8]适用于逻辑事务能被确定的任何软件类型;NESMA方法与IFPUG方法非常类似,但对功能点计数进行了分级,以便在估算的不同时期选择不同精度方法进行估算;FiSMA方法适用于所有类型软件的功能规模度量。
2.1.3工作量估算
工作量估算[9]需要考虑的因素众多,如测试存在的风险、测试中资源可复用的程度等。工作量估算可分估算准备、估算与调整两步。工作量估算的准备主要是分析测试的风险、确定影响测试的主要因素;估算与调整主要是根据风险分析结果,对估算方法或模型进行合理调整,根据软件测试复用情况的分析,调整工作量估算。
2.1.4工期估算
对软件测试工期的估算[10]主要有以下几种方式:①根据工作量估算结果和资源情况,对软件测试任务进行分解并制订时间表;②利用基准数据建立“工作量—工期”模型,估算合理的工期范围;③将委托方的期望工期或软件测试方初步制订的工作时间表中的工期与工期估算结果比较;如果委托方期望工期或工作时间表中的工期低于估算出的工期下限或超出估算出的工期上限,则应分析原因,必要时需对人力资源安排或项目范围进行调整,再重新估算工作量、工期,并制订新的工作时间表。
2.1.5成本估算
(1)估算直接人力成本。估算人员根据工作量估算结果和测试人员直接人力成本费率估算直接人力成本。软件测试方应优先使用本单位的直接人力成本费率数据。直接人力成本的计算宜采用以下两种方式:①根据不同类别人员的直接人力成本费率和估算工作量分别计算每类人员的直接人力成本,将各类人员的直接人力成本相加得到该项目总的直接人力成本;②根据项目平均直接人力成本费率和估算的总工作量,直接计算该项目的直接人力成本。
(2) 估算直接非人力成本。估算人员根据项目情况,按照上文中的要求分项估算直接非人力成本。
(3) 估算间接人力成本。估算人员根据项目情况,按照上文中的要求分项估算间接人力成本。间接人力成本应按照工作量比例分摊。
(4) 估算间接非人力成本。估算人员根据项目情况,按照上文中的要求分项估算间接非人力成本。间接非人力成本应按照工作量比例分摊。
2.1.6软件测试成本确定
软件测试成本计算公式:
软件测试成本=直接人力成本+直接非人力成本+间接人力成本+间接非人力成本(1)
2.2软件测试成本数据采集
软件测试成本数据采集分两步:①对软件测试的项目规模、工作量、测试工期数据进行采集;②对软件测试成本的数据采集。
2.2.1软件测试项目规模、工作量、工期数据采集
软件测试项目规模、工作量、工期的数据采集,包括对所测软件项目的总工作量、总工期进行数据采集,还包括对项目不同活动、不同阶段的工作量、工期的数据采集。在软件测试过程中和测试结束后,负责项目度量的人员应定期或事件驱动地对所测软件项目的规模、工作量、测试工期,进行相关数据的采集[11]。
软件测试项目规模的衡量属性为项目的功能模块数。采集的项目规模数据为实际所测试的功能点数。
软件测试工作量的度量目标有两个:项目工作量分布和项目总工作量。项目工作量分布采集的数据为整个测试过程中各阶段、各活动工作量的分布情況。项目总工作量是整个软件测试项目花费的总工作量。
软件测试工期采集的数据为管理整个软件测试项目所持续的时间。
2.2.2软件测试成本数据采集
软件测试成本数据采集包括直接成本的数据采集和间接成本的数据采集。
在软件测试过程中,负责项目度量的人员应定期或事件驱动地对已发生的直接成本进行数据采集。在测试结束后,负责项目度量的人员应按照上文中的要求对各项成本分别进行数据采集。
软件测试成本所需采集的数据包括计划成本(PV)、预算成本(EV)、实际成本(AC)。
2.3软件测试成本分析
软件测试成本分析的主要内容包括成本偏差CV、成本构成、成本关键影响因素相关性分析、成本性能指数CPI分析。
在软件测试过程[12]中,项目负责人应定期检查实际发生成本与估算成本的偏差。数据分析的结果应与利益相关方充分沟通,并采取有效纠正措施。项目结束后,应对成本及相关数据进行分析。
成本偏差公式:CV=EV-AC(2)
成本性能指数公式:CPI=EV/AC(3)
3软件测试成本度量应用
软件测试成本度量采集的数据、分析的结果均可保留。在软件测试项目关闭后,度量人员应对全部的分析资料、报告和呈报结果进行总结,提取对今后工作有价值的经验教训,通过积累公司知识财富库,不断调整成本估算方法。
软件测试成本度量的数据可用于:①项目评价[13];②建立或校正成本估算模型;③组织过程改进。
4结语
随着我国软件行业的逐渐成熟,软件测试的地位也日益重要,客户在软件测试方面投入的成本逐渐增加,如何估算测试成本成为测试行业关注的重点。然而,由于测试成本估算方面标准与法规的欠缺,软件测试成本估算的方式千差万别,准确性也有待评估。欲得到相对准确的成本估算结果,根据历史数据完善成本估算模型,选择适合的模型非常重要。通过本文所述的软件测试成本度量方法,可以提取具有更高准确度和实用性的成本数据,更好地改进成本估算模型,并可用来制定软件测试预算。
参考文献参考文献:
[1]宋巍.软件功能测试成本估算模型研究及其应用[D].上海:上海交通大学,2009.
[2]PMBOK.Guidefifth edition[M].Pennsylvania :Project Management Institute,Inc,2012.
[3]CMMI for Development,Version 1.3[EB/OL].http://www.docin.com/p276663076.html.
[4]SJ/T 11463,软件研发成本度量规范[EB/OL].http://www.spsp.gov.cn/Page/QT/2013/SJT%20114632013.shtml.
[5]杨根兴,蔡立志,陈浩鹏,等.软件质量保证、测试与评价[M].北京:清华大学出版社,2007.
[6]CAPER JONES.软件项目估计 [M].第2版.北京:电子工业出版社,2008.
[7]ISO/IEC 209262009,Software and systems engineering——software measurementIFPUG functional size measurement method[S].2009.
[8]ISO/IEC 209682002,Software engineeringMl II function point analysiscounting practices manual[S].2002.
[9]李明树,何梅,杨达,等.软件成本估算方法及应用[J].软件学报,2007,18(4):776795.
[10]曹静,邵宗有.软件测试成本评估方法研究[J].计算机与现代化,2011,57(9):210214.
[11]中国电子技术标准化研究院.GB/T 85662007.信息技术 软件生存周期过程[M].北京:中国标准出版社,2007.
[12]柳纯录.软件评测师教程[M].北京:清华大学出版社,2005.
[13]中国电子技术标准化研究院.GB/T 25000.512010,软件工程 软件产品质量要求和评价(SQuaRE)商业现货(COTS)软件产品的质量要求和测试细则[M].北京:中国标准出版社,2010.
责任编辑(责任编辑:杜能钢)
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/22 17:32:12