软件质量
一、质量的定义:
ISO关于质量的定义表示如下:
一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。而质量就是实体基于这些实体特性满足需求的程度。
实体特例举例:
榨汁机:
功能:能够榨豆浆、水果汁(苹果、梨、西瓜......)
性能:榨一公斤黄豆需要多长时间?
耗能:榨一公斤黄豆耗电量多少?
安全性:榨汁过程中有无人体安全防护措施?有无漏电保护?
可靠性:榨汁机能持续稳定运转多长时间?
易用性:榨汁机的操作是否简单方便?
酒店:
建筑:客房、西餐厅、宴会厅、酒吧、健身房......
设施:配套设施的品牌、档次
环境:交通、风景......
服务:服务品种、服务态度、响应客户要求的及时性......
软件质量的三个层次:
从质量的定义,我们可以引申出不同层次的软件质量:
-
符合需求规格:符合开发者明确定义的目标,即产品是不是在做让它做的事情。目标是开发者定义的,并且是可以验证的;
-
符合用户显式需求:符合用户所明确说明的目标。目标是客户所定义的,符合目标即判断我们是不是在做我们需要做的事情;
-
符合用户实际需求:实际的需求包括用户明确说明的和隐含的需求。
影响软件质量的因素:
-
流程
-
技术
-
组织
缺一不可,需同时改进,同时还要兼顾成本和进度
二、软件质量管理体系
-
ISO9000
-
CMMI
-
六西格玛
三、软件质量模型
•质量模型:一组特性及特性之间的关系,它提供规定质量需求和评价质量的基础(六大质量特性)
四、软件质量活动
软件组织主要软件质量活动:
-
软件质量保证(SQA)
-
测试
SQA和测试的关系:
软件质量由组织、流程和技术三方面决定
-
SQA从流程方面保证软件的质量
-
测试从技术方面保证软件的质量
-
只进行SQA活动或只进行测试活动不一定能产生好的软件质量
SQA的主要工作范围:
-
指导并监督项目按照过程实施;
-
对项目进行度量、分析,增加项目的可视性;
-
审核工作产品,评价工作产品和过程质量目标的符合度;
-
进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进
软件度量的概念和目的:
概念:
度量:对事物属性的量化表示
软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构件或生命周期过程具有的某个给定属性的度的一个定量测量
目的:
提高软件生产率,缩短产品研发周期,降低研发成本、维护成本;
提高软件产品质量,提高用户满意度;
为组织持续改进提供量化的指标和反馈;
作用:
理解:就是通过度量,获得对过程、产品、资源等的理解,确定以后预测的基线和模型。对于不同的软件组织和软件类型,过程模型都不一样。这是评估、预测、改进活动的基础
预测:根据所理解确定的模型,由已知的要素推算、估计其它要素,以便合理分配资源、合理制定计划
评估:分析活动与计划的符合度,确定是否有偏差,以便控制其执行
-
开发活动与计划的符合程度。如工作量估计偏差、进度偏差等;
-
产品的质量。如软件复杂度、缺陷密度、平均失效时间间隔等;
-
新技术的影响
改进:根据得到的量化信息,可以帮助我们识别要因、查找问题的根源,以及能提高产品质量和过程效率的其它方法;与以前的量化信息比较,可以验证这些方法是否有效
分类:
-
规模(size):
软件工作产品的大小
-
工作量(effort):
完成各软件工作产品和活动所用人时(或人天等)
-
进度(schedule):
各软件工作产品和活动开始和结束的时间
-
质量(quality)-缺陷(defect):
在各软件工作产品和活动中产生的缺陷数
其他度量指标:
-
根据基本度量数据可以分析、综合得到其他度量数据或指标:
-
缺陷密度:
研发活动发现缺陷密度
研发活动引入缺陷密度
工作产品缺陷密度
-
生产率:
SRS、HLD、LLD阶段文档生产率:页/人天
编码阶段生产率:KLOC/人天
UT、IT、ST用例设计阶段生产率:用例/人天
-
测试执行效率: 执行用例数/人天
-

浙公网安备 33010602011771号