Web应用测试(第二版)
基本信息
内容简介回到顶部↑
本书是一本有关软件测试的指导书。首先介绍了客户-服务器和Web系统的体系结构,从测试的角度对Web应用技术,如网络协议、基于组件的体系结构和多服务器类型进行了深入的研究,然后对诸如用户界面测试、性能测试、负载测试等进行了介绍。除继续前一版有关黑盒测试的讨论外,也增加了新的几章来讨论服务器端的测试问题、性能和应用级的安全测试,以及最新的移动Web应用测试。本书可以帮助测试人员拓展思路、发现和查找新的故障类型,从而更有效地分析在测试或产品使用过程中发现的软件失效的根源。
读者对象:
本书适合于软件测试人员、质量保证分析和管理人员、系统分析师,以及所有负责计划和管理Web应用测试项目的人员使用。
读者对象:
本书适合于软件测试人员、质量保证分析和管理人员、系统分析师,以及所有负责计划和管理Web应用测试项目的人员使用。
目录回到顶部↑
第一部分 web测试入门
第1章 欢迎进入web测试
1.1 引言
1.2 软件测试的发展
1.3 灰盒测试方法
1.4 实际的软件测试
1.5 本书主旨
1.6 第二版中的新增内容
第2章 web测试与传统测试的比较
2.1 引言
2.2 应用模型
2.3 硬件与软件的区别
2.4 web系统与传统的客户-服务器系统之间的区别
2.5 web系统
2.6 程序错误的传播
2.7 后端数据访问
2.8 瘦客户机处理与胖客户机处理的比较
2.9 互操作性问题
2.10 测试注意事项
2.11 参考书目
第1章 欢迎进入web测试
1.1 引言
1.2 软件测试的发展
1.3 灰盒测试方法
1.4 实际的软件测试
1.5 本书主旨
1.6 第二版中的新增内容
第2章 web测试与传统测试的比较
2.1 引言
2.2 应用模型
2.3 硬件与软件的区别
2.4 web系统与传统的客户-服务器系统之间的区别
2.5 web系统
2.6 程序错误的传播
2.7 后端数据访问
2.8 瘦客户机处理与胖客户机处理的比较
2.9 互操作性问题
2.10 测试注意事项
2.11 参考书目
前言回到顶部↑
本书介绍了基本的技术、测试概念以及与基于浏览器的应用有关的测试方法。书中对BtoB应用、BtoC应用、Web入口和其他基于因特网应用的测试提出了建议。本书适合于软件测试者、软件质量工程师、质量保证人员、测试管理者、项目管理者、IT管理者、业务和系统分析师,以及所有负责计划和管理Web应用测试项目的人员阅读。
本书首先介绍客户-服务器和Web系统的体系结构。从测试的角度对Web应用技术,如网络协议、基于组件的体系结构和多服务器类型进行了深入的研究。书中还对诸如用户界面测试、性能测试、负载和强度测试,以及安全测试等各种类型的测试方法进行了介绍。第1章和第2章对Web测试进行了概述。第3章到第6章介绍方法和技术的基础知识,包括对软件测试基础的回顾,对网络问题的讨论和对基于组件测试的介绍。第7章到第9章讨论测试计划的基本原理,介绍了在本书中作为待测应用的一个样例应用,以及一个样例测试计划。第10章到第20章讨论可用于Web测试的测试类型。最后,第21章和第22章对Web测试工具进行了概述,并列出了在什么地方能得到更为详细的信息。
本书回答了有关测试的诸多问题,如“网络硬件和软件如何影响待测应用?”,“什么是Web应用组件,它们如何影响测试策略?”,“后端数据库的作用是什么,如何测试与数据库相关的错误?”,“什么是性能、强度和负载测试,如何计划和执行这些测试?”,“关于安全性测试需要了解些什么,测试的职责是什么?”。
有了一般的测试方法和本书提供的信息,就有了实现如下测试目标的基础——在Web应用环境下使生产率最大化的同时使质量风险最小化。
本书假定读者对测试计划、测试用例设计、错误报告书写等软件测试方法已经有了初步的了解。Web应用是一个复杂的系统,包括许多部分,如服务器、浏览器、第三方软硬件、协议和连通性等。本书能够让你将已有的测试技巧运用到对Web应用的测试中。
注意: 本书并不是要专门对软件测试进行介绍。如果要了解软件测试的基础,最好阅读由Kaner、Cem、Jack Falk和Hung Q. Nguyen撰写的Testing Computer Software, Second Edition (Wiley, 1999)。有关Web测试的更多信息和其他测试方法及资源,可访问www.QAcity.com。
我们对于能够编写本书,把每天用来测试基于Web系统的Web应用的测试方法介绍给大家感到非常高兴。希望读者能从本书中发现所需要的信息,以便计划和进行成功的测试,从而能够在当今的新技术时代,在不断增长的分布式计算、市场驱动和时间约束的环境下发布高质量的应用系统。
致谢
尽管是我们的名字出现在封面上,但是这些年来很多人给予了我们极大的帮助,使得我们可以顺利的完成本书的撰写。在此要特别感谢的是Brian Lawrence对本书全文进行了全面的审阅并及时提出了批评意见,要感谢Cem Kaner,他的建议、友谊以及在我们需要时总是站在我们身边使我们深受感动。还要感谢Jesse Watkins-Gibbs对本书样例和样例代码所做的工作,他的技术知识使我们获益匪浅。
我们也要感谢我们的朋友从他们的工作中分出时间审阅本书,他们是:Yannick Bertolus、George Hamblin、Elisabeth Hendrickson、Nematolah Kashanian、Pat McGee、Alberto Savoia和Garrin Wong。感谢校对Janice Borzendowski。还要感谢以下人员对本书所做的贡献(按字母顺序排列):James L. Carr、William Coleman、Norm Hardy、Pam Hardy、Thomas Heinz、Chris Hibbert、Heather Ho、Brian Jones、Denny Nguyen、Kevin Nguyen、Wendy Nguyen、Steve Schuster、Kurt Thams、Anne Tran、Dean Tribble和Joe Vallejo。最后,要感谢作者所在的学院、学生以及LogiGear公司的全体职员,他们对Web测试培训资料的讨论和评价为本书提供了很好的素材。
当然,书中遗留的错误责任在作者。
本书首先介绍客户-服务器和Web系统的体系结构。从测试的角度对Web应用技术,如网络协议、基于组件的体系结构和多服务器类型进行了深入的研究。书中还对诸如用户界面测试、性能测试、负载和强度测试,以及安全测试等各种类型的测试方法进行了介绍。第1章和第2章对Web测试进行了概述。第3章到第6章介绍方法和技术的基础知识,包括对软件测试基础的回顾,对网络问题的讨论和对基于组件测试的介绍。第7章到第9章讨论测试计划的基本原理,介绍了在本书中作为待测应用的一个样例应用,以及一个样例测试计划。第10章到第20章讨论可用于Web测试的测试类型。最后,第21章和第22章对Web测试工具进行了概述,并列出了在什么地方能得到更为详细的信息。
本书回答了有关测试的诸多问题,如“网络硬件和软件如何影响待测应用?”,“什么是Web应用组件,它们如何影响测试策略?”,“后端数据库的作用是什么,如何测试与数据库相关的错误?”,“什么是性能、强度和负载测试,如何计划和执行这些测试?”,“关于安全性测试需要了解些什么,测试的职责是什么?”。
有了一般的测试方法和本书提供的信息,就有了实现如下测试目标的基础——在Web应用环境下使生产率最大化的同时使质量风险最小化。
本书假定读者对测试计划、测试用例设计、错误报告书写等软件测试方法已经有了初步的了解。Web应用是一个复杂的系统,包括许多部分,如服务器、浏览器、第三方软硬件、协议和连通性等。本书能够让你将已有的测试技巧运用到对Web应用的测试中。
注意: 本书并不是要专门对软件测试进行介绍。如果要了解软件测试的基础,最好阅读由Kaner、Cem、Jack Falk和Hung Q. Nguyen撰写的Testing Computer Software, Second Edition (Wiley, 1999)。有关Web测试的更多信息和其他测试方法及资源,可访问www.QAcity.com。
我们对于能够编写本书,把每天用来测试基于Web系统的Web应用的测试方法介绍给大家感到非常高兴。希望读者能从本书中发现所需要的信息,以便计划和进行成功的测试,从而能够在当今的新技术时代,在不断增长的分布式计算、市场驱动和时间约束的环境下发布高质量的应用系统。
致谢
尽管是我们的名字出现在封面上,但是这些年来很多人给予了我们极大的帮助,使得我们可以顺利的完成本书的撰写。在此要特别感谢的是Brian Lawrence对本书全文进行了全面的审阅并及时提出了批评意见,要感谢Cem Kaner,他的建议、友谊以及在我们需要时总是站在我们身边使我们深受感动。还要感谢Jesse Watkins-Gibbs对本书样例和样例代码所做的工作,他的技术知识使我们获益匪浅。
我们也要感谢我们的朋友从他们的工作中分出时间审阅本书,他们是:Yannick Bertolus、George Hamblin、Elisabeth Hendrickson、Nematolah Kashanian、Pat McGee、Alberto Savoia和Garrin Wong。感谢校对Janice Borzendowski。还要感谢以下人员对本书所做的贡献(按字母顺序排列):James L. Carr、William Coleman、Norm Hardy、Pam Hardy、Thomas Heinz、Chris Hibbert、Heather Ho、Brian Jones、Denny Nguyen、Kevin Nguyen、Wendy Nguyen、Steve Schuster、Kurt Thams、Anne Tran、Dean Tribble和Joe Vallejo。最后,要感谢作者所在的学院、学生以及LogiGear公司的全体职员,他们对Web测试培训资料的讨论和评价为本书提供了很好的素材。
当然,书中遗留的错误责任在作者。
序言回到顶部↑
编写有关Web测试的书是一项富有挑战性的任务,因为这一领域涉及了如此之多的相互依赖的技术和系统。只写有关客户端的内容是远远不够的。当然,可以肯定的是,客户端软件是客户最常见的应用的一部分,它也是最容易撰写的一部分。(是的,通常作者可以对已出版的有关应用的旧内容重新进行包装。本书作者确实提供过有关客户端的指南,但是他们的目标是提供与Web应用有关的信息。要了解更多信息,请阅读Testing Computer Software, Second Edition, Wiley, 1999一书)。
但是客户端软件只是冰山的一角。虽然对最终用户来说应用本身是作为客户端软件出现的,但是它是和服务器端的其他软件一起进行它的大多数工作的,其中的大部分是由第三方编写和维护的。例如,应用可能通过第三方数据库存储和获取数据。如果它要销售产品和服务,可能就要和客户的信用卡公司一起取消客户订单。可能也要检查它的分销商的现货存单,和发货商一起确定把该软件发送到顾客手中的成本。Web应用通过由第三方编写的网络连接和这些第三方进行交流,甚至用户界面也仅仅部分地处在应用开发人员的控制之下——顾客提供表示层:浏览器、音乐和视频播放器,以及其他各种多媒体插件。
比起历史上的任何其他类型的应用,Web应用运行在更多的硬件和软件平台上。这些平台的性质可在任何时间改变,完全不在Web应用开发人员的知识或控制之内。
在本书中,作者充分考虑了这种复杂性。按照作者的观点,一名合格的Web应用测试人员必须知道待测应用与之进行交互的系统的技术细节。为方便这一点,他们对许多系统进行了综述,解释了应用是如何与它们进行交互的,并提供了测试技巧。
作为帮助测试人员理解Web测试问题复杂性的一个副产品,本书第一版成为了讨论黑盒测试问题的第一本书。在所谓的黑盒测试中,我们把待测软件看做是一个黑盒子。我们指定输入,我们查看输出,但是我们不能看到黑盒内部的情况以弄清它是如何工作的。黑盒测试人员在客户级进行操作,依据有关系统应如何工作的知识进行测试。相反,白盒测试人员知道软件的本质并直接参照程序的源代码来设计测试。灰盒人员不能访问源代码,但是他或她对待测应用和其他的软件和操作系统之间的基础结构和接口的性质知之甚多。
本书第二版通过加深第一版中的讨论来继续有关灰盒测试的分析。本书也增加了几个新的章节来讨论服务器端业务关键的测试问题、性能和应用级的安全测试,以及最新的移动Web应用测试。本书的一个主要特征是采用了现实世界中的例子。Hung Quoc Nguyen是发布TRACKGEAR(一个基于Web的缺陷跟踪系统)的公司的总裁,这使得作者可以为我们提供有关TRACKGEAR开发和测试的细节。
本书把全面的分析和详细的内在知识组合在一起,非常易于阅读。它教育我们当待测软件以一种复杂的方式与其他许多程序交互时如何思考所涉及的问题,使得本书的价值远远超出它所描述的技术之外。
佛罗里达技术学院计算机科学系教授
Cem Kaner博士
但是客户端软件只是冰山的一角。虽然对最终用户来说应用本身是作为客户端软件出现的,但是它是和服务器端的其他软件一起进行它的大多数工作的,其中的大部分是由第三方编写和维护的。例如,应用可能通过第三方数据库存储和获取数据。如果它要销售产品和服务,可能就要和客户的信用卡公司一起取消客户订单。可能也要检查它的分销商的现货存单,和发货商一起确定把该软件发送到顾客手中的成本。Web应用通过由第三方编写的网络连接和这些第三方进行交流,甚至用户界面也仅仅部分地处在应用开发人员的控制之下——顾客提供表示层:浏览器、音乐和视频播放器,以及其他各种多媒体插件。
比起历史上的任何其他类型的应用,Web应用运行在更多的硬件和软件平台上。这些平台的性质可在任何时间改变,完全不在Web应用开发人员的知识或控制之内。
在本书中,作者充分考虑了这种复杂性。按照作者的观点,一名合格的Web应用测试人员必须知道待测应用与之进行交互的系统的技术细节。为方便这一点,他们对许多系统进行了综述,解释了应用是如何与它们进行交互的,并提供了测试技巧。
作为帮助测试人员理解Web测试问题复杂性的一个副产品,本书第一版成为了讨论黑盒测试问题的第一本书。在所谓的黑盒测试中,我们把待测软件看做是一个黑盒子。我们指定输入,我们查看输出,但是我们不能看到黑盒内部的情况以弄清它是如何工作的。黑盒测试人员在客户级进行操作,依据有关系统应如何工作的知识进行测试。相反,白盒测试人员知道软件的本质并直接参照程序的源代码来设计测试。灰盒人员不能访问源代码,但是他或她对待测应用和其他的软件和操作系统之间的基础结构和接口的性质知之甚多。
本书第二版通过加深第一版中的讨论来继续有关灰盒测试的分析。本书也增加了几个新的章节来讨论服务器端业务关键的测试问题、性能和应用级的安全测试,以及最新的移动Web应用测试。本书的一个主要特征是采用了现实世界中的例子。Hung Quoc Nguyen是发布TRACKGEAR(一个基于Web的缺陷跟踪系统)的公司的总裁,这使得作者可以为我们提供有关TRACKGEAR开发和测试的细节。
本书把全面的分析和详细的内在知识组合在一起,非常易于阅读。它教育我们当待测软件以一种复杂的方式与其他许多程序交互时如何思考所涉及的问题,使得本书的价值远远超出它所描述的技术之外。
佛罗里达技术学院计算机科学系教授
Cem Kaner博士







点击看大图
加载中...

