软件流程和管理(八):质量管理

目录

1. 质量管理的基本原理

1.1 什么是质量?

1.2 什么是软件质量?

1.3 质量的成本

2. 质量管理流程

2.1 Quality assurance 质量保证

2.1.1 Verification vs Validation 核查与验证

2.1.2 Quality Assurance 质量保证标准

2.2 Quality Planning 质量规划

2.2.1 Software Quality Plan SQP - 模板

2.2.2 Software Quality Attributes 软件质量属性

2.3 Quality Control and Monitoring 质量控制和监测

2.3.1 Reviews

2.3.2 Technical Reviews 技术评审

2.3.2 Business Reviews 业务评审

2.3.3 Management Reviews 管理评审


1. 质量管理的基本原理

1.1 什么是质量?

质量不是一种行为,而是一种习惯 - 亚里士多德

  • 证据表明,我们不能简单地在事后修复我们的软件,并在建立系统后加入质量属性。
  • 质量必须从一开始就被建立在软件中。
  • 在本专题中,你将学习如何通过一系列的 Quality Management 质量管理活动将质量纳入软件中。

1.2 什么是软件质量?

我们从两个广泛的角度来定义质量:

End-user’s Perspective 终端用户的角度

通常,终端用户通过与产品的交互来判断产品的质量。对于用户来说,如果一个系统适合于目的,可靠,性能合理,易于学习和使用,并帮助用户实现他们的目标,那么这个系统就是有质量的。有时,如果功能很难学习,但非常重要,值得学习,那么用户仍然会判断该系统具有高质量。这些被称为 external quality characteristics 外部质量特征,因为它们通常与系统的外部行为相关联。

Developer’s Perspective 开发者的观点
开发者的观点通常还包括系统的故障数量,修改系统的难易程度,测试系统的难易程度,理解系统设计的难易程度,组件的可重用性,与需求的一致性,资源的使用,以及性能。 这些主要是 internal quality characteristics 内部质量特性,因为它们涉及到系统内部结构的质量。

1.3 质量的成本

有些人声称:

大多数质量保证活动的成本太高了——不使用资源所节省的费用大于修复故障所产生的费用。

  • 例如,与其对需求规格文件进行正式审查,不如建立系统,向客户/用户征求反馈意见,并从中纠正任何错误。
  • 或者,我们可以简单地发布系统,并在用户报告时纠正错误。

经验性研究反驳了上述说法。

  • 在这个领域有很多研究

这张图展示了在不同阶段想要修复 一个 bug 所需的成本呢,在 requirement 阶段就解决这个 bug,造成的成本较低,越往后拖,投入成本就越高

2. 质量管理流程

Quality assurance 质量保证

建立一个组织程序和标准的框架,以实现高质量的软件。 The establishment of a framework of organizational procedures and standards that lead to high-quality software

Quality planning 质量规划

从框架中选择适当的程序和标准,为具体项目所采用。 The selection of appropriate procedures and standards from the framework, adopted for the specific project

Quality control 质量控制

确保软件开发团队遵循项目的质量程序和标准。 Ensuring that the software development team has followed the project quality procedures and standards

2.1 Quality assurance 质量保证

2.1.1 Verification vs Validation 核查与验证

核查和验证(V&V)是质量保证的重要方面。

核查 Verification

  • Verification 是一种确保正确构建产品的尝试,在某种意义上,活动的输出产品满足在以前的活动中强加给它们的规范。
  • Verification通常涉及两(组)比较:req. spec. v.s design / design v.s code;这是一个内部开发人员活动。
  • Verification是确保您 building the system right 以正确的方式构建系统

验证 Validation

  • 验证是为了确保建立正确的产品 —— 即产品满足其特定的预期目的。
  • 验证包括回到利益相关者那里,检查产品是否符合他们的要求;这通常涉及到外部的东西/人。
  • 验证是确保你正在 building the right system 建立正确的系统(以满足利益相关者的需求)。

不同的测试层次

  • unit test:对一段代
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值