软件质量

一、质量的定义:

ISO关于质量的定义表示如下:

一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求。而质量就是实体基于这些实体特性满足需求的程度。

实体特例举例:

榨汁机:

功能:能够榨豆浆、水果汁(苹果、梨、西瓜......)

性能:榨一公斤黄豆需要多长时间?

耗能:榨一公斤黄豆耗电量多少?

安全性:榨汁过程中有无人体安全防护措施?有无漏电保护?

可靠性:榨汁机能持续稳定运转多长时间?

易用性:榨汁机的操作是否简单方便?

酒店:

建筑:客房、西餐厅、宴会厅、酒吧、健身房......

设施:配套设施的品牌、档次

环境:交通、风景......

服务:服务品种、服务态度、响应客户要求的及时性......

软件质量的三个层次:

从质量的定义,我们可以引申出不同层次的软件质量:

  • 符合需求规格:符合开发者明确定义的目标,即产品是不是在做让它做的事情。目标是开发者定义的,并且是可以验证的;

  • 符合用户显式需求:符合用户所明确说明的目标。目标是客户所定义的,符合目标即判断我们是不是在做我们需要做的事情;

  • 符合用户实际需求:实际的需求包括用户明确说明的和隐含的需求。

影响软件质量的因素:

  • 流程

  • 技术

  • 组织

缺一不可,需同时改进,同时还要兼顾成本和进度

二、软件质量管理体系

  • ISO9000

  • CMMI

  • 六西格玛

三、软件质量模型

•质量模型:一组特性及特性之间的关系,它提供规定质量需求和评价质量的基础(六大质量特性)

image-20200707105245717

四、软件质量活动

软件组织主要软件质量活动:

  • 软件质量保证(SQA)

  • 测试

SQA和测试的关系:

软件质量由组织、流程和技术三方面决定

  • SQA从流程方面保证软件的质量

  • 测试从技术方面保证软件的质量

  • 只进行SQA活动或只进行测试活动不一定能产生好的软件质量

SQA的主要工作范围:

  • 指导并监督项目按照过程实施;

  • 对项目进行度量、分析,增加项目的可视性;

  • 审核工作产品,评价工作产品和过程质量目标的符合度;

  • 进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进

软件度量的概念和目的:

概念:

度量:对事物属性的量化表示

软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构件或生命周期过程具有的某个给定属性的度的一个定量测量

目的:

提高软件生产率,缩短产品研发周期,降低研发成本、维护成本;

提高软件产品质量,提高用户满意度;

为组织持续改进提供量化的指标和反馈;

作用:

理解:就是通过度量,获得对过程、产品、资源等的理解,确定以后预测的基线和模型。对于不同的软件组织和软件类型,过程模型都不一样。这是评估、预测、改进活动的基础

预测:根据所理解确定的模型,由已知的要素推算、估计其它要素,以便合理分配资源、合理制定计划

评估:分析活动与计划的符合度,确定是否有偏差,以便控制其执行

  • 开发活动与计划的符合程度。如工作量估计偏差、进度偏差等;

  • 产品的质量。如软件复杂度、缺陷密度、平均失效时间间隔等;

  • 新技术的影响

改进:根据得到的量化信息,可以帮助我们识别要因、查找问题的根源,以及能提高产品质量和过程效率的其它方法;与以前的量化信息比较,可以验证这些方法是否有效

分类:
  • 规模(size):

软件工作产品的大小

  • 工作量(effort):

完成各软件工作产品和活动所用人时(或人天等)

  • 进度(schedule):

各软件工作产品和活动开始和结束的时间

  • 质量(quality)-缺陷(defect):

在各软件工作产品和活动中产生的缺陷数

其他度量指标:
  • 根据基本度量数据可以分析、综合得到其他度量数据或指标:

  • 缺陷密度:

研发活动发现缺陷密度

研发活动引入缺陷密度

工作产品缺陷密度

  • 生产率:

SRS、HLD、LLD阶段文档生产率:页/人天

编码阶段生产率:KLOC/人天

UT、IT、ST用例设计阶段生产率:用例/人天

  • 测试执行效率: 执行用例数/人天

  • 用例密度:用例数/KLOC

posted @ 2020-08-19 10:31  时倾lzl  阅读(356)  评论(0)    收藏  举报