文章目录
第一章 软件质量和测试的背景
1. 软件特征与软件工程
1.1 软件的定义
软件包括计算机程序,规程,文档,和软件系统运行所必需的数据四个部分。
1.2 软件具有和硬件完全不同的特征
- 软件是逻辑产品,是由开发产生的,不是用传统方法制造
- 软件不会像硬件一样有磨损
- 很多软件不能通过已有构件组装,只能自己定义
1.3 层次化软件工程
1.3.1 软件工程定义
- 将系统化的,规范的,可度量的方法应用于软件的开发,运行,和维护的过程,即将工程化应用于软件中
- 对(1)中所述方法的研究
1.3.2 软件工程的根基
软件工程的根基在于对质量的关注
1.3.3 软件工程的三个阶段
- 定义阶段针对做什么
- 开发阶段针对如何做
- 维护阶段针对改变
1.4 软件范型的转变
2. 软件质量
2.1 软件质量保证(SQA)是应用于整个软件过程的保护性活动
2.2 质量概念
应从以下几个方面考虑软件质量
- 软件结构方面
- 功能与性能方面
- 开发标准与文档方面
2.3 软件质量概念
- 系统,部件或者过程满足规定需求的程度
- 系统,部件或者过程满足顾客或者用户需要或者期望的程度
- 该定义相对客观,强调了产品或服务和客户或社会需求的一致性
2.3.1 软件质量的六个主要特征
- 功能性
- 可靠性
- 易使用性
- 效率
- 可维护性
- 可移植性
2.3.2 软件质量保证和测试的关系
2.3.3 质量保证和质量控制
2.4 软件测试
2.4.1 软件测试的定义
- 软件测试是使用人工或自动化手段来运行或测定某个系统的过程,检验它是否满足规定的需求或弄清预期结果和实际结果之间的差别
1,测试是程序的执行过程,目的在于发现错误
2,一个好的测试用例是在于它能发现至今未发现的错误
3,一个成功的测试是发现了至今未发现的错误的测试