| 第一部分软件测试综述 |
| 第1章软件测试背景 |
| 1.l臭名昭著的软件错误案例研究 |
| 1.l.l迪斯尼的狮子王,1994~1995 |
| 1.1.2英特尔奔腾浮点除法软件缺陷,1994 |
| 1.l.3美国航大局火星极地登陆,1999 |
| 1.1.4爱国者导弹防御系统,1991 |
| 1.1.5千年虫,大约1974 |
| 1.2软件缺陷是什么 |
| 1.2.l描述软件失败的术语 |
| 1.2.2软件缺陷:正式定义 |
| 1.3为什么会出现软件缺陷 |
| 1.4软件缺陷的修复费用 |
| 1.5软件测试员究竟做些什么 |
| 1.6怎样成为优秀软件测试员 |
| 1.7小结 |
| 1.8小测验 |
| 第2章软件开发过程 |
| 2.l产品的组成部分 |
| 2.l.l软件产品需要多少投入 |
| 2.1.2客户要求 |
| 2.1.3产品说明书 |
| 2.1.4进度表 |
| 2.1.5软件设计文档 |
| 2.1.6测试文档 |
| 2.1.7软件产品由哪些部分组成 |
| 2.2软件项目成员 |
| 2.3软件开发模式 |
| 2.3.l大棒模式 |
| 2.3.2边写边改模式 |
| 2.3.3流水模式 |
| 2.3.4螺旋模式 |
| 2.4小结 |
| 2.5小测验 |
| 第3章软件测试的实质 |
| 3.1测试原则 |
| 3.1.l完全测试程序是不可能的 |
| 3.1.2软件测试是有风险的行为 |
| 3.1.3测试无法显示潜伏的软件缺陷 |
| 3.1.4找到的软件缺陷越多,就说明软件缺陷越多 |
| 3.1.5杀虫剂怪事 |
| 3.1.6并非所有软件缺陷都能修复 |
| 3.1.7难以说清的软件缺陷 |
| 3.1.8产品说明书不断变化 |
| 3.1.9软件测试员在产品小组中不受欢迎 |
| 3.1.10软件测试是一项讲究条理的技术专业 |
| 3.2软件测试的术语和定义 |
| 3.2.l精确和准确 |
| 3.2.2验证和合法性检查 |
| 3.2.3质量和可靠性 |
| 3.2.4测试和质量评判(QA) |
| 3.3小结 |
| 3.4小测验 |
| 第二部分测试基础 |
| 第4章检查产品说明书 |
| 4.l开始测试 |
| 4.1.l黑盒子和白盒子测试 |
| 4.1.2静态和动态测试 |
| 4.1.3静态黑盒子测试,测试产品说明书 |
| 4.2对产品说明书进行高级审查 |
| 4.2.1设身处地为客户着想 |
| 4.2.2研究现有的标准和规范 |
| 4.2.3审查和测试同类软件 |
| 4.3产品说明书的低级测试技术 |
| 4.3.l产品说明书属性检查清单 |
| 4.3.2产品说明书用语检查清单 |
| 4.4小结 |
| 4.5小测验 |
| 第5章闭着眼睛测试软件 |
| 5.l动态黑盒子测试,闭着眼睛测试软件 |
| 5.2通过测试和失败测试 |
| 5.3等价分配 |
| 5.4数据测试 |
| 5.4.l边界条件 |
| 5.4.2边界条件类型 |
| 5.4.3测试边界线 |
| 5.4.4次边界条件 |
| 5.4.52的乘方 |
| 5.4.6ASCII表 |
| 5.4.7默认.空白.空值.零值和无 |
| 5.4.8非法.错误.不正确和垃圾数据 |
| 5.5状态测试 |
| 5.5.l测试软件的逻辑流程 |
| 5.5.2建立状态转换图 |
| 5.5.3减少要测试的状态及转换的数量 |
| 5.5.4怎样进行具体测试 |
| 5.6失败状态测试 |
| 5.6.l竞争条件和时序错乱 |
| 5.6.2重复.压迫和重负 |
| 5.7其他黑盒子测试技术 |
| 5.7.l像愚笨的用户那样做 |
| 5.7.2在已经找到软件缺陷的地方再找找 |
| 5.7.3凭借经验.直觉和预感 |
| 5.8小结 |
| 5.9小测验 |
| 第6章检查代码 |
| 6.l静态白盒子测试:检查设计和代码 |
| 6.2正式审查 |
| 6.2.l同事审查 |
| 6.2.2公开陈述 |
| 6.2.3检验 |
| 6.3编码标准和规范 |
| 6.3.l编程标准和规范示例 |
| 6.3.2获取标准 |
| 6.4通用代码审查清单 |
| 6.4.1数据引用错误 |
| 6.4.2数据声明错误 |
| 6.4.3计算错误 |
| 6.4.4比较错误 |
| 6.4.5控制流程错误 |
| 6.4.6子程序参数错误 |
| 6.4.7输入/输出错误 |
| 6.4.8其他检查 |
| 6.5小结 |
| 6.6小测验 |
| 第7章带上X光眼镜检查软件 |
| 7.1动态白盒子测试 |
| 7.2动态白盒子测试和调试 |
| 7.3分段测试 |
| 7.3.1单元和集成测试 |
| 7.3.2单元测试示例 |
| 7.4数据范围 |
| 7.4.l数据流 |
| 7.4.2次边界 |
| 7.4.3公式和等式 |
| 7.4.4错误强制 |
| 7.5代码范围 |
| 7.5.l程序语句和代码行范围 |
| 7.5.2分支范围 |
| 7.5.3条件范围 |
| 7.6小结 |
| 7.7小测验 |
| 第三部分运用测试技术 |
| 第8章配置测试 |
| 8.l配置软件综述 |
| 8.1.l分离配置缺陷 |
| 8.1.2计算工作量 |
| 8.2执行任务 |
| 8.2.l确定所需的硬件类型 |
| 8.2.2确定哪些硬件商标.型号和驱动程序可用 |
| 8.2.3确定可能的硬件特性.模式和选项 |
| 8.2.4将明确后的硬件配置缩减为可控制范围 |
| 8.2.5明确使用硬件配置的软件唯一特性 |
| 8.2.6设计在每一种配置中执行的测试案例 |
| 8.2.7在每种配置中执行测试 |
| 8.2.8反复测试直到小组对结果满意为止 |
| 8.3获得硬件 |
| 8.3.l明确硬件标准 |
| 8.3.2对其他硬件进行配置测试 |
| 8.4小结 |
| 8.5小测验 |
| 第9章兼容性测试 |
| 9.l兼容性测试综述 |
| 9.2平台和应用程序版本 |
| 9.2.l向前和向后兼容 |
| 9.2.2测试多个版本的影响 |
| 9.3标准和规范 |
| 9.3.l高级标准和规范 |
| 9.3.2低级标准和规范 |
| 9.4数据共享兼容性 |
| 9.5小结 |
| 9.6小测验 |
| 第10章外国语言测试 |
| 10.l使文字和图片有意义 |
| 10.2翻译问题 |
| 10.2.l文本扩展 |
| 10.2.2ASCII.DBCS和Unicode |
| 10.2.3热键和快捷键 |
| 10.2.4扩展字符 |
| 10.2.5字符计算 |
| 10.2.6从左向右和从右向左读 |
| 10.2.7图形中的文字 |
| 10.2.8使文字脱离代码 |
| 10.3本地化问题 |
| 10.3.1内容 |
| 10.3.2数据格式 |
| 10.4配置和兼容性问题 |
| 10.4.l国外平台配置 |
| 10.4.2数据兼容性 |
| 10.5测试量有多大 |
| 10.6小结 |
| 10.7小测验 |
| 第11章易用性测试 |
| 11.l用户界面测试 |
| 11.2优秀UI由什么构成? |
| 11.2.1符合标准和规范 |
| 11.2.2直观性 |
| 11.2.3一致性 |
| 11.2.4灵活性 |
| 11.2.5舒适性 |
| 11.2.6正确性 |
| 11.2.7实用性 |
| 11.3为残疾人测试:辅助选项测试 |
| 11.3.l这是法律 |
| 11.3.2软件中的辅助特性 |
| 11.4小结 |
| 11.5小测验 |
| 第12章测试文档 |
| 12.l软件文档的类型 |
| 12.2文档测试的重要性 |
| 12.3审查文档时要找什么 |
| 12.4文档测试的实质 |
| 12.5小结 |
| 12.6小测验 |
| 第13章网站测试 |
| 13.l网页基础 |
| 13.2黑盒子测试 |
| 13.2.1文字 |
| 13.2.2超级链接 |
| 13.2.3图形 |
| 13.2.4表单 |
| 13.2.5对象和其他零碎功能 |
| 13.3灰盒子测试 |
| 13.4白盒子测试 |
| 13.5配置和兼容性测试 |
| 13.6易用性测试 |
| 13.7自动化简介 |
| 13.8小结 |
| 13.9小测验 |
| 第四部分加强测试 |
| 第14章自动测试和测试工具 |
| 14.l自动化和工具的好处 |
| 14.2测试工具 |
| 14.2.l查看器和监视器 |
| 14.2.2驱动程序 |
| 14.2.3管道 |
| 14.2.4施压和增负工具 |
| 14.2.5干扰发射器和噪声发生器 |
| 14.2.6分析工具 |
| 14.3软件测试自动化 |
| 14.3.1宏录制和回放 |
| 14.3.2可编程的宏 |
| 14.3.3完全可编程的自动测试工具 |
| 14.4随机测试:猴子测试员 |
| 14.4.l笨猴子 |
| 14.4.2不太笨的猴子 |
| 14.4.3聪明猴子 |
| 14.5使用测试工具和自动化的实质 |
| 14.6小结 |
| 14.7小测验 |
| 第15章臭由轰炸和Beat测试 |
| 15.l能看多远看多远 |
| 15.2测试共享 |
| 15.3Beat测试 |
| 15.4提交测试 |
| 15.5小结 |
| 15.6小测验 |
| 第五部分使用测试文档 |
| 第16章计划测试工作 |
| 16.l测试计划的目标 |
| 16.2测试计划主题 |
| 16.2.l高级期望 |
| 16.2.2人.地点和事 |
| 16.2.3定义 |
| 16.2.4团队之间的责任 |
| 16.2.5哪些要测试,哪些不要测试 |
| 16.2.6测试阶段 |
| 16.2.7测试策略 |
| 16.2.8资源要求 |
| 16.2.9测试员的任务分配 |
| 16.2.10测试过度 |
| 16.2.11测试案例 |
| 16.2.12软件缺陷报告 |
| 16.2.13频度和统计 |
| 16.2.14风险和问题 |
| 16.3小结 |
| 16.4小测验 |
| 第17章编写和跟踪测试案例 |
| 17.1测试案例计划的目标 |
| 17.2测试案例计划综述 |
| 17.2.l测试设计 |
| 17.2.2测试案例 |
| 17.2.3测试程序 |
| 17.2.4细节和真实 |
| 17.3测试案例组织和跟踪 |
| 17.4小结 |
| 17.5小测验 |
| 第18章报告发现的问题 |
| 18.l使软件缺陷得以修复 |
| 18.2分离和再现软件缺陷 |
| 18.3所有软件缺陷不是生来就平等的 |
| 18.4软件缺陷的生命周期 |
| 18.5软件缺陷跟踪系统 |
| 18.5.1标准:测试事件报告 |
| 18.5.2手工软件缺陷报告和跟踪 |
| 18.5.3自动软件缺陷报告和跟踪 |
| 18.6小结 |
| 18.7小测验 |
| 第19章评价成效 |
| 19.l使用软件缺陷跟踪数据库中的. |
| 19.2在日常测试中使用的频度 |
| 19.3常用项目级频度 |
| 19.4小结 |
| 19.5小测验 |
| 第六部分软件测试展望 |
| 第20章软件质量评判 |
| 20.l质量是免费的 |
| 20.2生产车间中的测试和质量评判 |
| 20.2.l软件测试 |
| 20.2.2质量评判 |
| 20.2.3软件测试团队的其他名称 |
| 20.2.4测试管理和组织结构 |
| 20.2.5能力成熟度模型(CMM) |
| 20.2.6ISO9000 |
| 20.3小结 |
| 20.4小测验 |
| 第21章软件测试员职业指导 |
| 21.l软件测试员工作 |
| 21.2寻求软件测试职位 |
| 21.3获得亲身体验 |
| 21.4正规培训机会 |
| 21.5因特网链接 |
| 21.6专业组织 |
| 21.7参考书目 |
| 21.8小结 |
| 21.9小测验 |
| 附录测验问题解答 |
