首页>参考读物>计算机科学与技术>计算机网络

Web测试指南
作者 : (美)Lydia Ash
译者 : 李昂 王海峰 黄江海 等
出版日期 : 2004-02-19
ISBN : 7-111-13663-2
定价 : 48.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 368
开本 : 16开
原书名 : The Web Testing Companion:The Insider's Guide to Efficient and Effective Tests
原出版社: John Wiley&Sons,Inc.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书主要讲述如何进行高效、高质量的Web测试。全书分为五个部分,第一部分介绍测试的基本概念和测试理论,引导读者进入Web测试领域;第二和第三部分分别讲述Web应用的客户端测试和服务器端测试;第四部分介绍专业测试人员必备的素质和技术,重点阐述测试计划和设计;最后一部分是测试的相关知识参考。
  本书作者是微软公司的软件测试负责人,有多年的Web测试经验。作者在书中提供了最新最全的Web测试资料和丰富的Web测试实践,使得本书时效性好,操作性强,适合Web测试人员、软件测试人员作为参考指南,对于项目经理及Web应用开发人员也有很大的参考价值。

图书特色

图书前言

向导:名词  通过领导、指导和建议指路的人。
  侦察兵:名词  被派出去获取信息的人。
  夏尔巴:名词  是藏族的一支,居住在尼泊尔东部喜马拉雅南麓地区,他们为外国旅行者及登山家提供支持。

                 Merriam-Webster's Dictionary

  每一个团队都需要向导,无论是软件开发团队或是测试团队或是其他任何为了一个共同目标而共同工作的团队。一些人是管理者,但是大多数是那些从经验及努力工作中学习的个人贡献者。向导中有一些是走在其他旅行者之前的侦察兵,他们探察路径和踪迹、观察信号,并努力使别人理解自己的意图。团队中的这些向导将会成为夏尔巴—他们是其工作领域内的专家,只需看一眼就能理解不同对策所包含的危险和困难。夏尔巴人在各种不同的条件下多次走过这些道路,因而他们拥有从经验中得来的自信,能够领导其他人走出困境。这两种类型的向导在组织中都是必需的;夏尔巴对于团队来说在短期内更有价值,但是侦察兵学得很快并将在下一次的旅程中成为夏尔巴。
  但是,一些对于Web及开发Web应用程序陌生的团队中可能没有一个人走过这条道路。很多人想成为侦察兵、甚至是夏尔巴,他们正在寻找向导为其指路。很多时候我们都忘了其他人可能没有我们拥有的经验,有时我们高估了自己的经验并拒绝请求指导。
  这本书是关于Web测试的指南。它的目的是界定一些捷径和歧途以帮助团队在这条道路上更成功。本书并没有教给你所需要知道的每一件事情,它只是一个工具并希望能带给你更多启发。没有一项手艺是只需要一件工具的,软件测试也是如此。在本书最后我们提供一些清单列出了其他书籍、文章和资源,希望你能利用这些工具并应用到你的项目之中。
  将本书作为一个指南,汲取那些对你的团队有用的部分。
  我不会教一个人违背他的意愿,也不会让他对我产生误解。
                        —Symon Latham

我为什么写这本书
  我曾经雇用过全职及合同制软件测试人员,一些人有测试经验而一些人没有,一些人原来有开发经验而另一些人没有。我从中学到的经验是这些因素与工作中的成功只有松散的联系。项目成功的更重要的因素是每个人对其工作的专注、对产品的兴趣、在工作中学习的能力以及记住教给他的知识的能力、还有其内在的激情。很多次我都希望能为新员工提供一本书,其中有一个他们可以用来开始工作的框架—一个基本的构件,在此之上可以开展很多Web测试工作。我花了很多时间做记录以整理我自己关于Web应用程序测试问题的思考。有一次,我写了几篇较短的文章探讨一些话题并得到了不错的反应。这些文章解释了Web测试的一些基础问题,但是还不够。我需要的是更全面的知识—技巧、指导、缺陷和Web测试的其他特性。这本书也就是要满足我对于一本资源手册的需要。本书的基本方法是给测试团队提供基础,他们可以从此开始进行计划或测试,或者提供一些材料以使你能够开始进行员工培训。为达到这个目标,本书有两个突出特点。第一个特点是本书从零开始,真正解释了如何解剖问题以及测试者需要了解哪些知识以便更有效率。第二个特点也可能是更重要的特点是附录中的原始数据。本书解释了如何及在哪里使用特殊的技巧,原始数据提供了这些技巧里需要加入的东西。即使数据过时了,这些概念仍然适应新的数据。本书是由Web应用程序测试及Web程序测试管理工作中的实际经验总结而来的。测试现在仍然还是一门黑色艺术或手艺。它总是与标准、认证、教育和工作的专业技能有着不很紧密的联系,就像在其他领域一样。但是,它依然被忽略或被低估了它对软件开发的作用。这是为何?业界仍然还没有为测试专业大声鼓噪,并且我们的学术机构还没有开展相关的培训。很少有计算机科学课程提及测试,尽管在开发工作中要花相当多的时间来做这些事情。这意味着现有的测试人员并不是那些专门培养出来的测试人员,而是那些要跨入公司大门并想从事软件开发中其他工作的人—例如项目管理和开发等等—或者那些在软件开发中不称职的人被安排成了二流的测试人员。因此,这类人并不真正关心专业,只是应付工作而已。然而,也有很少的一些人虽被转到这个领域,但他们努力地工作以获得同事的尊重,他们也在新的专业中进行自我教育。测试,作为一个专业,任何人如果愿意都可以从事这个工作。我希望看到那些有测试经验的测试人员能够安心留在测试行业中,而不是当小小的目标达到后就转向新的领域。

本书面向的读者
  这本书针对两种读者,这两种读者可能截然相反。
  ●本书(及每一章)的开始部分是为测试新手准备的。其中解释了工作原理、事情的原委、测试者的角色,并给出了一些成功方法的建议。
  ●本书的第二部分涉及更深入的话题,包括性能、安全。本书最后的附录有一些原始数据,这相当于提供了一个测试用例的宝库。
  有经验的测试人员(或者任何有经验的软件开发人员)都可以拣起这本书并找到中间的章节,在其中找到一些有用的东西弥补其可能的知识漏洞。最后,他们还可以浏览附录中的测试用例,并研究如何能马上使用其中特定的一个。新手应该从头到尾阅读此书,这样才能更好地知道如何使用所讨论的不同工具、技巧和测试用例。

本书的结构
  本书由五个部分组成:
  ●第一部分:成为测试者。这一部分讨论了测试者在日常工作中和整个产品周期中应该做的事情。这一部分也介绍了一些基本的Web技术及概念,可为稍后的讨论打下基础。
  ●第二部分:客户端测试。在本书的第二部分,阐述了如何从客户端或浏览器访问Web程序的角度进行测试。其中包括HTML、可访问性、本地化和设计。
  ●第三部分:服务器端测试。在第二部分之后,探讨了与其对应的另一方面,即服务器端的问题。其中包括性能测试及安全。
  ●第四部分:作为测试者。第四部分关注的是一些更大的问题以及如何进行工作。仅仅掌握技术或不犯错误是不够的,要想把工作做得让自己高兴,就要把事情做好。
  ●第五部分:测试参考附录。最后,本书的这一部分是其他部分所要解释的东西。本书的其他部分是讨论如何进行测试以及为什么测试。而本部分是你能够在自己的应用中使用的一些特定用例。

从本书能收获什么
  我不希望本书成为一个定义性的东西。这个项目的目标更是在你,在于个人,希望能帮助你提高效率。“更聪明地工作,而不是更辛苦地工作”是一句谚语,它确实有其道理。对于那些新入行的Web测试团队来说,没有理由让他们必须重新发现那些在这个行当里早已为人所知的经验。仅仅根据本书提供的各种指南找出一个bug就可以补偿购买此书的花费。这本书试图提供一些经验和知识,帮助那些团队创造更好更稳定的软件。
  测试不是严格的艺术。艺术是绝无仅有的、原创的且不可重复的。测试也不是严格的科学。对一个小组来说好用的方法对于另一个小组可能就行不通,并且没有一个固定的方程式。它也不只是一门手艺,用正确的经验和知识就可以做好,甚至没有适应每种情况的相应处方。本书不想成为一种公式,只是一些经验、提示和我认为不需每次都要重新发现的信息的总结。没有什么魔术弹或戏法,但是有一套好的技术和方法。这些技巧降低了界定导致劣质软件的问题的门槛。软件没有理由带着一些常见的问题就发行。我希望相关组织能够拿到此书并使用里面的信息提高他们的测试过程。我希望所有这些组织中的经理们都能向他们的新员工们推荐这本书。软件测试这个行业仍需要更多这样的书籍或出版物。我希望这是另一本能够被加入专业测试者书架的参考书,另一个对于你的项目有用的工具。
  我希望那些平庸的人也成为善学之人,否则你将不会从我这里学到很多。
                        —Symon Latham

作者简介

(美)Lydia Ash:Lydia Ash: Lydia Ash的职业特长是拥有很多关于Web测试及测试管理的实际知识。在最近几年,Ash在微软的Office及NetDocs分部领导Web测试工作。她给项目和团队带来的方法及技巧满足了这些团队必须在预算之内按时交付高质量软件的需要。Ash的背景横跨很多不同的领域,包括测试和质量保证,她也熟悉很多平台(包括Unix系列、Macintosh、Windows平台以及Web相关设备)。她能使用很多不同的语言和技巧并实现了多个测试方法。在进入软件测试这行之前,Ash曾做过项目管理及HTML程序员。Ash拥有学士学位,是微软认证专家(MCP),以及6s绿带(Six Sigma Green Belt)。她还是ACM成员及当地质量保证研究所的成员。

译者简介

李昂 王海峰 黄江海 等:暂无简介

译者序

很多公司的管理者甚至一些技术人员认为在实现Web应用时,只要能够正常运行应用,并在应用周围放置一个防火墙就万事大吉了。其实这种看法非常肤浅,Web测试是一个需要仔细考虑和充分实践的测试领域。Web应用的潜在缺陷、防火墙配置不当、内部的心怀不满的雇员以及各类用户五花八门的使用需求,都会对Web应用产生潜在危险,因此Web应用在真正提交用户使用前都需要进行认真、谨慎、合理的测试。但非常不幸的是,很多Web应用程序或者没有经过充分的测试,或者根本没有进行测试。因此,对Web应用进行全面测试和质量评估非常必要。
  本书的作者是一位在微软从事多年软件测试工作的测试专家,作者在微软有过多年成功的测试领导经历,具有Web测试的丰富经验和知识。本书提供了测试技术、测试经验、各种测试事宜以及相关测试信息方方面面的知识。本书向读者清晰地显示了如何分析不同的测试场景,如何决定需要使用的测试技术。这些技术将会有助于识别造成Web应用质量低下的严重程序缺陷。本书注重提供Web测试解决方案,帮助读者理解为什么要执行、什么时间执行以及如何执行Web测试。
  作者写作本书的目标是使本书成为所有测试人员实施Web测试的案头工具。因此本书编排循序渐进,共分为五个部分:第一部分提供了测试基本概念的介绍并阐明从事测试工作必备的测试理论和必须知道的测试实践,引导读者进入Web测试领域;第二部分、第三部分讲述实际的Web测试工作。第二部分介绍Web应用的客户端测试,包括测试HTML(静态Web测试)、动态Web测试、字符集、代码页和字形测试;第三部分描述了Web应用的服务器端测试,包括Web测试中最重要的两类测试:性能测试和安全性测试;第四部分作者向读者介绍了如何成为一个测试者,重点阐述了自动化测试、测试计划和设计等等概念,并给出了成为专业测试人员应具有的种种素质和途径;最后一部分是有关测试知识的相关参考,通过翔实丰富的附录内容,提供了有关测试的大量背景知识。本书还值得提及的特色是作者在描述每个主题时提供的各种格言、谚语、箴言以及小故事,不仅大大丰富了本书的表现力,而且可以使人掩卷细品,受益匪浅。
  本书可读性好、可操作性强、时效性强、实用、参考方便,配套网站提供了高水平技术和咨询服务支持。本书不仅对Web测试人员有很大帮助,对于所有的软件测试人员、Web应用设计开发人员、Web项目经理等也有较大参考价值。


2003年8月

图书目录

译者序
致谢
关于作者
前言
第一部分  成为测试者
第1章  测试基础 3
1.1  测试概览 3
1.1.1  测试是什么 3
1.1.2  质量是什么 3
1.1.3  测试为什么重要 4
1.1.4  测试人员做些什么 4
1.1.5  谁是测试人员 4
1.2  QA与测试的区别 4
1.3  优秀测试人员的素质 5
1.4  相关人员 7
1.4.1  你需要从别人那里得到什么 8
1.4.2  别人需要从你这里得到什么 9
1.5  什么是bug 10
1.6  测试之后 11
1.6.1  什么是dogfooding 11
1.6.2  产品发行给谁 12
1.7  测试人员的工作内容 12
第2章  软件测试理论 14
2.1  软件产品生命周期 14
2.1.1  产品规格说明书 15
2.1.2  风险分析 16
2.1.3  里程碑 18
2.2  测试周期 18
2.3  bug生命周期 20
2.3.1  有效地记录bug 20
2.3.2  使用bug模板 21
2.3.3  评价bug优先级和严重性 21
2.3.4  bug的生命 22
2.3.5  维护bug数据库 23
2.4  测试方法 23
2.4.1  测试技巧 23
2.4.2  测试类型 24
2.5  什么时候停止测试 26
第3章  软件测试实践 28
3.1  开始测试 28
3.1.1  测试从哪里开始 28
3.1.2  评审产品规格说明书 28
3.1.3  谁来开始 31
3.2  应用测试技巧 31
3.2.1  分解任务 31
3.2.2  提出恰当问题 32
3.2.3  列举软件状态 32
3.2.4  检查数据输入 34
3.2.5  测试事件顺序 40
3.2.6  检查时间 41
3.2.7  抓住后门 41
3.2.8  尝试可选方法 41
3.2.9  通用测试技巧 42
3.3  报告技巧 43
3.3.1  好的bug报告 43
3.3.2  差的bug报告 44
3.3.3  创建有用的支持文档 45
3.4  不当测试 46
第4章  Web测试入门 49
4.1  组织工作 49
4.1.1  浏览器的历史 50
4.1.2  浏览器的选择 50
4.1.3  其他浏览器 51
4.1.4  平台 52
4.1.5  其他设备 53
4.1.6  矩阵 53
4.2  影响Web应用程序测试的其他因素 54
4.2.1  考虑屏幕分辨率 55
4.2.2  画布的尺寸 55
4.2.3  画布实际可用大小的急剧减少 57
4.2.4  测试颜色深度 58
4.2.5  测试连接速度 58
4.2.6  重新回到矩阵 59
4.2.7  考虑其他因素 60
4.3  基本Web应用程序 60
4.3.1  复杂化Web应用程序场景 62
4.3.2  有关Web如何工作的更多知识 62
4.3.3  请求获取网页 63
4.3.4  对请求的响应 64
4.4  Web应用程序测试技巧 64
4.4.1  包含支持文档 65
4.4.2  处理缓存问题 65
4.4.3  配置浏览器以用于Web应用程序测试 66
4.4.4  配置浏览器的其他设置 67
第二部分  客户端测试
第5章  测试HTML—静态Web 73
5.1  HTML中的编码 73
5.1.1  基本标记符 73
5.1.2  细致的HTML编码 74
5.1.3  遵守外部编码标准 76
5.1.4  保持内部编码标准 76
5.2  测试Web上的设计 79
5.2.1  整洁是最重要的 80
5.2.2  测试其他设计方面的问题 82
5.2.3  测试设计时想着图片 83
5.2.4  测试设计的易用性问题 85
5.2.5  实现可访问性 87
5.2.6  设计用户交互 89
5.2.7  测试性能 93
第6章  动态Web 97
6.1  提供丰富体验 97
6.2  检查应用程序架构 98
6.3  脚本 99
6.3.1  引用脚本 99
6.3.2  JavaScript 100
6.3.3  VBScript 102
6.3.4  认识脚本问题 103
6.3.5  测试脚本 106
6.4  测试ASP 108
6.5  测试CGI 109
6.6  测试ActiveX控件 109
第7章  测试字符集、代码页和字形 111
7.1  几个定义 111
7.2  字符的显示 112
7.2.1  字符标准的历史 113
7.2.2  阅读代码页 117
7.3  理解字形 120
7.4  处理双向文本 121
7.5  处理复杂脚本 122
7.6  单字节和双字节字符集 123
7.6.1  处理双字节字符集 123
7.6.2  引用双字节字符 124
7.6.3  DBCS测试技巧 125
7.7  Unicode 126
7.8  字体链接 128
7.9  考察字符输入方法 128
7.9.1  Alt键输入 129
7.9.2  字符映射输入 129
7.9.3  IME 130
7.9.4  剪切和粘贴 131
7.10  应用假本地化 132
7.11  转义保留字符 134
7.12  什么使得字符成为问题 134
7.13  认识破坏 135
第三部分  服务器端测试
第8章  性能测试 139
8.1  制定基于性能的决定:决定何时进行测试,测试什么 139
8.1.1  使用规格说明书指导性能测试 140
8.1.2  找出性能问题 141
8.2  性能测试综述 141
8.2.1  选择用于性能测试的机器 143
8.2.2  在性能测试之前检查配置 143
8.3  开始性能测试 144
8.3.1  构思应用的轮廊 144
8.3.2  获取测量 145
8.4  继续性能测试 147
8.4.1  不仅仅是性能问题 148
8.4.2  优化带宽 149
8.4.3  阅读度量 151
8.4.4  负载测试和压力测试 153
8.4.5  可靠性和稳定性测试 155
8.4.6  可伸缩性测试 157
8.4.7  ASP性能测试 158
8.4.8  自动化性能测试 159
8.4.9  关键的性能测试技巧 160
8.5  改善应用性能 161
第9章  安全性测试 163
9.1  我们面临的对手是谁 163
9.2  选择安全性测试策略 164
9.2.1  协调安全工作 165
9.2.2  开发方法 166
9.3  测试几类安全问题 169
9.3.1  缓冲区泛溢 170
9.3.2  解析问题 176
9.3.3  转换问题 181
9.3.4  共享数据 183
9.3.5  转义 184
9.3.6  跨站点脚本 188
9.3.7  SQL注入 189
9.3.8  错误处理 190
9.3.9  特权提升 190
9.3.10  拒绝服务 191
9.4  测试隐私问题 192
9.5  组件交互测试 193
9.6  通过管理保护应用的安全 195
9.7  测试其他安全问题 195
9.8  其他安全性思考 197
第四部分  作为测试者
第10章  自动化 201
10.1  自动化测试的定义 201
10.2  自动化测试的功能 201
10.3  自动化测试的类型 202
10.4  计划自动化测试 203
10.4.1  确定进行自动化测试的对象 205
10.4.2  测试工具的选择 205
10.4.3  编写自动化测试 207
10.4.4  命名惯例 210
10.4.5  做好未来的计划 211
10.5  继续进行自动化测试 212
10.5.1  效果评测 213
10.5.2  在自动化测试开发中的良好操作实践 215
10.6  关于自动化测试的最后提醒 215
第11章  测试计划与设计 217
11.1  本章内容 217
11.2  本章不涉及的问题 217
11.3  为什么要做测试计划 217
11.4  计划内容 217
11.5  方法学 218
11.5.1  正规方法学 219
11.5.2  方法 222
11.6  编写测试计划 224
11.6.1  协调测试计划与项目和开发计划 224
11.6.2  设计测试组内部使用的测试计划 226
11.6.3  制定测试计划时要考虑的其他事项 226
11.7  在计划中交流 226
11.8  从何处入手 227
第12章  做专业的测试人员 228
12.1  专业测试人员的素质 228
12.2  提高测试技术 229
12.2.1  计划 230
12.2.2  组织 230
12.2.3  准备 230
12.2.4  了解自己的目的和当前所处的位置 231
12.2.5  共享 232
12.2.6  表现自我 232
12.2.7  提出问题 233
12.2.8  使用常识 234
12.2.9  应用最佳实践 234
12.3  发展成专业的测试者 235
第五部分  测试参考附录
附录A  代码页 239
附录B  Unicode范围 250
附录C  语言指南 253
附录D  计算机系统配置指南 266
附录E  HTTP响应代码 272
附录F  语言与映射 280
附录G  问题字符和样例测试输入 283
附录H  测试检查表和问题 302
附录I  格式和模板 313
附录J  相关工具 321
附录K  相关RFC、ISO标准以及IEEE标准 324
附录L  数字参考 328
附录M  相关参考网站 334
附录N  参考书目及推荐读物 337
附录O  术语表 341
附录P  本书的网站内容介绍 347

教学资源推荐
作者: 雷渭侣
作者: (美)Behrouz A.Forouzan 著
作者: 吴英 编著
作者: 王卫红 李晓明
参考读物推荐