本发明涉及软件测试,具体而言涉及一种基于多视角的软件测试质量评价方法。
背景技术:
1、软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。在当前软件定义世界深入发展的情况下,软件测试作为检测开发的软件是否能达到预期效果的最佳方法,已经越来越为人所重视。但由于软件测试有不可穷尽的特点,对于型号软件系统,往往测试周期要求较短,测试资源也有限。因此,要在有限的时间以及其它测试资源的前提下,得到可用的系统或产品,软件测试本身的质量和效率也就非常关键。
2、软件测试质量不同的利益相关方对于质量的认知具有各自领域的特征,造成各自对于测试质量的影响要素或者指标往往具有不同的观点和认可度。这种利益相关方对于测试质量的“偏见”认识,造成参与测试的利益相关方对于测试质量的需求存在多样化特征,进而导致传统的单一质量评估指标难以兼顾。
3、因此,如何提取出能够兼顾型号软件测试质量中各个利益相关方的质量影响要素,能够反应出他们各自的质量诉求,就成为制约测试质量评价的关键难题。
技术实现思路
1、本发明针对现有技术中的不足,提供一种基于多视角的软件测试质量评价方法,基于大数据,针对不同的软件,通过对与该软件相关的软件测试质量相关方进行分析,获取不同评价主体对软件测试质量评价的需求,形成能够适用于不同利益相关方的软件测试质量多维评价模型,在尽可能减少评估运算量的基础上,满足不同利益相关方对软件测试质量的评估需求。
2、为实现上述目的,本发明采用以下技术方案:
3、一种基于多视角的软件测试质量评价方法,所述评价方法包括以下步骤:
4、s1,根据待评估软件的功能类型和功能属性,分析并获取与待评估软件的测试质量对应的利益相关方集合{i},i=1,2,...,i;
5、s2,针对每个利益相关方i,提取与其相关的待评估软件的测试质量的特性集合以及每个特性与利益相关方i的相关度等级f()是相关度计算函数;为利益相关方i对应的第j个特性;
6、s3,整合步骤s2中提取得到的每个利益相关方对应的特性集合,生成待评估软件对应的特性集合筛选得到待评估软件的评价指标集合结合评价指标固有体系和每个特性的相关度等级,对评价指标集合中的每个评价指标进行分级处理,并生成初始权重系数x=1,2,...,x,x是待评估软件对应的特性总数;
7、s4,选择其中一个利益相关方i,结合其与每个评价指标的相关度,对初始权重系数集合的取值进行调整,使与利益相关方i相关的评价指标的权重与其对应的相关度相适配,得到利益相关方i对应的权重系数集台
8、s5,重复步骤s4,直至生成所有利益相关方对应的权重系数集合;
9、s6,根据每个利益相关方对应的权重系数集合和每个评价指标的取值,计算得到每个利益相关方对应的软件测试质量评价结果。
10、为优化上述技术方案,采取的具体措施还包括:
11、进一步地,步骤s1中,根据待评估软件的功能类型和功能属性,分析并获取与待评估软件的测试质量对应的利益相关方集合{i}的过程包括以下步骤:
12、s11,根据软件研制过程,将软件研制活动划分为多个不同的评估阶段;
13、s12,针对每个评估阶段涉及的活动主体以及每个活动主体对软件研制进度的参与度,提取得到每个评估阶段对应的利益相关方。
14、进一步地,步骤s12中,根据待评估软件的功能类型和功能属性,采用专家评审或者基于先验知识推断的方式提取得到每个评估阶段对应的利益相关方。
15、进一步地,所述利益相关方包括软件项目管理单位、软件技术总体单元、软件研制单元、软件测试单元和软件实用单位中的几个或者全部。
16、进一步地,步骤s2中,所述软件项目管理单位对应的特性类型包括软件测试活动的能效;
17、所述软件技术总体单位对应的特征类型包括软件的需求满足程度;
18、所述软件研制单位对应的特征类型包括软件的代码质量、代码的结构设计合理度以及代码的可重用性;
19、所述软件测试单位对应的特征类型包括软件测试过程的规范程度、软件测试活动的自动化程度,以及相关中间产品的可重用性;
20、所述软件使用单位对应的特征类型包括通过软件性能提升效率和故障降低率。
21、进一步地,从利益相关方i为提升相应特性所投入的总成本量和相应特性的单位提升率对利益相关方i造成的收益增长量两个角度,计算得到每个特性与利益相关方i的相关度等级yi。
22、进一步地,步骤s3中,同一评价等级的所有评价指标的初始权重系数之和等于1;对于任意一个存在下级指标的评价指标,其初始权重系数和与其对应的下一级评价指标的初始权重系数之和相等。
23、进一步地,步骤s4中,对初始权重系数集合的取值进行调整,使与利益相关方i相关的评价指标的权重与其对应的相关度相适配,得到利益相关方i对应的权重系数集合的过程包括以下步骤:
24、s41,选择其中一个评价指标θx,判断该评价指标θx与利益相关方i之间是否相关,如果不相关,进入步骤s42,否则,进入步骤s43;
25、s42,将评价指标θx的权重系数乘以第一调整因子以对评价指标θx的权重系数进行调整,其余权重系数在满足归一化的条件下进行均分;转入步骤s45;第一调整因子小于1,与软件开发难度和软件重要性相关,为经验值;
26、s43,将评价指标θx的权重系数乘以第二调整因子以对评价指标θx的权重系数进行调整,,转入步骤s44;所述第二调整因子大于1,且与该评价指标θx与利益相关方i之间的相关度有关;
27、s44,判断该评价指标θx的权重系数是否大于等于1,如果是,将该评价指标θx的权重系数设置为1,其余评价指标的权重系数归零,结束流程;否则,转入步骤s45;
28、s45,其余权重系数在满足归一化的条件下进行均分;判断所有评价指标是否已经分析完成,如果是,结束流程,否则,转入s41。
29、进一步地,步骤s6中,根据下述公式计算得到每个利益相关方对应的软件测试质量评价结果ni:
30、
31、式中,是评价指标θx对应的归一化取值。
32、本发明的有益效果是:
33、本发明提供的基于多视角的软件测试质量评价方法,从软件测试质量利益相关方出发,确定不同的评价需求主体及其对软件测试质量的关注点,基于关注点对评价指标的权重系数进行动态调整,从而形成适用于不同视角的软件测试质量评价方法,在减少重复评估工作量的基础上,极大地改进了现有的单一评价方法的有效性。
1.一种基于多视角的软件测试质量评价方法,其特征在于,所述评价方法包括以下步骤:
2.根据权利要求1所述的基于多视角的软件测试质量评价方法,其特征在于,步骤s1中,根据待评估软件的功能类型和功能属性,分析并获取与待评估软件的测试质量对应的利益相关方集合{i}的过程包括以下步骤:
3.根据权利要求2所述的基于多视角的软件测试质量评价方法,其特征在于,步骤s12中,根据待评估软件的功能类型和功能属性,采用专家评审或者基于先验知识推断的方式提取得到每个评估阶段对应的利益相关方。
4.根据权利要求1-3任一项中所述的基于多视角的软件测试质量评价方法,其特征在于,所述利益相关方包括软件项目管理单位、软件技术总体单元、软件研制单元、软件测试单元和软件实用单位中的几个或者全部。
5.根据权利要求4所述的基于多视角的软件测试质量评价方法,其特征在于,步骤s2中,所述软件项目管理单位对应的特性类型包括软件测试活动的能效;
6.根据权利要求1所述的基于多视角的软件测试质量评价方法,其特征在于,从利益相关方i为提升相应特性所投入的总成本量和相应特性的单位提升率对利益相关方i造成的收益增长量两个角度,计算得到每个特性与利益相关方i的相关度等级yi。
7.根据权利要求1所述的基于多视角的软件测试质量评价方法,其特征在于,步骤s3中,同一评价等级的所有评价指标的初始权重系数之和等于1;对于任意一个存在下级指标的评价指标,其初始权重系数和与其对应的下一级评价指标的初始权重系数之和相等。
8.根据权利要求1所述的基于多视角的软件测试质量评价方法,其特征在于,步骤s4中,对初始权重系数集合的取值进行调整,使与利益相关方i相关的评价指标的权重与其对应的相关度相适配,得到利益相关方i对应的权重系数集合的过程包括以下步骤:
9.根据权利要求8所述的基于多视角的软件测试质量评价方法,其特征在于,步骤s6中,根据下述公式计算得到每个利益相关方对应的软件测试质量评价结果ni: