软件测试与维护(一):Introduction
测试概念
Bug 缺陷
- 别名:缺点(defect)、偏差(variance)、故障(fault)、失败(failure)、问题(problem)、矛盾(inconsistency)、错误(error)、特殊(feature)、事件(incident)、缺陷(bug)、异常(anomaly)
- 问题的来源:
- 需求定义 Requirements Definition
- 设计 Design
- 实现 Implementation
- 支持系统 Support Systems
- 缺少测试 Inadequate Testing of Software
- 进化 Evolution
- 软件缺陷存在当以下至少一项规则发生之时:
- 软件未实现产品说明书(specification)要求的功能;
- 软件出现了产品说明书指明不应该出现的错误;
- 软件实现了产品说明书未提到的功能;
- 软件未实现产品说明书虽未明确提及但应该实现的目标;
- 软件难以理解、不易使用、运行缓慢或者–从测试员的角度看–最终用户会认为不好。
- 软件缺陷的分布:
- 说明书 Specification 55%
- 设计 Design 25%
- 编码 Code 15%
- 其他 Other 5%
Software Testing 软件测试
- 软件测试员的目标是发现软件缺陷(to find bugs)
- 软件测试员的目标是尽可能早地找出软件缺陷(as early in the software development process as possible)
- 软件测试员的目标是尽可能地找出软件缺陷,并确保其得以修复(make sure they are fixed)
测试模型
V模型
W模型
- 解决了V模型的部分问题:未将测试流程的完整性表示出来。
H模型
- 测试流程
- 测试准备活动:测试计划、测试设计、测试开发
- 测试执行活动:测试运行、测试评估
- 应用
- 测试不仅仅是测试执行,还包括其他活动。
- 测试是一个独立流程,贯穿产品整个周期,与其他流程并行进行。
- 测试要尽早准备,尽早执行。
其他模型
- X模型
- V 模型(进一步丰富)