【构建之法】第14章-质量保障

本章重点:

  • 软件的质量包括哪些方面
  • QA和Test的区别和联系
  • 如何衡量软件工程的质量
  • CMMI

1 软件的质量

软件质量 = 程序质量 + 软件工程质量

1.1 程序的质量

程序的质量体现在软件外在功能的质量。

1.2 软件工程的质量

软件的开发过程有三个主要的特性:“好”、“快”、“便宜”。通俗的理解是“软件在功能、成本、时间三方面满足利益相关者的需求”。

软件工程的质量体现在以下方面:

  • 软件开发过程的可见性(Visibility)
  • 软件开发过程的风险控制(Risk Management)
  • 软件内部模块、项目中间阶段的交付质量,项目管理工具的因素
  • 软件开发成本的控制(Cost Control)
  • 内部质量指标的完成情况(Internal Benchmarks)

1.3 软件工程的质量如何衡量

能力成熟度模型集成(Capacity Maturity Model Integrated,CMMI)

CMMI的实施能够提高企业的管理水平,降低企业的成本。CMMI有以下几个等级:

等级说明
CMMI一级初始级
CMMI二级管理级
CMMI三级明确(定义)级
CMMI四级量化管理级
CMMI五级优化级

1.4 质量的成本

要达到一定的软件质量,是要付出成本的。戴明环(Plan-Do-Check-Act/Adjust)也有一个专门的Adjust部分。

SWEBOK特别定义了软件质量成本(Cost of Software Quality,CoSQ)的组成部分,其中包括预防、评审、内部故障、外部故障这四个方面,作者认为还要加上流程分析改进、投资改进等各种成本:

  • 预防(Prevention)
  • 评审(Appraisal)
  • 内部故障(Internal Failure)
  • 外部故障(External Failure)
  • 流程分析改进(Process Enhancement)
  • 提高职业技能(Enhance Professional Skills)
  • 技术投资(Invest in Technology)

2 软件的质量保障工作

软件的质量保障(QA)和软件测试(Test)是有很大区别的:

  • 软件测试(Test):运用一定的流程和工作,验证软件能实现预先设计的功能和特性,工作的流程和结果是可量化的;
  • 软件质量保障工作(Quality Assurance):软件团队为了让软件达到事先定义的质量标准而进行的所有活动,包括测试工作。

微软开发测试主要有三种角色:

  • SDK:Software Design Engineer,开发工程师,简称Deve;
  • SDE/T:Software Design Engineer in Testing,也写代码,但是重点在测试;
  • STE:Software Test Engineer,测试工程师。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值