APP下载

软件测试工作量估算方法在DCU测试中的应用

2017-12-02株洲中车时代电气股份有限公司陈明奎

电子世界 2017年22期
关键词:测试人员用例软件测试

株洲中车时代电气股份有限公司 陈明奎 段 静

软件测试工作量估算方法在DCU测试中的应用

株洲中车时代电气股份有限公司 陈明奎 段 静

DCU是列车牵引系统核心控制部件,在列车正式上线运行前,需对DCU软件进行充分测试。软件测试工作量的估算对于DCU测试工程化管理至关重要,为此,本文对目前较为常见的DCU工作量测试估算方法进行介绍,提出提高估算准确度的计算方法优化策略,以某DCU测试项目为实际操作用例,进行项目统计、测试设计,和估计值与实际值之间的偏差结果分析,探讨软件测试工作量估算方法在DCU测试中的应用方法。

DCU测试;软件测试;工作量估算;估算方法

引言

DCU(Driver Control Unit,传动控制单元)是列车牵引系统的核心控制部件之一,用于控制列车的变流器和牵引电机,为保证列车安全运行,在正式上线运行前,需对DCU软件进行充分的测试。在DCU测试中的软件测试工作量估算主要凭借以往经验,估算结果存在较大的误差,为此本文从软件测试估算量的原理入手,分析DCU软件测试工作量估算的影响因素,探讨软件测试工作量估算在DCU测试中的作用,针对目前普遍采用的软件测试估算工作量估算方法的优缺点进行分析,以便于更好的提出DCU测试中软件测试工作量估算方法的解决方案。并通过实际用例进行应用,证明本文研究的软件测试工作量估算方法可以提高DCU测试的准确性。

1.软件测试工作量估算介绍

1.1 软件测试工作量估算原理

软件测试工作量估算要通过项目分析明确项目的整体规模,再估计软件测试工作量的规模,最后得到软件测试的生产率。软件测试工作量的估算过程中会存在三种情况,一是工作量估算无误差的理想化状态,二是工作量估算过程中因软件测试原因导致估算出现误差,三是因软件设计或开发存在缺陷导致估算出现误差,所以引入软件测试生产率,软件测试工作量估算可以表示为:

其中w为软件测试工作量,s为软件项目测试规模,p为软件测试生产率。

1.2 软件测试工作量估算影响因素

在软件测试量估算前,首先需要了解软件的整体规模,软件需要测试的用例数量和测试要求难度,软件规模是软件测试工程量初步预估的基础,通过软件规模的判断可大体确定软件开发的周期、难度及产生的费用。测试用例是软件功能与性能的用例参考,软件测试用例在软件测试工作量的影响方面主要是测试用例的可用性、精简性、代表性、可执行性和可重用性,这些都是影响软件测试工作量估算的重要参考。

1.3 软件测试工作量估算的作用

在一个软件开发项目团队中,软件测试工作量要占据软件开发总工作量的40%以上,测试成本占总开销的近50%。软件开发中的成本、质量与进度之间的平衡关系对软件项目的成败具有直接的关系,而软件测试则是平衡软件开发各资源关系的重要方法。据统计,目前有超过70%以上的软件开发消耗成本在软件测试方面,软件测试的质量关系软件后期的应用与维护,为此软件测试工作量的计算是软件开发的数据重要支持,其准确性关系到软件开发的成败。

2.软件测试估算工作量估算方法

2.1 基于规模的估算方法

基于规模的估算方法中可以采用功能点数的方式进行度量,功能点数是把对表的输入与输出按照估算规则转化为功能点,对功能点数的工作量进行累加的到软件测试的总工作量。通常把测试用例的数量最小值作为程序功能点总数的1.15∧,测试用例的数量最大值等于程序功能点数的1.3∧,测试用例工作量的平均值相当于程序功能点数的1.2∧。基于规模的估算方法在软件测试中非常常见,其主要是由于方法简单、工作量小,对于一般中小型测试项目具有较好的适用性。但是受估算参考笼统化、误差离散化、历史数据规模化和业务逻辑算法复杂化的影响,基于规模的估算方法存在应用的局限性,并且受测试人员工作水平参差不齐的影响,在维护性项目中基于规模的估算方法工作量非常的庞大,估算的准确性难以保证。

2.2 基于用例的估算方法

基于用例的估算方法是通过以往相同或者相似类型的软件项目测试工作量来估算目标软件测试的工作量。基于用例的估算方法要求软件测试必须具备参照的用例,根据用例所花费的人力、物力和财力计算出目标项目的工作量,用例可以为其中某个相似的模块花费的工作量,但是受编程人员和测试人员技术水平和工作能力差异性的影响,基于用例的估算方法在准确性方面仍有所偏差,并且若是开发的软件项目无参照用例则无法使用该方法。

2.3 基于项目的估算方法

基于项目的估算方法对软件测试管理工作量与支持活动工作量的要求较高,管理工作量和支持活动工作量越高则软件测试的准确性就越大。以项目为基础的估算方法是完全根据项目开展过程中产生的工作量进行估算,其能够较为真实的反映软件开发的全过程,较为准确的得到软件测试的工作量,但是受软件开发过程中变化情况的复杂性,基于项目的估算方法软件测试工作量估算结果变动非常大,在每个任务开展的过程中都存在诸多的不确定因素,这导致软件测试人员需要经常反复进行测试,增加测试的工作量。

3.软件测试工作量估算方法优化

如果将测试人员的经验、熟练度和稳定性等按照等级划分成为上、中、下三等,并对其赋权值为N上,N中和N下,则N上gt;N中gt;N下,N上+N中+N下=1,假定软件测试工作量估算过程汇中无缺陷,软件规模工作量设为A,N上的规模估算总和为X1,N中的规模估算总和为Y1,N下的规模估算总和为Z1,以加权算术平均法进行计算得到软件规模工作量为:

本文引入质量估算模型对软件测试工作量估算中存在的缺陷进行计算,从外部软件开发的需求、设计、编码三方面存在的缺陷为中心,假设引入的总缺陷量为H,则根据质量估算模型得到公式:

其中,i为缺陷因子,j为缺陷类型,DI为驱动因子,Aj是缺陷类型j的基线DI比率调整因子,(DI)ij为第j个类型与第i个因子的缺陷引入的驱动因子。n为驱动因子需要的成本参数。

表1 影响测试生产率因素及系数

软件测试工作内部也存在工作量估算的缺陷,以测试需求缺陷、测试设计缺陷和测试执行缺陷三方面作为质量估算模型参数得到软测测试内部缺陷总数为E,则根据质量估算模型得到公式:

公式中,X为DI驱动因子的个数。由此,可根据软件规模工作量进行内部和外部的划分,内部工作量和外部工作量的总和减去因缺陷增加的规模,软件测试工作量的值A’为:

将软件测试工作量估算影响因素按照影响重要程度进行等级划分,并折算成系数得到软件测试工作量估算影响因素系数表如表1所示。

将所有的影响因素生产率设为S,产生的折算系数和为O,则生产率可表示为:

软件测试工作量为:

项目估算方法中软件测试管理与支持活动工作量是软件测试工作量估算准确性的保障。假设软件测试中的测试人员熟练程度高的个数为a,其测试活动所需的工作总量为Ma,测试支持活动工作总量为Qa,测试人员熟练度为中的个数为b,其测试活动所需的工作总量为Mb,测试支持活动工作总量为Qb,测试人员熟练度为低的个数为c,其测试活动所需的工作总量为Mc,测试支持活动工作总量为Qc,则测试管理和支持活动工作量分别为:

通过以上的优化得到软件的最后工作量估算实际值为:

4.软件测试工作量估算方法在DCU测试中的应用

4.1 项目介绍

本文以某地铁DCU测试项目为例,采用DCU实时测试环境对软件进行测试,测试项点包括:上电初始化、方向处理功能、控制信号处理功能、变流器逻辑控制功能、牵引特性曲线功能、制动特性曲线功能等26个测试项点。测试类型包括功能性测试、性能测试、接口测试、交互测试和文档审查,环境数据分别进行各类型的测试,参与测试人员共计3名,对测试人员工作量进行估算,按照本文的软件测试工作量估算优化方法计算出DCU测试的工作总量。

4.2 测试设计

测试人员技术水平按照以往工作经历划分为高、中、低三个级别,让测试人员分别采用基于规模的估算方法进行软件测试规模的预估,得到的结果如表2所示。

表2 软件测试规模预估结果

以测试人员的技术水平进行赋权值,分别表示为N1=0.5,N2=0.3,N3=0.2,得到软件测试规模估算结果为:

根据表2得到DCU测试项目的测试人员测试设计生产率各因素的折算系数分别为:用例可重用性系数0.1,用例复杂度系数0.03,用例错误密度系数为0.1,用例精简性系数为0.1,测试人员技术水平系数为0.2。按测试执行生产率计算各因素的折算系数分别为:复杂度系数为0.08,重用性系数为0.05,测试人员操作熟练度系数为0.1,精简性为0.05,可执行性系数为0.12,测试环境系数为0.1,测试工具系数为0.1,测试数据可用性系数为0.1,硬件稳定性系数为0.1。为此得到DCU测试设计的生产率为:

测试人员人均测试生产执行率为:

由此得到测试设计的工作量(人时)为:

测试执行的工作量为:

引入软件测试管理工作量与支持活动工作量,测试人员技术水平按照以往工作经历划分为高、中、低三个级别,测试人员需要的管理工作量和支持活动工作量如表3所示:

表3 管理工作量和支持活动工作量(人时)需求

得到软件测试管理工作量(人时)与支持活动工作量(人时)的结果分别为:

软件测试总工作量(人时)为:

4.3 测试结果

以DCU测试项目实际测试工作量结果进行参考,在测试过程中功能性测试、性能测试、接口测试、交互测试和文档审查的统计、设计、执行、管理与活动支持的实际值,测试工作量实际结果如表4所示。

通过表4的测试结果与本文的总DCU测试预估值偏差约为15.43,工作量的估算值接近实际工作量,估算方法基本可以满足实现预计的规模,可正确反映出DCU测试所需的人力、物力和财力,为项目开发工作量估算提供了可靠的支持。

表4 DCU测试项目实际工作量结果(此表格数据建议重新整理)

5.结语

DCU(牵引控制单元)是机车、动车、城轨的重要组成部件,对DCU软件测试工作量的估算是保证项目实施的人力、物力、财力分配准确性的关键,为此本文提出了软件测试工作量估算方法优化策略,将影响软件测试工作量估算准确性的因素折算成系数,并将测试人员工作水平划分出上、中、下三等,再加上测试管理工作量与支持活动工作量,由此得到软件工作量估算的公式。在以某地铁DCU测试项目为例进行实际测试工作量估算中,运用优化公式进行计算得到的最后结果与工程实际的工作量结果几乎接近,由此证明了该算法的可行。

[1]丁晓峰.地铁车辆DCU牵引控制单元测试装置[J].科研,2015(10):70-70.

[2]贺晋宁,杜伟伟,高静.软件自动化测试的探索实践[J].国外电子测量技术,2016,35(7):1-4.

[3]亓卓亚.软件项目中工作量估算方法的研究[J]办公自动化,2017(12):33-39.

猜你喜欢

测试人员用例软件测试
移动应用众包测试人员信誉度复合计算模型研究
UML用例间包含关系与泛化关系的比较与分析
UML用例模型中依赖关系的比较与分析
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
联锁软件详细设计的测试需求分析和用例编写
從出土文獻用例看王氏父子校讀古書的得失
EXCEL和VBA实现软件测试记录管理
高校分析测试中心测试队伍建设方案初探
浅析软件测试中的心理学应用