软件测试(原书第2版)
作者 : Ron patton
译者 : 张小松 王钰 曹跃 等
丛书名 : 计算机科学丛书
出版日期 : 2006-04-07
ISBN : 7-111-18526-9
定价 : 30.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 254
开本 : 16开
原书名 : Software Testing (Second Edition)
原出版社: Sams
属性分类: 教材
包含CD :
绝版 :
图书简介

“本书为初出茅庐的测试新手提供了便利。检查单的应用以及每章末尾配有的测验,会让读者加深对所学知识的理解和掌握,其价值是无法衡量的。Patton侃侃而谈的写作风格,自我发展的组织方式,也会使有经验的专业测试人员获益匪浅。”
                  --Suan Archer
                  软件测试学院主任,有超过14年的专业软件测试经验

  “Patton的软件测试是进入软件测试专业领域的理想入门指导。一个测试新手可以从中学到重要的基础知识,以及进一步提高所需要的一些高级提示。该书编排清晰合理,内容浅显易读。”
                  --Danny R. Faught 
                  Cigital公司软件分析员,comp.software.testing FAQ 网站的创建者,以及软件测试讨论 (swtest-discuss) 邮件组的共同创办者

  

  本书全面系统地介绍了软件测试理论及应用技术,不仅讲述基本的测试技能,也讲述成为一个成功的软件测试员所必须掌握的高级技能。其目的在于引导读者通过基础知识和必要技能的学习而成为一个优秀的软件测试员,知道如何迅速在任一计算机程序中发现问题,如何计划一个有效的测试步骤,如何清楚地报告发现的问题,以及如何告知软件在何时发布。

  本书是一本软件测试的入门书,内容全面实用,讲述浅显易懂,既可作为高等院校软件测试课程的教材,也可作为软件测试爱好者的自学用书。对于那些希望增强软件测试方面知识的程序员、软件项目经理和软件开发团队的其他人员,本书也具有很好的参考价值。

图书特色

图书前言

当今社会似乎每天都有关于计算机软件问题或安全缺陷暴露的新闻报道:银行给出不正确的账目收支报表、火星探测器在太空失踪、食品店收银机扫描器多算了香蕉的钱,或者某位黑客获得了数百万张信用卡号的访问权。
  为什么会出现这些问题呢?难道程序员不能想出办法让软件仅仅做简单的工作吗?答案是否定的。随着软件变得越来越复杂,软件的功能越来越多,软件的互联性越来越强,使编写一个无故障的程序越来越难,事实上已经不可能。不论程序员多有能力,也不论他有多细心,他的程序中都难免会出现问题。
  这就是引入软件测试的原因。我们都看到在新衣服的口袋里有“检验员12号”的小标记,软件一样也有检验标记。许多大的软件公司里一个程序员配一个或多个测试员,以保证软件质量。从游戏软件,到工厂自动化生产软件,再到商业应用软件,都是如此。
  本书将向你介绍软件测试的基础知识,不仅讲述基本的技能,还讲述成为一个成功的软件测试员必需的技能。你将会学到,如何迅速在任一计算机程序中发现问题,如何计划一个有效的测试步骤,如何清楚地报告发现的问题,以及如何告知软件在何时发布。

关于本书第2版
  在我写《软件测试》第1版的时候,软件安全性问题还只是刚开始在新闻标题中出现。虽然黑客和安全问题一直都是一个难题,但是随着互联网的爆炸性发展,业界几乎无人能预计安全漏洞对软件开发者和使用者的影响有多大。
  在第2版中,我又重新审阅了各章,着重强调了软件安全问题,并指出了如何使用贯穿全书的基本测试技术来预防、查找、修正安全问题。我还增加了一章,专门讲述如何测试软件安全漏洞。
  如果你是第1版的读者,你会知道一个道理:不管你做多大的努力,你的软件都会带着缺陷发布。在第2版中,这也是一个真理—甚至带着安全问题发布。然而,通过对本书所讲述内容的长期应用,能达到确保测试中绝大多数重要的缺陷都不会漏掉的目标,并且使你的团队开发出高质量、高安全性的软件成为可能。

本书的读者对象
  本书适用于三类不同的读者:
  * 有兴趣将软件测试作为全职工作、实习或合作工作的,学生或电脑爱好者。在面试前或第一天工作前阅读这本书以求在新上司眼里形成好印象。
  * 改变职业,希望从原来的专业领域转入软件产业领域的人。本书给非软件专业的人员很多应用其原专业知识到软件测试中的机会。例如,飞行教导员可以测试飞行模拟游戏,会计可以测试税务申报软件,教师可以测试新的儿童教育程序。
  * 想对软件测试方面的知识增强了解的程序员、软件项目经理、软件开发团队的其他人员。

本书可以为你带来什么
  从本书中可以学到关于软件测试的几乎所有方面的内容:
  * 软件测试如何适应软件开发过程
  * 基本的和高级的软件测试技术
  * 在常见的测试任务中运用测试技能
  * 引入自动化提高测试的效率
  * 测试工作的计划和文档化
  * 有效地报告发现的问题
  * 衡量测试工作的成效和产品的改进
  * 测试和质量保证的区别
  * 寻求软件测试员的工作

本书必须用到的软件
  本书讲述的方法是通用的,可以用于测试任何类型的计算机软件。但是,为了使例子对大多数读者熟悉并可使用,这些例子都是基于一些简单的程序,例如Windows XP和Windows NT/2000所带的计算器、记事本、写字板。
  即使使用的是运行Linux或其他操作系统的PC或Mac电脑,也可以轻易地在系统中找到和本书中类似的程序。发挥创造力吧!创造性是优秀软件测试员具有的一个素质。
  注意  本书中针对不同的应用程序、软件缺陷、软件测试工具所举的例子绝不是有意在对这些软件进行肯定或否定,这些例子仅仅是用来演示软件测试的概念。  

本书的组织方式
  编写本书的目的是引导读者通过基础知识和必要技能的学习而成为一个优秀的软件测试员。软件测试并不是不停地敲击键盘,希望能最终使计算机崩溃这样一回事,在它后面包含了大量的科学和工程、规则和计划,也有很多的乐趣—你很快就会看到。
  第一部分  软件测试综述
  第一部分的章节是本书的基础,该部分讲述了软件产品是如何开发出来的,软件测试如何应用到整个开发过程中。你将会懂得软件测试的重要性,并对软件测试工作量的巨大产生正确的认识。
  * 第1章,“软件测试的背景”,帮助你理解什么是软件缺陷,软件缺陷到底有多严重,为什么软件缺陷会发生。你会了解到作为一个软件测试员最终的目标是什么,以及成为一个优秀的软件测试员应该具有哪些特点。
  * 第2章,“软件开发的过程”,介绍团体进行软件产品生产的总体过程。你会了解到软件生产中有哪些典型的过程,哪些人员对此做出了贡献,以及可以应用的不同的过程模型。
  * 第3章,“软件测试的实质”,对软件开发的事实进行分析。你会了解到为什么无论你做多大的努力,软件永远都不会完美,还会了解到本书中用到的一些基本的术语和概念。
  第二部分  测试基础
  第二部分的章节向你讲述软件测试的基本方法,软件测试工作分为四个方面,每个方面的技术都用一章来描述。
  * 第4章,“检查产品说明书”,讲述如何通过详细检查软件文档来发现缺陷。
  * 第5章,“带上眼罩测试软件”,讲述在没有代码甚至不懂得编程的情况下的软件测试技术,这是最常用的测试类型。
  * 第6章,“检查代码”,讲述如何通过详细的程序代码分析来发现缺陷。你会了解到不必一定是高级程序员才能运用此方法。
  * 第7章,“带上X光眼镜测试软件”,讲述如何通过代码评审或观察动态运行测试获得的信息来改进测试。
  第三部分  运用测试技术
  第三部分的章节把第二部分学到的技术应用到软件测试员今后会遇到的实战环境中。
  * 第8章,“配置测试”,讲述如何针对不同的硬件配置和平台来组织和执行软件测试。
  * 第9章,“兼容性测试”,讲述如何针对不同的软件应用程序和操作系统交互的问题进行测试。
  * 第10章,“外国语言测试”,有很多软件,当其被翻译成其他语言时会引起一些特殊问题,这时测试显得很重要。
  * 第11章,“易用性测试”, 讲述在检查软件程序的用户界面时,如何应用测试技术,如何确保软件对于残疾人士也能适用。
  * 第12章,“测试文档”,讲述如何检查软件的文档的缺陷,例如帮助文档、用户手册,甚至是市场宣传资料。
  * 第13章,“软件安全性测试”,针对想像中是安全的计算机系统和数据,如何发现被黑客突破的安全缺陷。
  * 第14章,“网站测试”,应用目前学到的所有技术到实际测试中,你会发现即使简单到一个网站的测试,也涉及了软件测试的各个方面。
  第四部分  软件测试的进一步深入
  第四部分的章节讲述如何通过技术和人员的合理调配,提高测试的覆盖率和深入程度,使测试更有效。
  * 第15章,“自动测试和测试工具”,讲述如何使用计算机软件来测试其他软件。你会了解到使用工具测试和自动化测试的不同方法,还会了解到使用工具测试并不十分简单。
  * 第16章,“缺陷轰炸和beta测试”,讲述如何利用其他人员从不同角度使用软件,发现那些你完全忽略的缺陷。
  第五部分  使用测试文档
  第五部分的章节涉及如何使软件测试文档化,使软件测试的计划、测试缺陷、测试结果对项目团队中每个成员都可见,且能理解。
  * 第17章,“计划测试工作”,讲述创建项目测试计划涉及的工作。作为一个软件测试的新手,你可能不会马上就能写测试计划,一切都得从零开始,但是了解测试计划的内容以及写测试计划的原因是很重要的。
  * 第18章,“编写和跟踪测试用例”,讲述如何正确规范地编写测试案例,使其他测试员也能使用。
  * 第19章,“报告发现的问题”,讲述如何报告缺陷,如何整理出重现缺陷的必要步骤,如何描述缺陷使其他人可以理解并愿意修改。
  * 第20章,“成效评价”,描述不同类型的数据、图表,用来标记测试的过程和进展,以及达到软件发布的步骤。
  第六部分  软件测试的未来
  第六部分的章节讲述软件测试的未来以及软件测试的职业。
  * 第21章,“软件质量保证”,讲述软件测试和软件质量保证之间的巨大区别,你会了解到不同的软件产业标准,诸如ISO 9000和软件能力成熟度模型,以及达到这些标准的要求。
  * 第22章,“软件测试员的职业”,讲述成为软件测试员遇到的障碍。从中你可以了解到有哪些类型的工作以及到哪里去找这些工作,其中还有许多的提示和信息。
  附录
  本书每一章结尾都有一个小测验,用于测试所学到的测试概念。附录A给出了答案。

本书所采用的规范
  注意  注意是每一章材料的附属材料,用来澄清概念和程序。
  技巧  技巧提供常见问题的快捷路径和解决方案。
  提示  提示提到在前面章节讨论的内容,有助于对已讲知识的回忆以及增强对重要概念的认识。

致谢
  非常感谢Sams出版社、编辑和其他工作人员,他们为我此书第2版的出版做了大量的工作。感谢资深评论人Danny Faught,他为此书提出了宝贵的意见。
  感谢我的父母Walter和Eleanore,在1977年时,他们同意我停修手风琴课并给我买了一台TRS-80 I型计算机。感谢我的姐姐Saundra,父母都忙于指挥她的比赛,这才使得我能躲在房间里学习编写程序。感谢我在Mohawk中学的计算机老师Ruth Voland,他带我参加各种计算机展览会并给我额外的时间使用学校的ASR 33型打字机。感谢TI的Alan Backus和Galen Freemon,让我能按照自己的思路开发软件测试工具。感谢我过去的同事,在软件测试方面教给了我许多自学无法学到的东西。同时,感谢我优秀的妻子Valerie,1991年,当我问她是否把简历投给远在西雅图的名叫微软的小公司时,她坚定地说:“投过去,看看会发生什么。”你们当中的每一个人都为这本书做出了贡献,谢谢你们!

封底文字

作者简介

Ron patton:Ron patton:  Ron Patton 具有近20年软件测试和软件质量保证的工作经验,从事过各种产品的软件测试,从关键任务到儿童绘图程序。曾先后就职于德州仪器公司、西门子公司和微软公司,担任过质量保证工程师、软件测试经理等职务。他现在是一个独立的软件项目管理和软件质量保证咨询师。邮件地址是:test@valart.com。

译者简介

张小松 王钰 曹跃 等:暂无简介

译者序

20世纪40年代,当Grace Hopper中尉第一次在“事件记录本”中把引起“MARK II”计算机死机的飞蛾注明为“第一个发现虫子的实例”后,人们便将计算机和软件的错误戏称为虫子(Bug)或臭虫,用此描述再恰当不过。对于软件开发人员和使用者来说,软件的缺陷就像自然界中人类的天敌臭虫一样,是一场恶梦,轻则给用户带来不便,如软件界面的不一致;重则造成重大生命财产的损失,如1996年阿丽亚娜5型火箭第一次鉴定发射的失败以及第一次海湾战争中爱国者导弹在沙特阿拉伯的多哈误炸28名美国士兵的事件。要找出软件中的问题,软件测试是唯一的手段。
  1983年IEEE对软件测试进行了准确的定义:软件测试是使用人工或自动手段来运行或测定某个系统的过程,检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
  软件测试是软件开发中不可或缺的环节,也是软件工程的重要组成部分,软件测试的效果直接关系到软件产品的质量。在国外一些成熟和大型的软件企业,软件测试人员和开发人员的比例已到达了3∶5的程度。近年来,我国的软件企业已越来越意识到软件测试的重要性,逐渐加大软件测试在整个软件开发的系统工程中的比重。根据调查显示,软件产品在成本上的分配比例一般来说是:“需求分析”占6%,“设计”占5%,“编程”占7%,“测试”占15%,“运行维护”占67%。而测试成本所占的比例还在逐渐上升。因此,如何提高我国软件行业的测试水平,是摆在我国广大软件行业管理人员和从业人员面前的一个紧迫任务。
  本书是《软件测试》的第2版,作者根据自己在软件行业丰富的经历和测试经验,对软件测试知识体系结构中的测试基本原理和技术、测试的环境和工具、测试管理进行了全面、生动的描述,书中列举了许多例子,特别适合初次接触,而又对测试具有浓厚兴趣的读者参考。本书作者还在第1版的基础上,根据软件测试技术的发展,新增加了软件安全性测试这个新兴的话题。本书可作为高等院校软件工程专业的本科或工程硕士的参考教材,也可供有志于将软件测试作为职业的人员全面学习软件测试技术。
  本书的翻译力求忠实于原文,但由于译者的知识水平有限,不当之处在所难免,恳请广大读者批评指正。参加本书翻译、审校和其他辅助工作的还有:任云涛、王勋、刘洋、唐妍、许黎、钟永松,在此一并表示感谢。

译  者
2006年元月

推荐序

图书目录

第一部分  软件测试综述
第1章  软件测试的背景 3
1.1  臭名昭著的软件错误用例研究 3
1.1.1  迪斯尼的狮子王,1994—1995 3
1.1.2  英特尔奔腾浮点除法缺陷,1994 4
1.1.3  美国航天局火星极地登陆者号探测器,1999 4
1.1.4  爱国者导弹防御系统,1991 5
1.1.5  千年虫问题,大约1974 5
1.1.6  危险的预见,2004 5
1.2  软件缺陷是什么 6
1.2.1  软件失败的术语 6
1.2.2  软件缺陷的官方定义 7
1.3  为什么会出现软件缺陷 8
1.4  软件缺陷的修复费用 9
1.5  软件测试员究竟做些什么 10
1.6  优秀的软件测试员应具备的素质 10
1.7  小结 11
1.8  小测验 12
第2章  软件开发的过程 13
2.1  产品的组成部分 13
2.1.1  软件产品需要多少投入 13
2.1.2  软件产品由哪些部分组成 16
2.2  软件项目成员 17
2.3  软件开发生命周期模式 18
2.3.1  大爆炸模式 18
2.3.2  边写边改模式 19
2.3.3  瀑布模式 20
2.3.4  螺旋模式 21
2.4  小结 22
2.5  小测验 22
第3章  软件测试的实质 23
3.1  测试的原则 23
3.1.1  完全测试程序是不可能的 23
3.1.2  软件测试是有风险的行为 24
3.1.3  测试无法显示潜伏的软件缺陷 24
3.1.4  找到的软件缺陷越多,就说明软件缺陷越多 25
3.1.5  杀虫剂怪事 25
3.1.6  并非所有软件缺陷都要修复 26
3.1.7  什么时候才叫缺陷难以说清 27
3.1.8  产品说明书从没有最终版本 28
3.1.9  软件测试员在产品小组中不受欢迎 28
3.1.10  软件测试是一项讲究条理的技术专业 28
3.2  软件测试的术语和定义 29
3.2.1  精确和准确 29
3.2.2  确认和验证 30
3.2.3  质量和可靠性 30
3.2.4  测试和质量保证(QA) 30
3.3  小结 31
3.4  小测验 31

第二部分  测试基础
第4章  检查产品说明书 35
4.1  开始测试 35
4.1.1  黑盒测试和白盒测试 36
4.1.2  静态测试和动态测试 37
4.1.3  静态黑盒测试、测试产品说明书 37
4.2  对产品说明书进行高级审查 37
4.2.1  假设自己是客户 38
4.2.2  研究现有的标准和规范 38
4.2.3  审查和测试类似软件 39
4.3  产品说明书的低层次测试技术 39
4.3.1  产品说明书属性检查清单 39
4.3.2  产品说明书术语检查清单 40
4.4  小结 40
4.5  小测验 40
第5 章  带上眼罩测试软件 42
5.1  动态黑盒测试:带上眼罩测试软件 42
5.2  通过性测试和失效性测试 43
5.3  等价类划分 44
5.4  数据测试 46
5.4.1  边界条件 47
5.4.2  次边界条件 49
5.4.3  默认、空白、空值、零值和无 51
5.4.4  非法、错误、不正确和垃圾数据 52
5.5  状态测试 53
5.5.1  测试软件的逻辑流程 54
5.5.2  失败状态测试 57
5.6  其他黑盒测试技术 58
5.6.1  像笨拙的用户那样做 58
5.6.2  在已经找到的软件缺陷的地方再找找 59
5.6.3  像黑客一样考虑问题 59
5.6.4  凭借经验、直觉和预感 59
5.7  小结 59
5.8  小测验 60
第6章  检查代码 61
6.1  静态白盒测试:检查设计和代码 61
6.2  正式审查 62
6.2.1  同事审查 63
6.2.2  走查 63
6.2.3  检验 63
6.3  编码标准和规范 64
6.3.1  编程标准和规范示例 64
6.3.2  获取标准 66
6.4  通用代码审查清单 66
6.4.1  数据引用错误 66
6.4.2  数据声明错误 67
6.4.3  计算错误 67
6.4.4  比较错误 67
6.4.5  控制流程错误 68
6.4.6  子程序参数错误 68
6.4.7  输入/输出错误 68
6.4.8  其他检查 68
6.5  小结 69
6.6  小测验 69
第7章  带上X光眼镜测试软件 70
7.1  动态白盒测试 70
7.2  动态白盒测试和调试 71
7.3  分段测试 72
7.3.1  单元测试和集成测试 72
7.3.2  单元测试示例 74
7.4  数据覆盖 75
7.4.1  数据流 76
7.4.2  次边界 76
7.4.3  公式和等式 77
7.4.4  错误强制 77
7.5  代码覆盖 78
7.5.1  程序语句和代码行覆盖 79
7.5.2  分支覆盖 79
7.5.3  条件覆盖 80
7.6  小结 81
7.7  小测验 81

第三部分  运用测试技术
第8章  配置测试 85
8.1  配置测试综述 85
8.1.1  分离配置缺陷 88
8.1.2  计算工作量 89
8.2  执行任务 90
8.2.1  确定所需的硬件类型 90
8.2.2  确定有哪些厂商的硬件、型号和驱动程序可用 90
8.2.3  确定可能的硬件特性、模式和选项 91
8.2.4  将确定后的硬件配置缩减为可控制的范围 91
8.2.5  明确与硬件配置有关的软件唯一特性 92
8.2.6  设计在每一种配置中执行的测试用例 93
8.2.7  在每种配置中执行测试 93
8.2.8  反复测试直到小组对结果满意为止 93
8.3  获得硬件 93
8.4  明确硬件标准 94
8.5  对其他硬件进行配置测试 95
8.6  小结 95
8.7  小测验 95
第9章  兼容性测试 96
9.1  兼容性测试综述 96
9.2  平台和应用程序版本 97
9.2.1  向后和向前兼容 97
9.2.2  测试多个版本的影响 98
9.3  标准和规范 99
9.3.1  高级标准和规范 99
9.3.2  低级标准和规范 100
9.4  数据共享兼容性 100
9.5  小结 102
9.6  小测验 102
第10章  外国语言测试 103
10.1  使文字和图片有意义 103
10.2  翻译问题 104
10.2.1  文本扩展 104
10.2.2  ASCll、DBCS和Unicode 105
10.2.3  热键和快捷键 105
10.2.4  扩展字符 106
10.2.5  字符计算 106
10.2.6  从左向右和从右向左读 107
10.2.7  图形中的文字 107
10.2.8  让文本与代码脱离 107
10.3  本地化问题 108
10.3.1  内容 108
10.3.2  数据格式 109
10.4  配置和兼容性问题 110
10.4.1  国外平台配置 110
10.4.2  数据兼容性 111
10.5  测试量有多大 112
10.6  小结 113
10.7  小测验 113
第11章  易用性测试 114
11.1  用户界面测试 114
11.2  优秀UI由什么构成 115
11.2.1  符合标准和规范 115
11.2.2  直观 116
11.2.3  一致 117
11.2.4  灵活 117
11.2.5  舒适 118
11.2.6  正确 118
11.2.7  实用 119
11.3  为有残疾障碍的人员测试:辅助选项测试 119
11.3.1  法律要求 120
11.3.2  软件中的辅助特性 120
11.4  小结 122
11.5  小测验 122
第12章  测试文档 123
12.1  软件文档的类型 123
12.2  文档测试的重要性 125
12.3  审查文档时要找什么 126
12.4  文档测试的实质 127
12.5  小结 127
12.6  小测验 127
第13章  软件安全性测试 129
13.1  战争游戏—电影 129
13.2  了解动机 130
13.3  威胁模式分析 131
13.4  软件安全是一项功能吗?软件漏洞是一个缺陷吗 134
13.5  了解缓冲区溢出 134
13.6  使用安全的字符串函数 135
13.7  计算机取证 137
13.8  小结 139
13.9  小测验 139
第14章  网站测试 141
14.1  网页基础 141
14.2  黑盒测试 142
14.2.1  文本 143
14.2.2  超级链接 144
14.2.3  图片 145
14.2.4  表单 145
14.2.5  对象和其他各种简单的功能 145
14.3  灰盒测试 146
14.4  白盒测试 147
14.5  配置和兼容性测试 148
14.6  易用性测试 149
14.7  自动化测试简介 151
14.8  小结 151
14.9  小测验 151

第四部分  测试的补充
第15章  自动测试和测试工具 155
15.1  工具和自动化的好处 155
15.2  测试工具 156
15.2.1  查看器和监视器 156
15.2.2  驱动程序 157
15.2.3  桩 158
15.2.4  压力和负载工具 159
15.2.5  干扰注入器和噪声发生器 159
15.2.6  分析工具 160
15.3  软件测试自动化 160
15.3.1  宏录制和回放 161
15.3.2  可编程的宏 162
15.3.3  完全可编程的自动测试工具 163
15.4  随机测试:猴子和大猩猩 164
15.4.1  笨拙的猴子 165
15.4.2  半聪明的猴子 166
15.4.3  聪明的猴子 166
15.5  使用测试工具和自动化的实质 168
15.6  小结 168
15.7  小测验 169
第16章  缺陷轰炸和beta测试 170
16.1  让别人测试你的软件 170
16.2  测试共享 171
16.3  beta测试 172
16.4  外包测试 173
16.5  小结 173
16.6  小测验 174

第五部分  使用测试文档
第17章  计划测试工作 177
17.1  测试计划的目标 177
17.2  测试计划主题 178
17.2.1  高级期望 178
17.2.2  人、地点和事 179
17.2.3  定义 179
17.2.4  团队之间的责任 180
17.2.5  哪些要测试,哪些不要测试 182
17.2.6  测试的阶段 182
17.2.7  测试策略 182
17.2.8  资源需求 183
17.2.9  测试员的任务分配 183
17.2.10  测试进度 183
17.2.11  测试用例 185
17.2.12  软件缺陷报告 185
17.2.13  度量和统计 185
17.2.14  风险和问题 185
17.3  小结 185
17.4  小测验 186
第18章  编写和跟踪测试用例 187
18.1  测试用例计划的目标 187
18.2  测试用例计划综述 188
18.2.1  测试设计 189
18.2.2  测试用例 191
18.2.3  测试程序 192
18.3  测试用例组织和跟踪 194
18.4  小结 195
18.5  小测验 195
第19章  报告发现的问题 197
19.1  设法修复软件缺陷 198
19.2  分离和再现软件缺陷 200
19.3  并非所有软件缺陷生来就是平等的 202
19.4  软件缺陷的生命周期 203
19.5  软件缺陷跟踪系统 205
19.5.1  标准:测试事件报告 205
19.5.2  手工软件缺陷报告和跟踪 206
19.5.3  自动化软件缺陷报告和跟踪 206
19.6  小结 210
19.7  小测验 211
第20章  成效评价 212
20.1  使用软件缺陷跟踪数据库中的信息 212
20.2  在日常测试中使用的度量 213
20.3  常用项目级度量 216
20.4  小结 220
20.5  小测验 221

第六部分  软件测试的未来
第21章  软件质量保证 225
21.1  质量是免费的 225
21.2  工作现场的测试和质量保证 226
21.2.1  软件测试 226
21.2.2  质量保证 227
21.2.3  软件测试团队的其他名称 228
21.3  测试的管理和组织结构 228
21.4  能力成熟度模型(CMM) 230
21.5  IS0 9000 232
21.6  小结 233
21.7  小测验 233
第22章  软件测试员的职业 234
22.1  软件测试员的工作 234
22.2  寻求软件测试职位 235
22.3  获得亲身体验 236
22.4  正规培训机会 237
22.5  网站 237
22.6  专注于软件和软件质量的专业组织 238
22.7  更进一步阅读 238
22.8  小结 239
22.9  小测验 240
附录A  小测验问题解答 241

参考读物推荐
作者: 杨晓慧 编著
作者: (美)汤姆·迪马可(Tom DeMarco) 蒂莫西·利斯特(Timothy Lister)著
作者: (以)Daniel Galin