图灵原创·软件测试实战:微软技术专家经验总结.pdf

图灵原创·软件测试实战:微软技术专家经验总结.pdf
 

书籍描述

内容简介
《软件测试实战:微软技术专家经验总结》从多个角度讨论了测试人员的实际工作,包括缺陷报告、测试文档、测试建模、测试设计、测试自动化、研究产品、研究项目环境、测试管理、个人管理、实践案例等。书中崭新的观念与技术将有助于读者更好地提交缺陷报告,在项目末期的缺陷压力下更好地做回归测试。
《软件测试实战:微软技术专家经验总结》适用于测试新手以及初级测试人员。

编辑推荐
微软一线测试专家实战精华
全面涵盖软件测试实用技术

本书总结了作者从事软件测试研究与实践的多年经验,旨在帮助测试人员建立正确的观念,并掌握一批切合实战的测试技术。一方面,它总结了测试专家的见解和方法,将其精华内容综述在精悍的篇幅内,以帮助读者提高学习效率。另一方面,它融入了作者的经验反思,尝试用理论结合实践的方式来解决现实的问题。

多角度地讨论了测试人员的实际工作,包括测试价值观、缺陷管理、测试文档、测试建模、测试设计、测试开发、产品研究、项目研究、团队协作、个人管理等。内容全面实用,讲述深入浅出,适合软件测试工程师和测试管理人员阅读,也适合于大专院校计算机相关专业师生作为参考用书。

媒体推荐
“在层出不穷的软件技术当中,软件测试一直扮演着幕后英雄的角色。没有测试,对发布者来说,就无法对质量有信心;对开发者来说,就有可能在修改代码的时候捅出了大娄子自己还不知道。小到代码中的一行assert,大到场景测试,本质上都是测试。专业测试人员固然需要系统学习测试,但在开发和测试的边界日趋模糊的今天,开发者学习测试也是很加分的。我在上大学的时候就认识史亮兄,他一直是厚积薄发的一个人,正是坐得了冷板凳,拿得出硬功夫。在微软做了一线测试工程师多年之后,再花上一整年的时间写作,才有这本著作,很值得一读。”
——刘未鹏,微软软件开发工程师,《暗时间》的作者

“在所有软件测试的书中,这是我看过的最好的一本。看到有些章节的时候,都忍不住把里面的方法往手头的产品上靠。即便是粗略读一遍后获取的灵感和思路,都足够让我兴奋一周,更别提带来的实际价值了。软件测试是极其有趣的工作。作者不但精于此道,乐在其中,还能深入浅出地把各种思路、诀窍、心得甚至趣事跟大家共享,这将极大地推动人类文明的进程!”
——熊力,微软资深软件开发工程师,《Windows用户态程序高效排错》的作者

作者简介
史亮,男,毕业于东南大学计算机系,获得计算机软件与理论专业博士学位,研究领域为软件分析与测试。于2006年加入微软(中国)有限公司,任职软件开发测试工程师,负责微软在线业务与商业只能产品的测试工作。于2011年调动至微软总部工作,从事Microsoft Office 2013的测试。于2012年与高翔合著了《探索式软件测试实践之路》一书。目前,正参与下一代Microsoft Office产品的研发。

目录
第1章 软件测试基础
1.1 软件的复杂度已经超越了人的理解能力
1.2 软件测试是获取信息的技术调查
1.3 测试是迭代过程
1.4 测试人员的工作效率取决于他对软件和项目的理解,而不是他掌握的测
1.5 小结
第2章 缺陷报告
2.1 报告缺陷是为了让缺陷得到修复
2.2 高质量的缺陷报告来自于高质量的测试
2.2.1 分配测试时间
2.2.2 通过技术调查发现更多的信息
2.2.3 处理难以重现的缺陷
2.3 编写高质量的缺陷报告
2.3.1 为每一个缺陷单独提交一份缺陷报告,小缺陷也是如此
2.3.2 仔细编写缺陷报告的标题
2.3.3 像编写详细测试用例那样编写重现步骤
2.3.4 使用缺陷模板来提交缺陷
2.3.5 在编写缺陷报告时,要考虑缺陷查询
2.3.6 链接相关的缺陷
2.3.7 注意缺陷报告的可读性
2.3.8 客观中立地书写缺陷报告
2.4 对不予修复的缺陷进行上诉
2.5 周密地测试缺陷修复
2.6 坚持阅读缺陷报告
2.7 小结
第3章 测试文档
3.1 测试文档是持续演化的工具
3.1.1 测试文档是提供测试信息的一组文档
3.1.2 在测试中演化测试文档
3.1.3 注重实效的测试文档
3.2 形形色色的测试文档
3.2.1 测试计划
3.2.2 Google ACC
3.2.3 测试设计规约
3.2.4 功能列表
3.2.5 大纲与思维导图
3.2.6 表格(矩阵)
3.2.7 测试指南
3.2.8 测试想法列表
3.2.9 质量特性列表
3.2.10 操作文档
3.2.11 检查列表
3.2.12 缺陷目录
3.2.13 测程表
3.2.14 移交文档
3.3 在测试中发展测试文档
3.3.1 初始测试文档
3.3.2 发展测试文档
3.4 小结
第4章 测试建模
4.1 从组合测试看建模的重要性
4.1.1 组合测试简介
4.1.2 根据语境来完善组合测试的模型
4.1.3 测试建模的基本点
4.2 常用测试建模方法
4.2.1 启发式测试策略模型
4.2.2 输入与输出模型
4.2.3 系统生态图
4.2.4 实体关系模型
4.2.5 状态机模型
4.2.6 多种多样的模型
4.3 小结
第5章 测试技术
5.1 测试技术分类系统
5.2 启发式方法
5.3 测试先知
5.3.1 测试先知的定义
5.3.2 FEWHICCUPPS
5.3.3 约束检查
5.4 漫游测试
5.4.1 基本漫游方法
5.4.2 基于旅行者隐喻的漫游方法
5.4.3 移动测试漫游方法
5.4.4 实施漫游测试
5.5 快速测试
5.5.1 James Bach的方法
5.5.2 CemKaner的方法
5.5.3 James Whittaker的方法
5.6 情景测试
5.6.1 基本方法
5.6.2 设计用户角色
5.6.3 情景测试与漫游测试
5.6.4 肥皂剧测试
5.6.5 虚拟业务
5.7 多样地选择测试技术
5.8 小结
第6章 测试开发
6.1 测试开发分类
6.2 注重实效的自动化测试
6.2.1 自动化测试的基本策略
6.2.2 将测试开发视作软件开发
6.2.3 利用自动化测试金字塔来指导测试开发
6.2.4 面向调试的测试代码
6.2.5 系统测试的测试开发
6.2.6 让自动化测试服务于项目
6.3 计算机辅助测试
6.3.1“交通工具”的隐喻
6.3.2 选择合适的开发技术
6.4 大规模自动化测试
6.4.1 基本概念
6.4.2 测试设计
6.5 小结
第7章 研究产品
7.1 静态分析
7.1.1 浏览源代码来理解产品实现
7.1.2 分析源代码来帮助测试设计
7.1.3 黑盒测试并不是基于无知的测试
7.2 动态分析
7.2.1 用工具分析产品的行为
7.2.2 在调试器中观察软件行为
7.3 业务研究
7.3.1 理解关系人
7.3.2 评审需求文档
7.3.3 通过测试来研究
7.3.4 利用互联网资源
7.3.5 领域研究
7.4 研究策略
7.5 小结
第8章 研究项目
8.1 项目团队
8.1.1 了解团队组织
8.1.2 语境独立的启发式问题
8.1.3 了解团队成员
8.2 面向测试的项目分析
8.2.1 软件缺陷
8.2.2 源代码
8.2.3 构建
8.2.4 自动化测试
8.3 基于风险的测试
8.3.1 通过测试调查风险
8.3.2 失败模式
8.3.3 项目级别的风险
8.4 小结
第9章 团队工作
9.1 工作风格
9.1.1 测试人员通过服务团队来体现自己的价值
9.1.2 测试人员应该正直
9.1.3 测试人员的影响力来自于出色的工作
9.1.4 信任程序员的努力,并用技术调查检验其工作
9.2 测试管理
9.2.1 个人测试计划应该是项目测试计划的延伸
9.2.2 制订个人测试计划时应该综合考虑各种项目元素
9.2.3 测试需要动态管理
9.3 软件估算
9.3.1 测试人员应该估算自己的任务
9.3.2 用计数和计算作为估算手段
9.3.3 历史数据是估算的重要参考
9.3.4 同时估算最差情况和最好情况
9.4 度量
9.4.1 理解度量方法的基本元素
9.4.2 明确度量的目标
9.4.3 掌握属性和算法的联系
9.4.4 理解度量方法的优点和缺点
9.4.5 密切关注度量的副作用
9.4.6 注重实效的计算
9.5 测试小组
9.5.1 价值观
9.5.2 团队建设
9.6 小结
第10章 个人管理
10.1 时间管理
10.1.1 利用任务清单记录所有工作项
10.1.2 坚持周计划和每日回顾
10.1.3 专注是高效工作的前提
10.1.4 恰到好处的文档化和自动化
10.2 持续学习
10.2.1 在工作中学习
10.2.2 持续阅读
10.3 且行且思
10.4 成为专家
10.5 小结
参考文献

文摘
版权页:



插图:



他会替换不能正确打印的图片。如果该图片是BMP格式,他会将其替换为其他BMP格式的图片,再添加一些PNG格式的图片,然后打印。通过测试,他就能评估问题的根源是特殊的图片(如果其他BMP格式的图片可以正确打印),还是特定的图片格式(如果BMP格式的图片都不能打印,但是PNG格式的图片可以打印)。
他会检查图片是否被施加了一些“图片特效”。如果有特效,他会逐一去除“图片特效”并打印,以检查罪魁祸首是否为特定的“图片特效”。
如果发现“图片特效”是打印错误的原因之一,测试人员会联想到“艺术字”也有相似的“文字特效”(如柔化边缘、添加阴影、添加倒影等)。他会在文档中增加一些“艺术字”和相应的“文字特效”,并测试它们能否正确打印。
他回忆发现缺陷的过程,想起在打印之前,他对文档进行了许多操作。于是,他将文档复制到另一台测试机,启动被测的排版软件,再次打印该文档。通过该测试,他可以判断打印错误是否与排版软件的状态有关。注意,他并没有关闭最初发现错误的软件,因为该进程可能蕴含重要的错误信息。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多