第1章 软件测试概述
什么是软件测试
测试工程师的任务
小知识
什么是PSS数据
什么是Watson数据
测试工程师的职业路径
成功职业生涯规划的提示
测试与管理
案例:微软软件开发团队
练习:测试自动可乐贩卖机
第2章 测试与软件开发模型
瀑布模型(Waterfall Model)
RUP
敏捷软件开发方法(Agile software development)
软件开发过程中的测试
提高软件的可测性(Testability)
测试模式
微软的软件产品开发过程
案例:MSF (Microsoft Solution Framework)
第3章 软件质量与测试
软件质量(Quality)
质量控制(Quality Control)
质量保证(Quality Assurance)
软件工程师摧毁地球
全面质量管理(Total Quality Management,TQM)
能力成熟度模型(Capability Maturity Model? Integration,CMMI)
ISO 9000 & ISO 17205
事后析误(Postmortem)
根本原因分析(Root Cause Analysis, RCA)
故障模式与后果分析(Failure mode and effects analysis)
威胁模型分析(Threat Model Analysis, TMA)
第4章 软件测试方法
黑盒测试(Black-box testing)
白盒测试(White-box testing)
灰盒测试(Grey-box Testing)
基于场景的测试方法(Scenario testing)
等价类法(Equivalence value class)
练习:等价类测试设计
边界值法(Boundary value analysis)
示例:边界值分析
判定表法(Table Based Methodology)
组合分析法(Combinatorial analysis)
工具:PICT工具使用
状态转换表(State transition)
第5章 软件测试类型
功能测试(Functional Testing)
小知识:API Testing
工具:NUnit
工具:Visual Studio 单元测试框架
回归测试(Regression testing)
冒烟测试与BVT测试
探索性测试(Exploratory testing)
安装/版本升级测试(Setup/upgrade testing)
工具:VeriTest-Rational Installation Analyzer
软件兼容性测试(Compatibility testing)
案例:Windows Vista兼容性测试
小知识:UAC
工具:ApplicationVerifier
性能测试(Performance testing)
工具:Windows Performance Analysis Tools(WPT)
工具:Visual Studio性能分析工具
工具:WPFPerf
负载测试(Load testing)
监视和分析负载测试结果
压力测试(Stress testing)
国际化/全球化/本地化测试
小知识:I18N, G11N, L10N
编码
工具:Character Map程序
工具:屏幕键盘工具
辅助选项测试(Accessibility testing)
工具:accVerify
工具:UI Spy
安全性测试(Security testing)
保证应用的安全性和威胁建模
小知识:微软安全性测试10个小提示
小知识:Microsoft SDL
工具介绍:SDL Threat Modeling Tool v3
安全托管代码
托管代码的常见设计缺陷
工具:Fxcop
C/C++代码的常见设计缺陷
工具:Prefast
代码度量(Code Metrics)
工具:Visual Studio 2008代码度量
第6章 测试计划和测试策略
什么是测试计划
模板:测试计划文档
什么是测试策略
模板:测试策略模板
测试范围
风险优先级模型
基于风险的测试
有计划的复审活动
第7章 测试自动化
测试自动化的发展
手动测试
硬编码测试自动化
工具:RPF(Record and Playback Framework)Programmer
练习:轻量.NET UI自动化设计
小知识:反射技术
Microsoft UI自动化库
测试自动化程序设计
测试库和测试框架
工具:White
数据驱动测试
基于模型的测试
小知识:杀虫剂悖论
例子:微软过桥问题
小知识:Dijkstra算法
工具:WinSTDtoDOT Visualization Tool
工具:NModel工具
第8章 代码覆盖率
代码覆盖率
覆盖种类
代码覆盖率度量结果分析和决策
其他类型的覆盖
工具:Visual Studio代码覆盖率工具
第9章 调试
调试
工具:Visual Studio在设计时进行调试
异常
小知识:异常捕获
断言(ASSERT)
工具:WinDBG
托管代码中的断言
转储文件
转储文件类型
用户模式数据转储文件生成
核心转储文件生成
远程调试
调试准则
调试建议
第10章 测试文档编写
测试文档概述
测试用例
模板:测试用例模板
软件缺陷报告(Bug Report)
模板:软件缺陷报告
项目状态报告
第11章 软件缺陷管理
缺陷处理工作流
缺陷类选(Bug Triage)
缺陷类选图例
优先级和严重性定义
小知识:错误收敛(Bug Convergence)
小知识:零错误反弹(Zero Bug Bounce)
缺陷消除的有效性(Defect Removal Efficiency)
第12章 完整的测试体系构成
人员
一个完善的测试体系的构成
环境搭建
测试执行管理
工具:WTT测试框架
工具:VSTS测试管理
第13章 微软公司企业文化
员工才是最重要的资产
认同和鼓励多元化
用技术武装人
技术可以改变员工的工作方式
利用信息要真正帮助员工和企业
微软公司价值观
微软的企业商业环境
实现承诺
从错误中学习
按期完成工作
了解决议的形成过程
解决冲突
尊重多元化
第14章 更加国际化
打死我也不说(Yes to death)
美国的核心价值与商业
第15章 测试经理的领导力培养
领导风格
激励团队
构建团队
做出决定
附录A 对欧美外包的有效沟通之道
美国人的沟通方式
建立信誉
获取信息
善于表达
手机、电话、邮件、书信、报告
交涉与谈判
与美国人讨论的话题
附录B 对欧美外包活动之有效的会议组织
组织有欧美人士参加的会议
附录C 学会写邮件
展开
——武治平,上海宝信软件股份有限公司平台系统架构师
相识多年,相交多年,十年磨炼,终成一剑!恭喜本书出版。
——徐磊,微软MvP,ssw北京研发中心负责人和资深软件架构师
好技术好文笔。恭喜出版,可喜可贺。(以下省略1000字溢美之词)阅读完本书的样章,我知道每一名购买一本书的读者都肯定会有大收获:值了!
——高海峰(微软MVP)、徐晓卓(微软MVP)
我认识的所有微软技术经理中,梁博是最有水平的一个。恒是他平时不露;今天终于露了,但是露得还不够;希望他在繁忙的工作之余能尽量再多挤出一些时问来与大家分享:
——刘付强,天津麦思博(msup)有限公司
来自业内专家的评价:
作为梁博的同事,我非常欣喜地看到这本书出版。作为一个唯一全权负责微软外包项目在中国落地的小组.我们也一直在努力总结软件外包的知识和技能,并希望通过各种方式与大家分享。2009年年初的时候,梁博曾为中关村软件园的在园企业提供了类似内容为期三天的培训(软件测试进阶培训)。非常受欢迎,这也令我们非常振奋。
再次对这本书的出版表示祝贺!
——王帅,微软战略合作部产品外包合作组资深项目经理,微软(中国)研发集团
祝贺这本书的出版!作者在微软公司的成长有目共睹。水平日新月异,他对技术的深刻洞察力通过精简、有趣的方式呈现出来,非常难得。希望作者再接再厉,把自己的知识和见解分享给更多的软件行业从业人员,促进中国本土软件产业发展。
——黄鹏,开发平台合作部合作伙伴与开发工具组资深主管,微软(中国)有限公司
许珊是不可多得的英语语言专家和计算机英语专家,她的专业水平值得信赖;为她的这本书感到骄傲!
——黄北宁,微软(中国)有限公司移动通讯战略合作副总裁;——王雪凌,移动通讯大客户经理
Congratulations!希望这本书热卖!
——Ramesh Rajagopal,Principal Group Manager,Microsoft