注重体验与质量的电子书资源下载网站
分类于: 设计 编程语言
简介
微软的软件测试之道 豆 8.3分
资源最后更新于 2020-09-05 21:58:17
作者:Alan Page
译者:张奭
出版社:机械工业出版社
出版日期:2009-01
ISBN:9787111277538
文件格式: pdf
标签: 软件测试 测试 计算机 软件工程 行业.技能.知识 Testing 软件 经典
简介· · · · · ·
本书是以使读者熟悉微软产品、微软工程师、微软测试人员、测试的作用和对软件工程的通常做法作为开始。书的第二部分讨论许多在微软常用的测试实践和工具。 书的第三部分探讨某些我们工作中使用过的工具和系统。书的最后一部分探讨在微软测试和质量的未来方向,以及我们打算怎么创造未来。
本书结构清晰,内容详实,可作为广大软件测试人员的参考用书。
目录
译者序
译者介绍
前言
第一部分 关于微软
第1章 微软的软件工程
1.1 微软的愿景和价值观,为何我们“爱微软”
1.2 微软是大型的软件工程公司
1.3 拓展大型且高效的业务
1.4 在“大”公司中做 “小”项目
1.5 聘用多种类型的工程师
1.6 全球化的软件开发公司
1.7 本章小结
第2章 微软的软件测试工程师
2.1 职位名称的含义
2.2 微软测试工程师的职称并非一直都是SDET
2.3 我需要更多的测试工程师,立刻就要
2.3.1 校园招聘
2.3.2 业界招聘
2.4 学习如何成为微软的SDET
2.5 微软工程师的职业发展
2.6 测试职种的发展道路
2.6.1 测试架构师
2.6.2 测试独立贡献者
2.6.3 成为管理者并不意味着升职
2.6.4 测试经理
2.7 本章小结
第3章 工程生命周期
3.1 微软的软件工程
3.1.1 传统软件工程模型
3.1.2 里程碑模式
3.1.3 微软的敏捷开发
3.1.4 宏观视野
3.2 流程改进
3.3 从“作战室”发布软件
3.4 本章小结
第二部分 关于测试
第4章 软件测试用例设计的实用方法
4.1 实践良好的软件设计和测试设计
4.2 使用测试模式
4.3 估计测试时间
4.4 从测试开始
4.4.1 搜出问题
4.4.2 制定测试策略
4.5 考虑可测试性
4.6 同时用好数据和坏数据进行测试
4.7 测试用例设计中应考虑的其他因素
4.7.1 黑盒测试、白盒测试和灰盒测试
4.7.2 微软的探索性测试
4.8 本章小结
第5章 功能测试技术
5.1 功能测试的需求
5.2 等价类划分
5.2.1 变量分解
5.2.2 等价类划分实战
5.2.3 参数子集分析
5.2.4 等价类划分测试
5.2.5 等价类划分小结
5.3 边界值分析
5.3.1 定义边界测试
5.3.2 边界值分析:一个全新的公式
5.3.3 隐性边界
5.3.4 边界值分析小结
5.4 组合分析
5.4.1 组合测试的途径
5.4.2 组合分析实践
5.4.3 组合分析的有效性
5.4.4 组合分析小结
5.5 本章小结
第6章 结构测试技术
6.1 块测试
6.2 判定测试
6.3 条件测试
6.4 基础路径测试
6.5 本章小结
第7章 用代码复杂度分析风险
7.1 风险行业
7.2 复杂问题
7.3 测量回路复杂度
7.3.1 Halstead度量
7.3.2 面向对象的度量
7.3.3 回路复杂度高并不表示缺陷累累
7.4 如何利用复杂度度量
7.5 本章小结
第8章 基于模型的测试
8.1 采用模型测试
8.1.1 设计模型
8.1.2 模型化软件
8.1.3 建立有限状态模型
8.1.4 模型自动化
8.2 不带测试的建模
8.2.1 贝叶斯图解模型
8.2.2 Petri网
8.3 微软的基于模型的测试工具
8.3.1 Spec Explorer
8.3.2 语言和引擎
8.3.3 建模提示
8.4 本章小结
8.5 推荐资料和工具
第三部分 测试工具和系统
第9章 缺陷和测试用例管理
9.1 缺陷工作流程
9.2 缺陷的跟踪
9.2.1 一个缺陷的生命周期
9.2.2 缺陷跟踪系统的特征
9.2.3 为什么撰写缺陷报告
9.2.4 解剖缺陷报告
9.2.5 缺陷会审
9.2.6 缺陷报告中常见的错误
9.2.7 数据使用
9.2.8 何时不能使用缺陷数据:缺陷作为绩效度量
9.2.9 缺陷门槛
9.3 测试用例管理
9.3.1 什么是测试用例
9.3.2 测试用例的价值
9.3.3 剖析测试用例
9.3.4 测试用例误区
9.4 管理测试用例
9.4.1 测试用例和测试点:计算测试用例
9.4.2 跟踪和解释测试结果
9.5 本章小结
第10章 测试自动化
10.1 自动化的价值
10.2 用户界面自动化
10.3 自动化测试包括什么
10.4 微软中的“SEARCH”
10.4.1 设置
10.4.2 执行
10.4.3 分析
10.4.4 报告
10.4.5 清理
10.4.6 帮助
10.5 让自动化测试跑起来
10.5.1 把一切装配起来
10.5.2 大型自动化测试系统
10.5.3 测试自动化中的常见错误
10.6 本章小结
第11章 非功能测试
11.1 功能之外
11.2 属性测试
11.3 性能测试
11.4 压力测试
11.4.1 分布式压力测试
11.4.2 分布式压力架构
11.4.3 多客户端压力测试的特点
11.5 兼容性测试
11.5.1 应用软件库
11.5.2 应用程序检验器
11.6 吃我们自己的“狗食”
11.7 适用性测试
11.7.1 可达性角色
11.7.2 可达性测试
11.7.3 微软主动式辅助(MSAA)测试工具
11.8 可用性测试
11.9 安全测试
11.9.1 威胁建模
11.9.2 模糊测试
11.10 本章小结
第12章 其他工具
12.1 代码改动量
12.2 一切尽在掌握
12.2.1 追踪变更
12.2.2 什么改变了
12.2.3 为何改变
12.2.4 集中型的源代码管理控制
12.3 软件构建
12.4 静态分析
12.4.1 本机代码分析
12.4.2 托管代码分析
12.4.3 工具只是工具
12.4.4 测试代码分析
12.4.5 测试代码也属于产品代码
12.5 更多工具
12.5.1 解决特定问题的工具
12.5.2 服务大众的工具
12.6 本章小结
第13章 用户反馈系统
13.1 测试和质量
13.1.1 测试提供了信息
13.1.2 质量感知
13.2 用户救援
13.3 Windows错误报告(WER)
13.3.1 WER的工作原理
13.3.2 填入存储桶
13.3.3 清空存储桶
13.3.4 测试和WER
13.4 微笑,微软和你一同微笑
13.5 连接用户
13.6 本章小结
第14章 测试软件加服务
14.1 第一部分关于服务
14.1.1 微软的服务战略
14.1.2 业务重心向Internet服务迁移
14.1.3 从大规模成长为超大规模
14.1.4 能源是成长的瓶颈
14.1.5 服务与盒装软件
14.1.6 从单机软件到多层次服务
14.2 第二部分测试软件加服务
14.2.1 创新的浪潮
14.2.2 设计合适的软件加服务测试方法
14.2.3 软件加服务测试技术
14.3 另一些关于软件加服务的重要思想
14.3.1 持续质量提高计划
14.3.2 我见过的被忽略的常见缺陷
14.4 本章小结
第四部分 关于未来
第15章 今天解决明天的问题
15.1 自动失败分析
15.1.1 战胜分析瘫痪
15.1.2 匹配游戏
15.1.3 好的日志记录实践
15.1.4 日志文件剖析
15.1.5 集成AFA
15.2 机器虚拟化
15.2.1 虚拟化的好处
15.2.2 虚拟机测试场景
15.2.3 当测试时发生失败
15.2.4 不建议使用的测试场景
15.3 代码审查和检视
15.3.1 代码审查的类型
15.3.2 核查清单
15.3.3 其他考虑
15.3.4 审查的两面性
15.4 工具无处不在
15.4.1 提炼、重用、回收
15.4.2 问题在哪
15.4.3 开放式的开发
15.5 本章小结
第16章 构建未来
16.1 前瞻性思考的需求
16.1.1 通过追本溯源进行前瞻性思考
16.1.2 努力培养质量文化
16.1.3 测试和质量保证
16.1.4 质量该谁管
16.1.5 质量成本
16.1.6 测试的新角色
16.2 测试领域的领导力
16.2.1 微软测试领导团队
16.2.2 测试领导团队主席
16.2.3 测试领导力在行动
16.2.4 测试架构师团队
16.3 卓越测试
16.3.1 共享
16.3.2 帮助
16.3.3 沟通
16.3.4 关注未来
16.3.5 微软公司卓越测试主任
16.3.6 三方面的领导
16.4 为未来创新
中英文对照术语表
译者介绍
前言
第一部分 关于微软
第1章 微软的软件工程
1.1 微软的愿景和价值观,为何我们“爱微软”
1.2 微软是大型的软件工程公司
1.3 拓展大型且高效的业务
1.4 在“大”公司中做 “小”项目
1.5 聘用多种类型的工程师
1.6 全球化的软件开发公司
1.7 本章小结
第2章 微软的软件测试工程师
2.1 职位名称的含义
2.2 微软测试工程师的职称并非一直都是SDET
2.3 我需要更多的测试工程师,立刻就要
2.3.1 校园招聘
2.3.2 业界招聘
2.4 学习如何成为微软的SDET
2.5 微软工程师的职业发展
2.6 测试职种的发展道路
2.6.1 测试架构师
2.6.2 测试独立贡献者
2.6.3 成为管理者并不意味着升职
2.6.4 测试经理
2.7 本章小结
第3章 工程生命周期
3.1 微软的软件工程
3.1.1 传统软件工程模型
3.1.2 里程碑模式
3.1.3 微软的敏捷开发
3.1.4 宏观视野
3.2 流程改进
3.3 从“作战室”发布软件
3.4 本章小结
第二部分 关于测试
第4章 软件测试用例设计的实用方法
4.1 实践良好的软件设计和测试设计
4.2 使用测试模式
4.3 估计测试时间
4.4 从测试开始
4.4.1 搜出问题
4.4.2 制定测试策略
4.5 考虑可测试性
4.6 同时用好数据和坏数据进行测试
4.7 测试用例设计中应考虑的其他因素
4.7.1 黑盒测试、白盒测试和灰盒测试
4.7.2 微软的探索性测试
4.8 本章小结
第5章 功能测试技术
5.1 功能测试的需求
5.2 等价类划分
5.2.1 变量分解
5.2.2 等价类划分实战
5.2.3 参数子集分析
5.2.4 等价类划分测试
5.2.5 等价类划分小结
5.3 边界值分析
5.3.1 定义边界测试
5.3.2 边界值分析:一个全新的公式
5.3.3 隐性边界
5.3.4 边界值分析小结
5.4 组合分析
5.4.1 组合测试的途径
5.4.2 组合分析实践
5.4.3 组合分析的有效性
5.4.4 组合分析小结
5.5 本章小结
第6章 结构测试技术
6.1 块测试
6.2 判定测试
6.3 条件测试
6.4 基础路径测试
6.5 本章小结
第7章 用代码复杂度分析风险
7.1 风险行业
7.2 复杂问题
7.3 测量回路复杂度
7.3.1 Halstead度量
7.3.2 面向对象的度量
7.3.3 回路复杂度高并不表示缺陷累累
7.4 如何利用复杂度度量
7.5 本章小结
第8章 基于模型的测试
8.1 采用模型测试
8.1.1 设计模型
8.1.2 模型化软件
8.1.3 建立有限状态模型
8.1.4 模型自动化
8.2 不带测试的建模
8.2.1 贝叶斯图解模型
8.2.2 Petri网
8.3 微软的基于模型的测试工具
8.3.1 Spec Explorer
8.3.2 语言和引擎
8.3.3 建模提示
8.4 本章小结
8.5 推荐资料和工具
第三部分 测试工具和系统
第9章 缺陷和测试用例管理
9.1 缺陷工作流程
9.2 缺陷的跟踪
9.2.1 一个缺陷的生命周期
9.2.2 缺陷跟踪系统的特征
9.2.3 为什么撰写缺陷报告
9.2.4 解剖缺陷报告
9.2.5 缺陷会审
9.2.6 缺陷报告中常见的错误
9.2.7 数据使用
9.2.8 何时不能使用缺陷数据:缺陷作为绩效度量
9.2.9 缺陷门槛
9.3 测试用例管理
9.3.1 什么是测试用例
9.3.2 测试用例的价值
9.3.3 剖析测试用例
9.3.4 测试用例误区
9.4 管理测试用例
9.4.1 测试用例和测试点:计算测试用例
9.4.2 跟踪和解释测试结果
9.5 本章小结
第10章 测试自动化
10.1 自动化的价值
10.2 用户界面自动化
10.3 自动化测试包括什么
10.4 微软中的“SEARCH”
10.4.1 设置
10.4.2 执行
10.4.3 分析
10.4.4 报告
10.4.5 清理
10.4.6 帮助
10.5 让自动化测试跑起来
10.5.1 把一切装配起来
10.5.2 大型自动化测试系统
10.5.3 测试自动化中的常见错误
10.6 本章小结
第11章 非功能测试
11.1 功能之外
11.2 属性测试
11.3 性能测试
11.4 压力测试
11.4.1 分布式压力测试
11.4.2 分布式压力架构
11.4.3 多客户端压力测试的特点
11.5 兼容性测试
11.5.1 应用软件库
11.5.2 应用程序检验器
11.6 吃我们自己的“狗食”
11.7 适用性测试
11.7.1 可达性角色
11.7.2 可达性测试
11.7.3 微软主动式辅助(MSAA)测试工具
11.8 可用性测试
11.9 安全测试
11.9.1 威胁建模
11.9.2 模糊测试
11.10 本章小结
第12章 其他工具
12.1 代码改动量
12.2 一切尽在掌握
12.2.1 追踪变更
12.2.2 什么改变了
12.2.3 为何改变
12.2.4 集中型的源代码管理控制
12.3 软件构建
12.4 静态分析
12.4.1 本机代码分析
12.4.2 托管代码分析
12.4.3 工具只是工具
12.4.4 测试代码分析
12.4.5 测试代码也属于产品代码
12.5 更多工具
12.5.1 解决特定问题的工具
12.5.2 服务大众的工具
12.6 本章小结
第13章 用户反馈系统
13.1 测试和质量
13.1.1 测试提供了信息
13.1.2 质量感知
13.2 用户救援
13.3 Windows错误报告(WER)
13.3.1 WER的工作原理
13.3.2 填入存储桶
13.3.3 清空存储桶
13.3.4 测试和WER
13.4 微笑,微软和你一同微笑
13.5 连接用户
13.6 本章小结
第14章 测试软件加服务
14.1 第一部分关于服务
14.1.1 微软的服务战略
14.1.2 业务重心向Internet服务迁移
14.1.3 从大规模成长为超大规模
14.1.4 能源是成长的瓶颈
14.1.5 服务与盒装软件
14.1.6 从单机软件到多层次服务
14.2 第二部分测试软件加服务
14.2.1 创新的浪潮
14.2.2 设计合适的软件加服务测试方法
14.2.3 软件加服务测试技术
14.3 另一些关于软件加服务的重要思想
14.3.1 持续质量提高计划
14.3.2 我见过的被忽略的常见缺陷
14.4 本章小结
第四部分 关于未来
第15章 今天解决明天的问题
15.1 自动失败分析
15.1.1 战胜分析瘫痪
15.1.2 匹配游戏
15.1.3 好的日志记录实践
15.1.4 日志文件剖析
15.1.5 集成AFA
15.2 机器虚拟化
15.2.1 虚拟化的好处
15.2.2 虚拟机测试场景
15.2.3 当测试时发生失败
15.2.4 不建议使用的测试场景
15.3 代码审查和检视
15.3.1 代码审查的类型
15.3.2 核查清单
15.3.3 其他考虑
15.3.4 审查的两面性
15.4 工具无处不在
15.4.1 提炼、重用、回收
15.4.2 问题在哪
15.4.3 开放式的开发
15.5 本章小结
第16章 构建未来
16.1 前瞻性思考的需求
16.1.1 通过追本溯源进行前瞻性思考
16.1.2 努力培养质量文化
16.1.3 测试和质量保证
16.1.4 质量该谁管
16.1.5 质量成本
16.1.6 测试的新角色
16.2 测试领域的领导力
16.2.1 微软测试领导团队
16.2.2 测试领导团队主席
16.2.3 测试领导力在行动
16.2.4 测试架构师团队
16.3 卓越测试
16.3.1 共享
16.3.2 帮助
16.3.3 沟通
16.3.4 关注未来
16.3.5 微软公司卓越测试主任
16.3.6 三方面的领导
16.4 为未来创新
中英文对照术语表