首页 » 人工智能 » 全程软件测试(四十一):软件产品的质量度量读书笔记

全程软件测试(四十一):软件产品的质量度量读书笔记

admin 2024-09-24 0

扫一扫用手机浏览

文章目录 [+]

软件产品的质量度量(软件度量)是根据一定的规则,将数字或符号授予系统、构件、过程等实体的特定属性,从而让干系职员能清晰地理解该软件实体及其属性。
简言之,软件度量便是对软件包含的各种属性进行量化表示。

软件度量可供应对软件产品和软件过程的衡量指标,使团队可以更好、更准确地做出决策以达到目标。
软件度量的浸染如下所示:

全程软件测试(四十一):软件产品的质量度量读书笔记 人工智能

用数据指标表明验收标准;

监控项目进度和预见风险;

分配资源时进行量化均衡;

估量和掌握产品的生产过程、本钱和质量。

软件度量是用来衡量软件过程质量和进行软件过程改进的主要手段。
但为了保持数据的可靠性、客不雅观性和准确性,软件度量结果不可用于评价数据供应者的事情本色或绩效。

软件度量的内容和分类

软件度量的根本目的是通过量化的剖析和总结来提高软件开拓效率,降落软件毛病率和开拓本钱,提高软件产品质量。
详细来说,软件度量的根本目的包括4个方面,分别是网络信息、预测、评估、改进。

网络信息:通过剖析得到过程、产品、资源、环境的信息,确定后期预测的基线和模型。
网络信息是评估、预测、改进活动的根本。

预测:通过理解过程、产品各要素之间的关系建立模型,由已知的要素推算估计其他要素,以便合理分配资源,合理订定操持。

评估:剖析活动与操持的符合程度,确定是否有偏差,以便掌握其实行。
可评估终极产品的质量、新技能的影响、过程改进对过程和产品的影响。

改进:根据得到的量化信息,帮助识别障碍物,查找问题的根源以及可提高产品质量和过程效率的其他方法,并与先前的量化信息比较,证明这些方法是否有效。

(1)软件度量的干系观点如下。

① 丈量(Measurement)是对软件过程的某个属性的范围、数量、维度、容量或大小供应一个定量的指示。

② 度量(Metric)是对软件产品进行范围广泛的测度,它给出一个别系、构件或过程中某个给定属性的度的定量丈量。

③ 指标(Indicator)是一个度量或一组度量的组合,即采取易于理解的形式,对软件过程、项目或产品质量供应更全面、更深入的评价,以利于过程和质量的剖析。

(2)有效软件度量的属性如下。

① 大略且可打算。
导出度量值应该是相对大略的,且其打算不应哀求过多的事情量和韶光。

② 履历和直觉上有说服力。
度量应符合软件工程师对软件过程和产品的直觉观点,例如,测度模块内聚性的度量值应随内聚度的提高而提高。

③ 同等和客不雅观。
度量的结果不会产生二义性,任何独立的第三方利用该软件的相同信息可得到相同的度量值。

④ 在单位和维度的利用上同等。
度量的数学打算应利用不会导致奇异单位组合的测度。
例如,将项目军队的职员数乘以程序中的编程措辞的变量会引起一个直觉上没有说服力的单位组合。

⑤ 编程措辞独立。
度量应基于剖析模型、设计模型或程序本身的构造,而不依赖于编程措辞的语法。

⑥ 质量反馈的有效机制。
度量会为软件开拓效率、产品质量等供应积极的信息。

(3)软件度量的分类如下。

① 软件过程度量:用于过程的优化和改进。
对软件开拓过程本身的度量,目的是形成组织的各种模型,作为对项目、产品的度量根本,以便对软件开拓过程进行持续改进,提高软件生产力。
软件过程度量一样平常不直接进行,而是通过大量的项目度量剖析、总结得到。
软件能力成熟度模型中关键过程域的度量便是范例的过程度量。

② 软件项目度量:用于生产率评估和项目掌握。
对软件开拓项目的特定度量,目的是评估项目开拓过程的质量,预测项目进度、事情量等,赞助管理者进行质量掌握和项目掌握。

③ 产品质量度量:用于产品评估和决策。
紧张是针对项目开拓结果——终极产品的度量。
一样平常来说,产品度量指的是对产品质量的度量。

软件过程度量与软件项目度量的差异是:软件过程度量是计策性的,在组织范围内进行,是对大量项目实践的总结和模型化,对软件项目度量有辅导意义;而软件项目度量是战术性的,针对详细的项目预测、评估、改进事情。

产品质量度量用于对产品质量的评估和预测。

(4)软件度量的内容如下。

① 规模度量:代码行数,以千行源代码为基准。
它是事情量度量、进度度量的根本。

② 繁芜度度量:软件构造繁芜度指标,预测软件产品各部分的繁芜性,以便选择最可靠的程序设计方法,确定测试策略。

③ 毛病度量:帮助确定产品毛病变革的状态,并标示修复毛病活动所需的事情量;剖析产品毛病分布的情形,并指示须要加强何种研发活动,须要何种技能培训;预测产品的遗留毛病情形;预测产品发布后毛病的影响情形。

④ 事情量度量:把任务分解并结合人力资源水平来度量,合理地分配研发资源和人力,得到最高的效率。

⑤ 进度度量:通过任务分解、事情量度量、有效资源分配等做出操持,然后将实际结果与操持值进行比拟来度量。

⑥ 生产率度量:产生代码行数/(人·月),测试用例数/(人·日)。

⑦ 风险度量:一样平常通过“风险发生的概率”和“风险发生后所带来的丢失” 两个参数来评估风险。

⑧ 其他的项目动态度量:如需求变动、代码动态增长等。

目前各个方面的软件度量技能都开始走向成熟,规模度量、繁芜度度量、毛病度量、事情量度量等方面都有比较多的模型和方法可以利用。

软件度量的分工和过程

根据度量目标、内容和哀求的不同,度量活动可能涉及一个项目的所有职员,也可能会包括各种活动数据的网络与剖析。
一个完全的度量活动涉及的角色包括度量事情小组、数据供应者、IT支持者等。

度量事情小组由专职的度量研究职员和项目折衷职员组成。
度量研究职员紧张定义度量过程和辅导进行度量活动,并对数据进行剖析、反馈;项目折衷职员是度量小组和项目组之间的联系人,其职责是为定义度量过程供应详细的需求信息,并卖力度量过程在项目组的实行。

数据供应者常日是项目中的研发职员,有时还会包括用户做事职员和终极用户。
数据供应者的事情紧张是按照规定的格式向度量事情小组或IT支持者供应数据。

IT支持者紧张根据度量事情小组的须要,确定数据供应的格式与数据存储办法,供应数据网络工具与数据存储设备。

根据数据统计,度量活动事情量不大,个中紧张事情量由度量事情小组承担,IT支持者事情量为5%~10%,而软件工程师作为数据供应者,其事情量仅占2%~4%。
随着度量过程体系、IT支持工具的逐步完善,软件研发职员在度量活动上花费的韶光将越来越少。
以度量活动的剖析结果为根本,可提高劳动生产率和产品质量,其收益将远大于度量活动的本钱。

为相识释软件度量的过程,此处以目标驱动的度量活动为例。
目标驱动的软件度量活动紧张包括5个阶段,分别是识别目标、定义度量过程、网络数据、数据剖析与反馈、过程改进,详细内容如下。

(1)识别目标

根据管理者的不同哀求,剖析出度量的事情目标,并根据其优先级和可行性,得到度量活动的事情目标列表,并由管理者审核确认。

(2)定义度量过程

根据各个度量目标,分别定义其网络要素、网络过程、剖析反馈过程、IT支持体系,为详细的网络活动、剖析、反馈活动和IT设备、工具开拓供应辅导。
详细的定义内容如下所示。

① 网络要素:定义网络活动和剖析活动所须要的数据要素与网络表格。

② 网络过程:定义数据网络活动的形式、角色及数据的存储。

③ 剖析反馈过程:定义对数据剖析方法和剖析报告的反馈形式。

④ IT支持体系:定义IT支持设备和工具,以帮忙数据网络、存储和剖析。

(3)网络数据

根据度量过程的定义,数据供应者供应数据,IT 支持者运用 IT 支持工具进行数据网络事情,并按指定办法审查和存储。
在规定的度量活动完成(或阶段性的度量活动完成)后,IT支持者输出数据网络结果给度量小组。

(4)数据剖析与反馈

度量小组根据数据网络结果,按照已定义的剖析方法进行数据剖析,完成规定格式的图表,向干系的管理者和数据供应者进行反馈。

(5)过程改进

对付软件开拓过程而言,根据度量的剖析报告,管理者可基于度量数据做出决策。
这些决策可能包括滚动操持、纠正活动或不做任何改变。
上述(1)和(2)是担保成功网络数据和剖析数据的先决条件,是度量过程最主要的阶段;(5)是度量的终极目的。

在改进过程中,度量过程自身的完备性也会得到评估。
度量核心小组根据本次度量活动所创造的问题,将对度量过程进行改造,以提高度量活动的效率或使其更加符合组织的商业目标。

有前瞻性的公司会在软件开拓的各个领域内广泛开展软件度量活动,其对事情量的估计可精确到每人每天,对毛病的预测可精确到各个模块的毛病密度。
通过采取包括软件度量在内的各种软件工程技能,这些公司的生产力水平和产品质量水平得到了极大的提高。

软件质量模型

软件质量是指软件产品知足规定、隐含的需求的能力和干系特色与特性的凑集,即所有描述软件精良程度的特性组合。
运用软件的质量依赖于问题需求的描述、办理方案的建模设计、可实行程序的编码及测试。
为了更好地评价软件产品的质量,须要将软件质量的特性组合转化为物理或数学模型。

1976年,贝姆(Boehm)第一次提出了软件质量度量的层次模型;1978年,麦考尔(McCall)等人提出了从软件质量要素、准则到度量的三层模型;1985年,国际标准化组织建议软件质量模型(ISO9126)由三层组成,个中第三层由用户定义。

软件质量模型(ISO 9126)中三层的详细内容如下。

高层:软件质量需求评价准则(SQRC)。

中层:软件质量设计评价准则(SQDC)。

低层:软件质量度量评价准则(SQMC)。

ISO 9126软件质量模型如图所示。

ISO 9126软件质量模型

在国家标准GB/T 17544—1998、GB/T 16260—1996中,对ISO 9126软件质量模型中定义的质量标准有详细描述,概括如下。

(1)功能性(Functionality):与现有的一组功能及其指定性子有关的一组属性,此处的功能是指知足明确或隐含需求的功能。

(2)可靠性(Reliability):与在规定的一段韶光和条件下软件坚持其性子水平的能力有关的一组属性。

(3)可用性(Usability):与一组规定或潜在用户为利用软件所须做的努力及对这样利用所做评价有关的一组属性。

(4)效率(Efficiency):与在规定的条件下软件的性子水平和所利用资源量之间的关系有关的一组属性。

(5)可掩护性(Maintainability):与进行规定的修正所需的努力有关的一组属性。

(6)可移植性(Portability):与软件从某一环境转移到另一环境的能力有关的一组属性,个中每一个质量特色都分别与多少自特色相对应。

软件质量的度量

软件需求是度量软件质量的根本,不符合需求的软件质量自然不达标。
定量的软件评估基于上述原则通过数学模型来实现,即尺度度量(Metrics Measurement)方法。
上述定量度量适用于可以直接度量的特性,包括软件可靠性度量、繁芜度度量、毛病度量和规模度量。
例如,程序出错率可定义为每一千行代码(Kilometer Lines of Code,KLOC)所含有的毛病数量。
为了进行软件测试和质量的度量,须要根据质量模型(麦考尔质量模型、贝姆质量模型或ISO 9126)来准备足够的数据,然后进行测试覆盖率、产品质量的量化评估剖析。

(1)明确性(无二义性)、精确性、完备性、可理解性、可验证性、同等(内部和外部)性、简洁性、可完成性、可追踪性、可修正性、精确性和可复用性的数据。
上述数据可用来评价、剖析和模型相应的质量表现特色。

(2)公开的可能毛病数与报告总毛病数的比拟可用来评价测试精确度和测试覆盖率,同时也可用来预测项目的发布韶光。

(3)产品发布前打消的毛病数在总毛病数中所占的百分比可用于评估产品的质量。

(4)按严重毛病、子系统毛病来划分,分类统计出均匀修复韶光,这样将有助于方案修复毛病的事情。

(5)利用测试的统计数据,估算可掩护性、可靠性、可用性和原有故障总数等数据。

上述数据有助于评估运用软件的稳定程度和可能产生的失落败。
根据质量模型和上述不雅观点,可用下列带加权因子的回归公式来度量质量。

Mi=c1×f1+c2×f2+…+cn ×fn

Mi是软件质量成分,如SQRC层各项待打算值;

fn是影响质量成分的度量值,如SQDC层各项估计值;

cn是加权因子。
部分度量值可得到统计数据结果,部分度量值难以得到准确的量化值,须要主不雅观测度,例如,通过检讨表的形式,对这些特定属性进行评分。

质量度量的统计方法

质量度量统计方法是对质量评估量化的一种比较常用的方法,其利用有不断增长的趋势。
质量度量统计方法包含的步骤如下。

(1)网络和分类软件毛病信息。

(2)找出导致每个毛病的缘故原由。
例如,不符合规格解释书、代码缺点、设计缺点、对客户需求误解、数据处理缺点、违背标准、界面不友好等。

(3)利用二八定律。
80%的毛病由20%的紧张成分造成,20%的毛病由其余80%的次要成分造成,通过二八定律将20%的紧张成分分离出来。

(4)一旦标出少数的紧张成分,就可较为随意马虎地办理引起毛病的问题。

为相识释这一过程,假定软件开拓组织网络了一年的毛病信息,有些缺点是在软件开拓过程中创造的,其他缺点则是在软件交付给终极用户之后创造的。
只管创造了数以百计的不同类型的缺点,但所有缺点都可追溯其涌现的缘故原由,详细缘故原由种类有IES(解释不完全或解释缺点)、MCC(与客户互换不足所产生的误解)、IDS(故意与解释偏离)、VPS(违反编程标准)、EDR (数据表示有错)、IMI(模块接口不一致)、EDL(设计逻辑有错)、IET(不完全或缺点的测试)、IID(不准确或不完全的文档)、PLT(将设计翻译成程序设计措辞中的缺点)、HCI(不清晰或不一致的人机界面)、MIS(杂项)。

将上述各项数据网络完成之后,才可利用质量度量的统计方法。
上述数据详细如下表所示,个中IES、MCC、EDR和IET占总缺点的近62%,是影响软件质量的紧张缘故原由,但如果只考虑严重影响软件质量的成分,少数的紧张缘故原由就变为 IES、EDR、EDL 和 PLT。
一旦确定少数的紧张缘故原由(IES、EDR等),软件开拓职员就可集中在这些领域采纳改进方法,改进质量的效果会非常明显。
例如,为了减少与客户互换不足所产生的误解(MCC),在产品规格设计解释书中只管即便不该用专业术语,若利用了专业术语,也须要定义清楚,以提高与客户的通信及解释的质量。
为了改正EDR,不仅要采取CASE工具进行数据建模,而且要对数据字典、数据设计实施严格的复审制度。

表 质量度量的统计数据网络

当质量度量与毛病跟踪数据库结合利用时,可以为软件开拓周期的每个阶段打算“缺点指标”。
针对需求剖析、设计、编码、测试和发布各个阶段,可网络到的数据如下所示。

Ei= 在软件工程过程中的第i步中创造的缺点总数

Si= 严重缺点数

Mi= 一样平常缺点数

Ti= 眇小缺点数

Pi= 第i步的产品规模(代码行数、设计解释页数、文档页数)

Ws、Wm、Wt分别是严重、一样平常、眇小缺点的加权因子,一样平常推举取值为Ws=10、Wm=3和Wt=1,此处建议取值为Ws=0.6、Wm=0.3 和Wt=0.1(构成 100%)。
每个阶段的缺点度量值可以表示为PIi:

PIi=Ws(Si/Ei)+Wm(Mi/Ei)+Wt(Ti/Ei)

终极的缺点指标EP通过打算各个PIi的加权效果得到。
考虑到软件测试过程中越到后面创造的缺点权值越高,大略用1,2,3,…序列表示,则EP为:

EP=∑(i×PIi)/PS   个中 PS=∑Pi

缺点指标与上表中网络的信息相结合,可以得出软件质量的整体改进指标。

由质量度量的统计方法可知:想要将韶光集中用于办理紧张问题,首先就应找出导致紧张问题的紧张成分,而这些紧张成分可通过数据网络、统计方法平分别出来,从而实现真正有效地提高产品质量。
实际上,大多数严重的毛病都可以追溯到少数的紧张缘故原由,常日与大部分人的直觉附近,但很少有人会花韶光去网络数据来验证直觉。

标签:

相关文章

车辆质代码解码汽车产业发展的密码

汽车产业已成为国民经济的重要支柱产业。车辆性质代码作为汽车产业发展的关键要素,承载着丰富的信息,对于汽车行业的规范管理、技术创新和...

人工智能 2025-03-19 阅读0 评论0

轮播全屏图视觉盛宴与用户体验的完美融合

网页设计逐渐成为企业展示形象、提升品牌价值的重要手段。而在众多网页设计元素中,轮播全屏图以其独特的视觉冲击力,成为了网页设计中的“...

人工智能 2025-03-18 阅读0 评论0

轮巡智慧城市管理的未来之路

城市管理工作面临着前所未有的挑战。如何提高城市管理效率,提升城市品质,成为我国城市管理者亟待解决的问题。一种名为“轮巡”的城市管理...

人工智能 2025-03-18 阅读0 评论0

轮机工程引领未来船舶动力发展的关键技术

海洋运输业在我国国民经济中的地位日益重要。船舶作为海上运输的主要载体,其动力系统的稳定性和安全性直接关系到我国海上运输业的健康发展...

人工智能 2025-03-18 阅读0 评论0

轻松掌握组织机构代码证办理攻略

组织机构代码证是我国企业、事业单位和其他组织在开展经济活动、参与市场竞争时必备的合法身份证明。办理组织机构代码证是企业在成立之初必...

人工智能 2025-03-18 阅读0 评论0