《微软的软件测试之道》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)培智,约翰斯顿,罗里森著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111277538
  • 页数:313 页
图书介绍:本书是以使读者熟悉微软产品、微软工程师、微软测试人员、测试的作用和对软件工程的通常做法作为开始。书的第二部分讨论许多在微软常用的测试实践和工具。书的第三部分探讨某些我们工作中使用过的工具和系统。书的最后一部分探讨在微软测试和质量的未来方向,以及我们打算怎么创造未来。

第一部分 关于微软 2

第1章 微软的软件工程 2

1.1 微软的愿景和价值观,为何我们“爱微软” 2

1.2 微软是大型的软件工程公司 5

1.3 拓展大型且高效的业务 6

1.4 在“大”公司中做“小”项目 8

1.5 聘用多种类型的工程师 11

1.6 全球化的软件开发公司 13

1.7 本章小结 15

第2章 微软的软件测试工程师 16

2.1 职位名称的含义 17

2.2 微软测试工程师的职称并非一直都是SDET 18

2.3 我需要更多的测试工程师,立刻就要 21

2.3.1 校园招聘 22

2.3.2 业界招聘 23

2.4 学习如何成为微软的SDET 23

2.5 微软工程师的职业发展 24

2.6 测试职种的发展道路 25

2.6.1 测试架构师 25

2.6.2 测试独立贡献者 26

2.6.3 成为管理者并不意味着升职 27

2.6.4 测试经理 28

2.7 本章小结 29

第3章 工程生命周期 30

3.1 微软的软件工程 30

3.1.1 传统软件工程模型 31

3.1.2 里程碑模式 33

3.1.3 微软的敏捷开发 35

3.1.4 宏观视野 37

3.2 流程改进 38

3.3 从“作战室”发布软件 39

3.4 本章小结 41

第二部分 关于测试 44

第4章 软件测试用例设计的实用方法 44

4.1 实践良好的软件设计和测试设计 44

4.2 使用测试模式 45

4.3 估计测试时间 46

4.4 从测试开始 47

4.4.1 搜出问题 47

4.4.2 制定测试策略 48

4.5 考虑可测试性 48

4.6 同时用好数据和坏数据进行测试 50

4.7 测试用例设计中应考虑的其他因素 51

4.7.1 黑盒测试、白盒测试和灰盒测试 51

4.7.2 微软的探索性测试 52

4.8 本章小结 52

第5章 功能测试技术 53

5.1 功能测试的需求 53

5.2 等价类划分 57

5.2.1 变量分解 58

5.2.2 等价类划分实战 59

5.2.3 参数子集分析 60

5.2.4 等价类划分测试 62

5.2.5 等价类划分小结 64

5.3 边界值分析 65

5.3.1 定义边界测试 66

5.3.2 边界值分析:一个全新的公式 67

5.3.3 隐性边界 69

5.3.4 边界值分析小结 71

5.4 组合分析 71

5.4.1 组合测试的途径 72

5.4.2 组合分析实践 74

5.4.3 组合分析的有效性 79

5.4.4 组合分析小结 80

5.5 本章小结 80

第6章 结构测试技术 82

6.1 块测试 84

6.2 判定测试 90

6.3 条件测试 92

6.4 基础路径测试 94

6.5 本章小结 101

第7章 用代码复杂度分析风险 102

7.1 风险行业 102

7.2 复杂问题 103

7.3 测量回路复杂度 104

7.3.1 Halstead度量 107

7.3.2 面向对象的度量 108

7.3.3 回路复杂度高并不表示缺陷累累 109

7.4 如何利用复杂度度量 110

7.5 本章小结 110

第8章 基于模型的测试 112

8.1 采用模型测试 113

8.1.1 设计模型 114

8.1.2 模型化软件 115

8.1.3 建立有限状态模型 117

8.1.4 模型自动化 117

8.2 不带测试的建模 122

8.2.1 贝叶斯图解模型 122

8.2.2 Petri网 123

8.3 微软的基于模型的测试工具 123

8.3.1 Spec Explorer 124

8.3.2 语言和引擎 128

8.3.3 建模提示 131

8.4 本章小结 131

8.5 推荐资料和工具 132

第三部分 测试工具和系统 134

第9章 缺陷和测试用例管理 134

9.1 缺陷工作流程 135

9.2 缺陷的跟踪 136

9.2.1 一个缺陷的生命周期 136

9.2.2 缺陷跟踪系统的特征 137

9.2.3 为什么撰写缺陷报告 138

9.2.4 解剖缺陷报告 138

9.2.5 缺陷会审 140

9.2.6 缺陷报告中常见的错误 142

9.2.7 数据使用 144

9.2.8 何时不能使用缺陷数据:缺陷作为绩效度量 145

9.2.9 缺陷门槛 146

9.3 测试用例管理 149

9.3.1 什么是测试用例 149

9.3.2 测试用例的价值 150

9.3.3 剖析测试用例 151

9.3.4 测试用例误区 152

9.4 管理测试用例 153

9.4.1 测试用例和测试点:计算测试用例 154

9.4.2 跟踪和解释测试结果 155

9.5 本章小结 156

第10章 测试自动化 157

10.1 自动化的价值 157

10.2 用户界面自动化 160

10.3 自动化测试包括什么 163

10.4 微软中的“SEARCH” 166

10.4.1 设置 166

10.4.2 执行 168

10.4.3 分析 172

10.4.4 报告 174

10.4.5 清理 175

10.4.6 帮助 175

10.5 让自动化测试跑起来 176

10.5.1 把一切装配起来 176

10.5.2 大型自动化测试系统 177

10.5.3 测试自动化中的常见错误 177

10.6 本章小结 178

第11章 非功能测试 179

11.1 功能之外 179

11.2 属性测试 180

11.3 性能测试 181

11.4 压力测试 183

11.4.1 分布式压力测试 185

11.4.2 分布式压力架构 185

11.4.3 多客户端压力测试的特点 187

11.5 兼容性测试 187

11.5.1 应用软件库 188

11.5.2 应用程序检验器 189

11.6 吃我们自己的“狗食” 190

11.7 适用性测试 190

11.7.1 可达性角色 192

11.7.2 可达性测试 193

11.7.3 微软主动式辅助(MSAA)测试工具 193

11.8 可用性测试 193

11.9 安全测试 195

11.9.1 威胁建模 195

11.9.2 模糊测试 195

11.10 本章小结 196

第12章 其他工具 197

12.1 代码改动量 197

12.2 一切尽在掌握 198

12.2.1 追踪变更 198

12.2.2 什么改变了 199

12.2.3 为何改变 201

12.2.4 集中型的源代码管理控制 202

12.3 软件构建 204

12.4 静态分析 209

12.4.1 本机代码分析 209

12.4.2 托管代码分析 211

12.4.3 工具只是工具 212

12.4.4 测试代码分析 212

12.4.5 测试代码也属于产品代码 214

12.5 更多工具 214

12.5.1 解决特定问题的工具 214

12.5.2 服务大众的工具 214

12.6 本章小结 215

第13章 用户反馈系统 216

13.1 测试和质量 216

13.1.1 测试提供了信息 216

13.1.2 质量感知 217

13.2 用户救援 218

13.3 Windows错误报告(WER) 221

13.3.1 WER的工作原理 222

13.3.2 填入存储桶 224

13.3.3 清空存储桶 224

13.3.4 测试和WER 225

13.4 微笑,微软和你一同微笑 225

13.5 连接用户 227

13.6 本章小结 230

第14章 测试软件加服务 231

14.1 第一部分关于服务 232

14.1.1 微软的服务战略 232

14.1.2 业务重心向Internet服务迁移 232

14.1.3 从大规模成长为超大规模 233

14.1.4 能源是成长的瓶颈 235

14.1.5 服务与盒装软件 236

14.1.6 从单机软件到多层次服务 238

14.2 第二部分测试软件加服务 239

14.2.1 创新的浪潮 239

14.2.2 设计合适的软件加服务测试方法 240

14.2.3 软件加服务测试技术 245

14.3 另一些关于软件加服务的重要思想 260

14.3.1 持续质量提高计划 260

14.3.2 我见过的被忽略的常见缺陷 263

14.4 本章小结 263

第四部分 关于未来 266

第15章 今天解决明天的问题 266

15.1 自动失败分析 266

15.1.1 战胜分析瘫痪 266

15.1.2 匹配游戏 267

15.1.3 好的日志记录实践 268

15.1.4 日志文件剖析 269

15.1.5 集成AFA 270

15.2 机器虚拟化 271

15.2.1 虚拟化的好处 271

15.2.2 虚拟机测试场景 272

15.2.3 当测试时发生失败 275

15.2.4 不建议使用的测试场景 276

15.3 代码审查和检视 276

15.3.1 代码审查的类型 276

15.3.2 核查清单 277

15.3.3 其他考虑 278

15.3.4 审查的两面性 280

15.4 工具无处不在 280

15.4.1 提炼、重用、回收 280

15.4.2 问题在哪 281

15.4.3 开放式的开发 281

15.5 本章小结 282

第16章 构建未来 283

16.1 前瞻性思考的需求 283

16.1.1 通过追本溯源进行前瞻性思考 283

16.1.2 努力培养质量文化 284

16.1.3 测试和质量保证 284

16.1.4 质量该谁管 285

16.1.5 质量成本 286

16.1.6 测试的新角色 286

16.2 测试领域的领导力 287

16.2.1 微软测试领导团队 287

16.2.2 测试领导团队主席 287

16.2.3 测试领导力在行动 288

16.2.4 测试架构师团队 289

16.3 卓越测试 290

16.3.1 共享 291

16.3.2 帮助 291

16.3.3 沟通 292

16.3.4 关注未来 293

16.3.5 微软公司卓越测试主任 294

16.3.6 三方面的领导 294

16.4 为未来创新 294

中英文对照术语表 296