第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 学会写邮件