第 1部分 软件测试概述
本部分课程目标 软件缺陷的定义 软件缺陷产生的原因 软件测试的目标 软件测试的特征
软件的生命周期 需求规 格说明 概要设计 详细设计 系统测试 集成测试 单元测试 编码
“臭虫”的由来 人们将软件错误称为“臭虫”,这是因为第一个有记载的电脑故障是由线路上的臭虫造成的。就是我们通常称的“BUG”。
软件失败的术语描述 缺点(defect) 偏差(variance) 谬误 (fault) 失败(failure) 问题 (problem) 矛盾(inconsistency) 错误 (error) 特殊(feature) 毛病 (incident) 缺陷(bug) 异常 (anomaly)
软件失败的几个定义 错误:人类会犯错误。 缺陷:缺陷是错误的结果。 失效:当缺陷执行时会发生失效。 事故:当出现失效时,可能会也可能不会呈现给用户。
软件缺陷 软件未达到产品描述表明的功能。 软件出现了产品描述指明不会出现的错误。 软件功能超出产品描述指明范围。 软件未达到产品描述虽未指出但应达到的目标。 软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
软件缺陷的分类 以出现相应错误的开发阶段来划分; 以相应失效产生的后果来划分; 以解决难度来划分; 以不解决会产生的风险来划分; 根据异常出现的频率来划分。
软件缺陷产生的原因有很多,但最主要的原因要归咎于产品描述
软件测试员的目标 发现软件缺陷
软件测试的生命周期 需求规 格说明 设计 缺陷分类 缺陷解决 缺陷隔离 测试 编码 错误 修复 事故 缺陷
软件测试的理解 规格说明 (预期的) 程序 (观察的) S P
软件测试用例的理解 7 规格说明 (预期的) 程序 (观察的) S P T 8 2 1 5 6 4 3 测试用例 (已检验)
功能性测试 规格说明 (预期的) 程序 (观察的) S P 测试用例
结构性测试 规格说明 (预期的) 程序 (观察的) S P 测试用例
软件测试的特征 软件测试具有一定的风险 软件缺陷的寄生虫性 软件测试的杀虫剂现象 软件测试的不修复原则 Pareto原则
完全测试程序是不可能的 原因: 输入量太大 输出结果太多 软件实现途径太多 软件说明书没有客观标准
软件测试是有风险的行为 如果决定不去测试所有的情况,那就是选择了风险 。
软件缺陷的寄生虫性 找到的软件缺陷越多,就说明软件缺陷越多 原因: 程序员的疲倦 程序员往往犯同样的错误 某些软件的缺陷其实是大灾难的征兆
软件测试的杀虫剂现象 软件测试越多,其免疫力越强的现象 克服方法: 不断编写不同的新的测试程序 对程序的不同部分进行测试
软件测试的不修复原则 并非所有软件缺陷都能修复 不需要修复软件缺陷的原因: 没有足够的时间 不算真正的软件缺陷 修复的风险太大 不值得修复
Pareto原则 Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%。
小结 软件及软件生命周期 软件缺陷及产生原因 软件缺陷的生命周期 软件测试的目的 软件测试的特征