开发过程和测试结果的软件质量评价研究

来源 :品牌与标准化 | 被引量 : 0次 | 上传用户:wzx85695021
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】 本文在结合现有软件质量评价研究成果基础上,将软件研制过程中的质量评审问题和软件测试过程中的问题进行综合分析,提出了一种基于开发过程和测试结果的软件质量评价方法。此方法通过将软件研制过程中的质量评审问题和软件测试过程中的问题进行综合分析,能够为快速判断软件质量提供支持。
  【关键词】 软件过程评估;测试结果;软件;质量评价;度量
  【DOI编码】 10.3969/j.issn.1674-4977.2021.05.018
  Research on Software Quality Evaluation Method Based on Development Process and Test Results
  GUO Dong1,LIU Wen-hong2,CHEN Cong1,PENG Pu1,ZHOU Dong-hong1
  (1.China Aerospace Academy of Systems Science and Engineering,Beijing 100048,China
  2.Beijing Institute of Tracking and Communication Technology,Beijing 100095,China)
  Abstract: Based on the existing research results of software quality evaluation,this paper comprehensively analyzes the quality review problems in the software development process and the problems in the software testing process,and proposes a software quality evaluation method based on the development process and test results. This method can provide support for quickly judging software quality by comprehensively analyzing the quality review problems in the software development process and the problems in the software testing process.
  Key words: software process evaluation;test results;software;quality evaluation;measurement
  随着软件规模和复杂度的不断增长,如何抓住有限的信息来快速度量软件系统中各软件配置项的质量,从而能迅速抓住质量薄弱环节,提高整系统的软件质量,是人们亟待解决的难题。
  软件产品质量是软件质量的重要组成部分,因此软件产品质量度量是软件度量的重要组成部分。同时,由于软件经设计与开发之后,在具备满足用户需求功能的同时,软件质量的优劣也就形成在软件设计与开发过程之中。软件产品生产设计的过程是影响所开发软件质量的关键,软件质量的提高是软件生产过程中各项质量活动共同作用的结果。因此,评估软件质量有必要从软件的研制过程着手,将对软件研制过程的评估加入到软件的质量评价中去[1]。
  1 软件质量评价方法概述
  国内外软件质量评价研究中,基于测试结果对软件质量进行评价的模型很多。以目前定义和测量软件质量的现行国际标准ISO/IEC 25010:2011为例[2],采用了“特性—子特性—度量元”的结构模型来定义软件质量的度量。通过软件测试的方式,根据选定的测试方法得出对应各度量元的度量值,然后根据各度量元的权重,加权平均得出对应子特性的值,最后根据各子特性的权重加权平均得出软件独立值。GB/T 25000系列标准也借鉴了该模型。参考该模型重新修订GJB 5236的工作正在立项。
  以上各种软件质量度量评估都是依据软件测试的结果来进行,这种度量方式需要针对软件的特定度量元进行大量指定方法的测试工作,计算也非常烦琐。度量出的结果与软件实际效能缺乏联系,并不能实际反映软件的质量。软件研制开发和测试过程中所积累的大量原始数据也没有被考虑进去,对软件开发过程影响软件质量的因素和机制尚缺乏有效研究。
  2 基于开发过程和测试结果的软件质量评价方法
  软件的质量是在软件研制过程中逐步得到实现的,不能只依靠软件测试环节控制质量。因此,本文提出通过对软件研制过程的监控来评价软件质量,即软件研制过程的监控与评价作为软件质量评价的一部分参数,利用各阶段测试结果实现对软件全生命周期的质量进行度量和评价。
  如图1所示,软件质量的评估模型可以由两个观察侧面的评估值来构成,分别是产品侧面(软件测试结果)和过程侧面(软件研制过程评估)。每个观察侧面各选取多个度量要素来计算其取值,最后将它们归一化到统一的衡量尺度上,加权汇总成为最终的软件质量评价数据。
  2.1 软件开发过程分析
  软件产品的研制过程评估,一方面需要将软件开发组织的过程能力成熟度考虑在内;另一方面,对于当前软件研制项目的相关参数的度量,也要作为重要的指标予以考虑,这些指标主要包括:软件规模度量、软件安全关键级别度量以及针对项目各条基线的质量有效性度量等。其中软件规模和软件安全关键级别不直接影响软件的质量,而是作为软件质量参数的基准调整参数来使用。
  2.1.1 軟件项目基线评审结果评估
  在软件研制过程中,对应基线产品的历次质量评审中的意见个数与更改比例,是软件研制过程质量的一项重要体现。能有效地评审出问题,并根据评审意见进行了修改,对促进软件研制能力的提升有正面帮助。以同类软件平均基准值作为参考,记第n个阶段基线评审中提出了m10,m20,m30…mn0条意见,当前项目的实测值为a1,a2,a3…条意见。如表1所示。   那么,针对软件研制项目基线评审结果的计算公式如下。PJX的范围在(0,1)之间。
  [PJX=1÷1ni=1i=n(mi-mi0)2=ni=1i=n(mi-mi0)2]
  该计算公式还可以进一步精细化处理。考虑到根据质量评审中所提出意见的严重程度,以及与其对应阶段之间的关系,还应有不同权重予以计算。例如,在设计评审阶段发现了需求中的问题(本应在需求评审中提出并修改),其严重性应大于在需求评审中所发现的同类问題,其折合扣分权重也应更高。
  2.1.2 软件研制能力成熟度评估
  一般一个具有较高等级软件研制能力成熟度评价的组织,能开发出更高质量的软件。因此,我们读入评价机构对该组织的软件研制能力成熟度评分的成绩,并根据其成熟度等级,通过权值对分数进行调整。当读入的分数成绩相同时,成熟度三级的单位比成熟度二级的单位得分更高。
  评价机构对软件研制能力成熟度的评分方式使用SCAMPI方法[3]进行,由被评单位自行提供自己的四个项目来进行度量,根据这些项目的相关质量数据,对每个实践域进行评价,给出每个实践以S/L/P/NY的分值。最终的统计评分采用木桶原理式,以短板作为能力的记录点。一个目标未实现,则整体过程域评价为不通过;一个过程域不通过,则本级别评价不通过[4]。那么,通过对应级别软件研制能力成熟度的单位,统计其所有实践,最终得到的得分成绩记为A。A必然是大于6分,最大能得到8分。我们读入某单位的软件研制能力成熟度成绩为A,该单位的成熟度等级为[N0]。
  考虑到软件研制能力成熟度共分为5个等级,我们设置成熟度等级5级的权重为1.0,成熟度成绩保持为读入的原始值。当成熟度等级降低,权重也随之降低,记每降低一级所减少的权重为[p0],[p0]的初始值可以采用专家打分法来确定,后期积累大量历史数据后,也可采用客观赋权法来确定其权重值。该软件的研制单位的软件研制能力成熟度评分值对软件质量的影响度量初始计算公式即为:
  [PSCM=A×[1-p0×(5-N0)]]
  [A]的取值范围在(6,8)之间,则[PSCM]的取值范围也在(6,8)之间。对[PSCM]进行归一化处理,该项度量的归一化计算公式为:
  [PSCM_1=A-6(8-6)×[1-p0×(5-N0)]]
  归一化处理之后,[PSCM_1]的范围在(0,1)之间。评价机构对研制单位的软件研制能力成熟度评审并打分完后,每年还要组织对该软件研制单位进行年度监督[5-6]。一般的,年度监督时评价机构会对软件研制单位提出若干条年检意见。年检问题的严重等级是评估该软件研制单位的研制过程质量非常重要的参数,能直接的反应研制单位当前(而不是过往)的软件研制项目过程管理水平。
  当年检结果问题中存在严重不符合项时,认为该单位的软件研制能力与其初始评分极不相称,考虑对初始评分做清零处理,即:
  [PSCM_final=0]
  当年检结果问题中没有严重不符合,但存在一般不符合项时,则认为该单位的软件研制能力与其初始评分有较大出入,考虑对初始评分做减半处理,即:
  [PSCM_final=12PSCM_1]
  当年检问题均为改进项,认为该单位的软件研制能力与初始评分基本相符,但仍有待改进处,需要对初始评分做一定减分处理,但保证其最终的得分比年检问题存在一般不符合的得分高。
  具体的减分处理,需要参考当前软件研制单位年审改进项的个数多少,以及是否存在重复性问题来进行调整。提出的改进建议越多得分越低,改进建议中重复问题越多得分越低。当无改进建议,则得分依旧为[PSCM_1]。
  记最近一次软件研制单位的年审改进项的个数为m条,一年内各软件研制单位年审改进项个数的均值为n条,当每比均值多一条改进项,则权重减少的比例为[p1];这m条改进项中,有[l]条改进项在本单位以往年审中曾经出现过,记每多一个重复问题的扣除权重比例为[p2]。
  [PSCM_ final=12PSCM_1+12PSCM_1(1-p1)m-nn(1-p2)l]
  同样,[p1]和[p2]初始值可以根据专家经验确定,后期有历史数据可根据实际数据和评价结果进行调整。
  2.2 软件测试结果分析
  对于每个软件测试问题,从软件的问题严重等级、该问题的引入阶段和发现该问题所需技术难度三个方面进行考察。
  2.2.1 软件问题严重等级
  软件问题的严重等级分为五个等级,分别为:
  1)致命问题,导致系统/设备任务完全失败,系统/设备安全性和安全保密性丧失,甚至危及人身安全;2)严重问题,会影响/潜在影响设计/需求文档中所规定的主要功能的完成或没有实现设计/需求文档中规定的功能;3)一般问题,会对设计文档中规定的主要功能的完成产生不利/潜在不利的影响,从而导致功能障碍的代码问题;4)轻微问题,不会影响设计/需求文档共规定的主要功能的完成,但对运行或操作会产生轻微影响/潜在影响;5)改进建议,对主要功能的完成,以及运行或操作均无影响,但从代码可读性和结构化程度等方面可以进一步改进优化。
  记发现的问题严重等级为[N1]。当发现的问题严重等级每降低一个等级(对应的值增加),则权重增加[p3]。软件问题的严重等级对当前问题的参考值为:
  [Pdj=[1-p3×(5-N1+1)]]
  2.2.2 软件问题引入阶段
  在发现软件问题的时候,同时也能定位到该软件问题是从生命周期的哪个阶段引入的。如果软件研制过程受控,软件测试及交付时应只发现编码阶段引入的问题。如果在测试时发现存在设计阶段的问题,例如设计存在漏项,未覆盖需求,则这类问题的权重值需要增加。   设发现问题发生阶段包括方案、需求、设计、编码、使用等一共S个阶段,按阶段先后顺序对应的标注值为1、2、3、…、[Ns],当软件问题引入阶段越早(而一直未发现),则该问题的权重值越高。记软件编码阶段引入的问题权重值为1.0,问题引入阶段每向前一个阶段,则对应权重增加[p4]。软件问题的引入阶段对当前问题的参考值为:
  [Pjd=[1-p4×(S-Ns+1)]]
  2.2.3 软件问题发现难易程度
  发现软件问题是需要一定的技术手段的。设发现问题难度包括1、2、3、4、5五个等级,表示问题的发现难度逐渐增加。发现问题难度为增加一个等级,则权重增加[p5],发现的问题难度等级为[N2],则发现问题难度对当前问题的参考值为:
  [Pnd=[1-p5×(5-N2+1)]]
  2.2.4 测试结果总评分
  设该软件在提交第三方测试和交付后共计发现k个问题。第k个问题所对应的三个方向参考值分别为[Pdj_k×Pjd_k×Pnd_k][Pdj_k×Pjd_k×Pnd_k]。
  当前软件的测试结果分析得分值为:
  [PJF=(Pdj_k×Pjd_k×Pnd_k)      =i=1i=k[1-p3*(5-Ni1+1)][1-p4*(5-Nis+1)][1-p5*(S-Ni2+1)]]
  其中,[p3],[p4],[p5]初始值可以根据专家经验确定,后期有历史数据可根据实际数据和评价结果进行调整。
  3 综合结果分析
  综合评价方法采用加权平均,假设综合评价满分为100,项目基线评审结果、研制能力成熟度评估和软件测试结果的权重分别为[η1],[η2],[η3],且有[i=13ηi=1],则该软件的质量评价分数为:
  [Qfinal=100×(η1PJX+η2PSCM_final+η3PJF)]
  4 总结
  本文在现有软件质量评价研究成果的基础上,提出了一种基于过程评估和测试结果的软件质量评价方法,立足于总体单位所能方便获得的质量数据,快速便捷评估各软件的质量。
  目前,使用该方法还主要采用主观权重,即专家打分的方式来确定其中各个权重的选择。在积累更多项目历史数据之后,可以不断修正该算法,将主观权重调整为客观赋权,利用各指标间的相互关系或提供的信息量来确定,实际通过对原始数据经过数学处理获取权重。在计算测试结果分析等数据时,本方法使用的是与同类软件基准值进行比较。考虑到软件按其规模分为巨、大、中、小、微五个等级,按其安全关键等级分为I、II、III、IV四个等级,按照嵌入式/非嵌入式以及不同语言、不同行业特点,给予不同的权值后,可以考虑与不同类的软件进行映射对比计算。
  【参考文献】
  [1] 梅磊,刘鸿飞,董文通.基于测试过程管理的航天软件质量评价[J].西华大学学报(自然科学版),2019(6):67-72.
  [2] Systems and software engineering-Systems and software Quality Requirements and Evaluation(SQuaRE)-System and software quality models:IEC 25010:2011[S].
  [3] 徐俊.CMMI軟件成熟度模型SCAMPI评估需求分析[J].信息技术与标准化,2008(12):35-37.
  [4] 何新贵.GJB 5000《军用软件能力成熟度模型》实施指南[M].北京:国防工业出版社,2004.
  [5] 张昱.GJB 5000A过程和产品质量保证实施要点[J].电子技术与软件工程,2021(7):72-74.
  [6] 孟磊,陈松,陈心华,等.基于GJB 5000A三级的军用软件过程改进探讨与实践[J].电子质量,2020(12):117-121.
  【作者简介】
  郭栋,男,1984年出生,高级工程师,硕士,研究方向为软件测评。
  刘文红,女,1968年出生,研究员,硕士,研究方向为软件工程、软件测试。
  陈聪,男,1987年出生,工程师,硕士,研究方向为嵌入式软件测试。
  彭普,男,1984年出生,工程师,学士,研究方向为软件工程。
  周东红,男,1981年出生,工程师,硕士,研究方向为嵌入式软件测试、软件工程。
其他文献
目的分析对乳腺癌患者实施3.0T磁共振功能成像诊断的临床价值。方法从2016年12月—2020年11月择取50例乳腺癌患者纳入研究组,另择取同期50例乳腺良性肿瘤患者纳入对照组,2组均实施3.0T磁共振功能成像检查,对照病理诊断结果,对2组诊断准确度、特异度、敏感度进行对照,并分析病灶形态学表现情况。结果研究组经病理检查发现52个病灶,经3.0T磁共振功能成像检查确诊48个为恶性,敏感度为92.3%;对照组共发现56个病灶,经3.0T磁共振功能成像检查显示52个为良性,4个误诊为恶性,特异度为92.9%。
目的探讨糖尿病肾病(DN)患者血清补体C3、C4的表达水平及其与尿铁转蛋白(UTRF)、尿微量白蛋白(MAU)的关系。方法将2020年1月—12月在景德镇市第二人民医院肾脏内科及内分泌科住院的60例DN患者纳入DN组,另按1∶1比例选取同期在两个科室住院的60例非DN患者纳入对照组。比较2组血清补体C3、C4、UTRF及MAU水平差异,分析DN患者血清补体C3、C4水平与UTRF、MAU的相关性。结果DN组血清补体C3、C4、UTRF、MAU水平显著高于对照组(P<0.05);Pearson相关性分
【摘要】 本文探讨了电梯安装工程质量控制和安全管理存在的问题,提出了电梯安装工程质量控制和安全管理的策略建议,以期能够为电梯安装工程提供有效参考。  【关键词】 安全管理;质量控制;电梯安装  【DOI编码】 10.3969/j.issn.1674-4977.2021.05.023  Analysis on the Quality Control and Safety Management of
内部控制是企业管理的重要内容,对于行政事业单位而言,内部控制也发挥着重要作用,有效的内部控制不仅可以保障国家资产安全,还可以防止贪污腐败等行为的发生.基于内部控制的
【摘要】 增强企业自我管理是企业获得最佳经济效益和完成预期目标的重要路径,而在这个过程中最为关键的就是内部控制的管理。本文从HC印刷企业内部控制的现状出发,分析了印刷企业实施内部控制的必要性,并提出相关的优化改善建议。  【关键词】 印刷企业;内部控制;优化  【DOI编码】 10.3969/j.issn.1674-4977.2021.05.022  Analysis of Printing En
目的探讨薄型子宫内膜不孕症患者采用麒麟丸联合雌激素治疗的效果。方法选择90例薄型子宫内膜不孕症患者研究(2018年4月—2020年12月),按1∶1比例分为对照组(n=45,雌激素治疗)、观察组(n=45,在对照组基础上加用麒麟丸治疗),统计2组临床疗效、临床指标、预后效果。结果观察组总有效率(95.56%)高于对照组(80.00%),差异显著(P<0.05)。观察组子宫内膜厚度(8.84±0.71)mm,E2(955.34±215.92)pmol/L,P(15.44±1.18)ng/ml,卵泡直径
政府部门购买公共服务是通过公开招标、定向委托等方式,将政府承担的公共服务项目委托于社会组织,继而由政府出资完成相关项目,其主要目的在于提升公共服务的质量并帮助政府
目的分析血液检验在风湿病诊断中的应用价值。方法选取2019年3月—2020年6月辽阳市第五人民医院收治的风湿病患者50例纳入观察组,同期体检的健康者50例为对照组,均接受血液检验,比较检验结果。结果对照组HCT水平(38.40±8.50)%与观察组(38.56±8.60)%比较,差异不明显(P>0.05),但观察组免疫学指标-RF(28.79±11.49)、CP(1.67±0.42)mm/h、ESR(25.09±0.82)、IGM(2.97±0.41)、IgG(27.30±12.68)、IgA(3.
目的分析先天性心脏病检测中胎儿心脏超声筛查的应用价值。方法以2019年6月—2020年6月共424例孕妇为研究对象,均接受常规三级超声检查与胎儿心脏超声检查,以病理结果为金标准,分析这一检查方法在胎儿先天性心脏病检测中的应用效果。结果424例孕妇中,手术或引产尸检等病理学对先天性心脏病胎儿的检出率为5.90%,胎儿心脏超声检查检出率为5.42%,常规三级超声检查检出率为4.01%,与病理学结果相比,胎儿心脏超声检查检出符合率为92.00%,较常规三级超声检查检出符合率68.00%明显更高(P<0.0
公路是重要的基础设施,是经济发展的“血脉”,区域经济发展离不开畅通的交通条件,俗话说“道路通,百业兴”.在公路修建和改建期间,劳务用工、饮食、建材等行业会得到发展,可