目录
第一篇 软件测试的基础
第1章 软件测试行业 1
1.1 软件测试的起源 1
1.1.1 第一个BUG的故事 1
1.1.2 最近的几个导致严重错误的Bug 1
1.1.3 软件测试的起源 2
1.2 软件测试的发展 2
1.2.1 软件调试 3
1.2.2 独立的软件测试 3
1.2.3 软件测试的第一次定义 3
1.2.4 软件测试成为专门的学科 4
1.2.5 开发与测试的融合趋势 4
1.2.6 为什么软件测试发展比较缓慢 4
1.3 软件测试行业的现状和前景 5
1.3.1 国内测试行业现状 5
1.3.2 测试人员的现状 6
1.3.3 软件测试的前景 6
1.4 小结 7
1.5 新手入门须知 8
1.6 模拟面试问答 8
第2章 软件测试的组织 10
2.1 测试的组织形式 10
2.1.1 微软的经验教训 10
2.1.2 最简单的软件测试组织 10
2.1.3 组织形式的分类方式 11
2.1.3 综合型的测试组织 12
2.2 融入测试组织 13
2.2.1 根据开发的模式判断自己的测试角色定位 13
2.2.2 如何融入一个项目团队 15
2.3 软件测试的团队建设 16
2.3.1 学习型团队的组建 16
2.3.2 让每一位测试人员找到适合自己的位置 17
2.3.3 “无规矩则不成方圆” 18
2.4 小结 20
2.5 新手入门须知 20
2.6 模拟面试问答 20
第3章 软件测试的人员要求 22
3.1 测试人员的素质要求 22
3.1.1 你对测试感兴趣吗? 22
3.1.2 你有适合做软件测试的性格特征吗? 23
3.1.3 测试的正确态度-责任感 25
3.2 测试人员的技能要求 26
3.2.1 业务知识 26
3.2.2 产品设计知识 27
3.2.3 测试人员的“武器” 27
3.2.4 用户心理学 28
3.2.5 测试人员是否需要编程技能? 29
3.2.6 文档能力 33
3.3 小结 34
3.4 新手入门须知 34
3.5 模拟面试问答 35
第二篇 软件测试基本理论
第4章 软件工程与软件测试 36
4.1 软件工程简介 36
4.1.1 什么是软件工程? 36
4.1.2 软件工程的发展历史 38
4.1.3 软件工程的目的 39
4.2 软件开发模式 39
4.2.1 常见的软件开发模式 39
4.2.2 敏捷开发模式 42
4.3 不同软件开发模式下的软件测试 43
4.3.1 CMM和ISO中的软件测试 43
4.3.2 敏捷开发中的软件测试 45
4.3.3 QA与QC的区别 46
4.4 配置管理与软件测试 47
4.4.1 什么是配置管理? 47
4.4.2 测试人员参与的配置管理活动 50
4.5 小结 51
4.6 新手入门须知 51
4.7 模拟面试问答 52
第5章 软件测试的目的与原则 54
5.1 软件测试的目的 54
5.1.1 测试是为了建立软件的信心 54
5.1.2 测试是一种服务 57
5.2 软件测试应该遵循的几个原则 57
5.2.1 Good enough原则 58
5.2.2 Pareto原则 58
5.2.3 尽可能早开展测试 59
5.2.4 在发现比较多错误的地方需要投入更多的测试 59
5.2.5 同化效应 60
5.3 小结 60
5.4 新手入门须知 60
5.5 模拟面试问答 61
第6章 软件测试的方法论 63
6.1 软件测试的5大流派 63
6.2 软件测试的方法应用 66
6.2.1 微软的软件测试方法 66
6.2.2 IBM的软件测试方法 68
6.2.3 自动错误预防(AEP)方法 71
6.3 小结 74
6.4 新手入门须知 74
6.5 模拟面试问答 76
第7章 软件测试的过程管理 78
7.1 软件测试的各个阶段 78
7.2 测试需求 79
7.2.1 需求规格说明书的检查要点 79
7.2.2 需求文档的检查步骤 79
7.2.3 通过编写测试用例来检查需求 82
7.3 测试的计划 83
7.3.1 我们为什么要制定测试计划? 83
7.3.2 测试计划是对测试过程的整体设计 84
7.3.3 确定测试范围 84
7.3.4 制定测试策略 85
第一篇 软件测试的基础
第1章 软件测试行业 1
1.1 软件测试的起源 1
1.1.1 第一个BUG的故事 1
1.1.2 最近的几个导致严重错误的Bug 1
1.1.3 软件测试的起源 2
1.2 软件测试的发展 2
1.2.1 软件调试 3
1.2.2 独立的软件测试 3
1.2.3 软件测试的第一次定义 3
1.2.4 软件测试成为专门的学科 4
1.2.5 开发与测试的融合趋势 4
1.2.6 为什么软件测试发展比较缓慢 4
1.3 软件测试行业的现状和前景 5
1.3.1 国内测试行业现状 5
1.3.2 测试人员的现状 6
1.3.3 软件测试的前景 6
1.4 小结 7
1.5 新手入门须知 8
1.6 模拟面试问答 8
第2章 软件测试的组织 10
2.1 测试的组织形式 10
2.1.1 微软的经验教训 10
2.1.2 最简单的软件测试组织 10
2.1.3 组织形式的分类方式 11
2.1.3 综合型的测试组织 12
2.2 融入测试组织 13
2.2.1 根据开发的模式判断自己的测试角色定位 13
2.2.2 如何融入一个项目团队 15
2.3 软件测试的团队建设 16
2.3.1 学习型团队的组建 16
2.3.2 让每一位测试人员找到适合自己的位置 17
2.3.3 “无规矩则不成方圆” 18
2.4 小结 20
2.5 新手入门须知 20
2.6 模拟面试问答 20
第3章 软件测试的人员要求 22
3.1 测试人员的素质要求 22
3.1.1 你对测试感兴趣吗? 22
3.1.2 你有适合做软件测试的性格特征吗? 23
3.1.3 测试的正确态度-责任感 25
3.2 测试人员的技能要求 26
3.2.1 业务知识 26
3.2.2 产品设计知识 27
3.2.3 测试人员的“武器” 27
3.2.4 用户心理学 28
3.2.5 测试人员是否需要编程技能? 29
3.2.6 文档能力 33
3.3 小结 34
3.4 新手入门须知 34
3.5 模拟面试问答 35
第二篇 软件测试基本理论
第4章 软件工程与软件测试 36
4.1 软件工程简介 36
4.1.1 什么是软件工程? 36
4.1.2 软件工程的发展历史 38
4.1.3 软件工程的目的 39
4.2 软件开发模式 39
4.2.1 常见的软件开发模式 39
4.2.2 敏捷开发模式 42
4.3 不同软件开发模式下的软件测试 43
4.3.1 CMM和ISO中的软件测试 43
4.3.2 敏捷开发中的软件测试 45
4.3.3 QA与QC的区别 46
4.4 配置管理与软件测试 47
4.4.1 什么是配置管理? 47
4.4.2 测试人员参与的配置管理活动 50
4.5 小结 51
4.6 新手入门须知 51
4.7 模拟面试问答 52
第5章 软件测试的目的与原则 54
5.1 软件测试的目的 54
5.1.1 测试是为了建立软件的信心 54
5.1.2 测试是一种服务 57
5.2 软件测试应该遵循的几个原则 57
5.2.1 Good enough原则 58
5.2.2 Pareto原则 58
5.2.3 尽可能早开展测试 59
5.2.4 在发现比较多错误的地方需要投入更多的测试 59
5.2.5 同化效应 60
5.3 小结 60
5.4 新手入门须知 60
5.5 模拟面试问答 61
第6章 软件测试的方法论 63
6.1 软件测试的5大流派 63
6.2 软件测试的方法应用 66
6.2.1 微软的软件测试方法 66
6.2.2 IBM的软件测试方法 68
6.2.3 自动错误预防(AEP)方法 71
6.3 小结 74
6.4 新手入门须知 74
6.5 模拟面试问答 76
第7章 软件测试的过程管理 78
7.1 软件测试的各个阶段 78
7.2 测试需求 79
7.2.1 需求规格说明书的检查要点 79
7.2.2 需求文档的检查步骤 79
7.2.3 通过编写测试用例来检查需求 82
7.3 测试的计划 83
7.3.1 我们为什么要制定测试计划? 83
7.3.2 测试计划是对测试过程的整体设计 84
7.3.3 确定测试范围 84
7.3.4 制定测试策略 85