软件测试基础教程杜文洁 景秀丽 主编中国水利水电出版社第九章 WEB网站测试第九章 WEB网站测试
9.1 Web网站的测试
9.2 功能测试
9.3 性能测试
9.4 安全性测试
9.5 可用性 /可靠性测试
9.6 配置和兼容性测试
9.7 数据库测试习题本章概要第九章 WEB网站测试针对 Web网站这一特定类型软件的测试,包含了许多测试技术,如功能测试、压力 /负载测试、配置测试、兼容性测试、安全性测试等。黑盒测试、白盒测试、静态测试和动态测试都有可能被采用。
9.1 WEB网站的测试第九章 WEB网站测试随着互联网的快速发展和广泛应用,Web网站已经应用到政府机构、
企业公司、财经证券、教育娱乐等各个方面,对我们的工作和生活产生了深远的影响。正因为 Web能够提供各种信息的连接和发布,并且内容易于被终端用户存取,使得其非常流行、无所不在。现在,许多传统的信息和数据库系统正在被移植到互联网上,复杂的分布式应用也正在 Web环境中出现。
基于 Web网站的测试是一项重要、复杂并且富有难度的工作。 Web
测试相对于非 Web 测试来说是更具挑战性的工作,用户对 Web 页面质量有很高的期望。基于 Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计所要求的项目正常运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。另外,还要从最终用户的角度进行安全性和可用性测试。然而,因特网和 Web网站的不可预见性使测试基于 Web的系统变得困难。因此,我们需要研究基于
Web网站的测试方法和技术。
针对 Web的测试方法应该尽量覆盖 Web网站的各个方面,测试技术方面在继承传统测试技术的基础上要结合 Web应用的特点。
基于 Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于 Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。更需要从最终用户的角度进行安全性和可用性测试。
9.1 WEB网站的测试第九章 WEB网站测试
9.1 WEB网站的测试第九章 WEB网站测试通常 Web网站测试的内容包含以下方面:
功能测试;
性能测试;
安全性测试;
可用性 /易用性测试;
配置和兼容性测试;
数据库测试;
代码合法性测试;
完成测试。
9.1 WEB网站的测试第九章 WEB网站测试实际上,实际的 Web网页各种各样,针对具体情况选用不同的测试方法和技术。例如,图 9-1是一个典型的 Web网页,具有各种可测试特性。而图 9-2是一个简单的网站首页,界面直观,仅由简单的文字、图片和链接组成,测试起来并不困难。
本章将从功能测试、性能测试、安全性测试、可用性 /易用性测试、
配置和兼容性测试、数据库测试、代码合法性测试和完成测试几个方面讨论了基于 Web的系统测试方法。
9.1 WEB网站的测试第九章 WEB网站测试图 9-1一个典型的 Web网页图 9-2 一个简单的 Web网页
9.1 WEB网站的测试第九章 WEB网站测试
9.2.1 页面内容测试
9.2.2页面链接测试
9.2.3 表单测试
9.2.4 Cookies测试
9.2.5 设计语言测试
9.2.6 功能测试用例
9.2 功能测试第九章 WEB网站测试
9.2 功能测试第九章 WEB网站测试功能测试是测试中的重点,在实际的测试工作中,功能在每一个系统中的具有不确定性,而我们不可能采用穷举的方法进行测试。测试工作的重心在于 Web 站点的功能是否符合需求分析的各项要求。
对于网站的测试而言,每一个独立的功能模块都需要设计相应的测试用例进行测试。功能测试的主要依据为,需求规格说明书,及,详细设计说明书,。对于应用程序模块则要采用基本路径测试法的测试用例进行测试。
功能测试主要包括以下几个方面的内容:
内容测试
链接测试
表单测试
Cookies测试
设计语言测试
9.2 功能测试第九章 WEB网站测试
9.2.1 页面内容测试第九章 WEB网站测试内容测试用来检测 Web应用系统提供信息的正确性、准确性和相关性。
正确性信息的正确性是指信息是真实可靠的还是胡乱编造的。例如,一条虚假的新闻报道可能引起不良的社会影响,甚至会让公司陷入麻烦之中,也可能惹上法律方面的问题。
准确性信息的准确性是指网页文字表述是否符合语法逻辑或者是否有拼写错误。
在 Web应用系统开发的过程中,开发人员可能不是特别注重文字表达,有时文字的改动只是为了页面布局的美观。可怕的式,这种现象恰恰会产生严重的误解。因此测试人员需要检查页面内容的文字表达是否恰当。这种测试通常使用一些文字处理软件来进行,例如使用 Microsoft Word的“拼音与语法检查”功能。但仅仅利用软件进行自动测试是不够的,还需要人工测试文本内容。
另外,测试人员应该保证 Web站点看起来更专业些。过分地使用粗斜体、
大号字体和下划线可能会让人感到不舒服,一篇到处是大字体的文章会降低用户的阅读兴趣。
9.2.1 页面内容测试第九章 WEB网站测试
相关性信息的相关性是指能否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般 Web站点中所谓的“相关文章列表”。
测试人员需要确定是否列出了相关内容的站点链接。如果用户无法点击这些地址,他们可能会觉得很迷惑。
页面文本测试还应该包括文字标签,它为网页上的图片提供特征描述。图 9-3给出一个文字标签的例子。当用户把鼠标移动到网页的某些图片时,就会立即弹出关于图片的说明性语言。
大多数浏览器都支持文字标签的显示,借助文字标签,用户可以很容易地了解图片的语义信息。进行页面内容测试时,如果整个页面充满图片,却没有任何文字标签说明,那么会影响用户的浏览效果。
9.2.1 页面内容测试第九章 WEB网站测试文本标签图 9-3 网页中的文字标签网上店面是现在非常流行的 Web网站,这里设定一个网上小百货商店作为例子,并为其设计测试用例。
网上商店有多种商品类别供用户选择,用户选中商品后放入购物车。当选完商品,应用程序自动生成结帐单,用户就可以进行网上支付、购买商品了。
本章除了数据库测试用例外,其他测试用例都是以网上商店为实例设计的,在下面的各小节中不再重复说明。
9.2.1 页面内容测试第九章 WEB网站测试
9.2.1 页面内容测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.1 搜索某种类别的商品 搜索类别= 搜索结果中列出该类别的所有商品 一致 /不一致
9.2 让鼠标滑过每一个对象 受测对象=
当鼠标滑过每一个对象时,显示相应的文本信息一致 /
不一致表 9-1 页面内容测试用例示例页面内容测试用例如表 9-1所示。
9.2.2 页面链接测试第九章 WEB网站测试链接是使用户可以从一个页面浏览到另一个页面的主要手段,是
Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试需要验证三个方面的问题:
( 1)用户点击链接是否可以顺利地打开所要浏览的内容,即链接是否按照指示的那样确实链接到了要链接的页面。
( 2)所要链接的页面是否存在。实际上,好多不规范的小型站点
,其内部链接都是空的,这让浏览者感觉很不好。
( 3)保证 Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的 URL地址才能访问。
9.2.2 页面链接测试第九章 WEB网站测试超级链接对于网站用户而言意味着能不能流畅的使用整个网站提供的服务,因而链接将作为一个独立的项目进行测试。另外,链接测试必须在集成测试阶段完成,也就是说,在整个 Web应用系统的所有页面开发完成之后进行链接测试。
目前链接测试采用自动检测网站链接的软件来进行,已经有许多自动测试工具可以采用。如 Xenu Link Sleuth,主要测试链接的正确性
,但是对于动态生成的页面的测试会出现一些错误。
页面测试链接和界面测试中的连接不同,前者注重功能,后者更注重连接方式和位置。页面测试链接更注重是否有链接,链接的页面是否是说明的位置等。
第九章 WEB网站测试
9.2.3 表单测试当用户给 Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、
信息提交等。表单测试主要是模拟表单提交过程,检测其准确性,确保每一个字段在工作中正确。
表单测试主要考虑以下几个方面内容:
表单提交应当模拟用户提交,验证是否完成功能,如注册信息。当用户通过表单提交信息的时候,都希望表单能正常工作。如果使用表单来进行在线注册,要确保提交按钮能正常工作,注册完成后应返回注册成功的消息。
要测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:个人信息表中
,用户填写的出生日期与职称是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
使用表单收集配送信息时,应确保程序能够正确处理这些数据。要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。
要验证数据的正确性和异常情况的处理能力等,注意是否符合易用性要求。
在测试表单时,会涉及到数据校验问题。如果根据已定规则需要对用户输入进行校验,
需要保证这些校验功能正常工作。例如,省份的字段可以用一个有效列表进行校验。在这种情况下,需要验证列表完整而且程序正确调用了该列表 (例如在列表中添加一个测试值
,确定系统能够接受这个测试值 )。
第九章 WEB网站测试
9.2.3 表单测试提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。
图 9-4则是一个比较复杂的表单例子,用户填写个人信息,提交后可以申请 YAHOO的免费信箱。
第九章 WEB网站测试
9.2.3 表单测试测试用例号 操作描述 数据 期望结果 实际结果
9.3 使用 TAB键从一个字段区跳到下一个字段区 开始字段区= 字段按正确的顺序移动 一致 /不一致
9.4 输入字段所能接受的最长的字符串 字段名=
字符串=
字段区能够接受输入一致 /
不一致测试用例号 操作描述 数据 期望结果 实际结果
9.5 输入超出字段所能接受的最大长度的字符串 字段名=字符串= 字段区拒绝接受输入的字符 一致 /不一致
9.6 在某个可选字段区中不填写内容,提交表单 字段名=
在用户正确填写其他字段区 的前提 下,
Web程序接受表单一致 /
不一致
9.7 在一个必填字段区中不填写内容,提交表单 字段名=
表单页面弹出信息,
要求用户必须填写必填字段区的信息一致 /
不一致
(续表)表 9-2 表单测试用例示例表单测试用例如表 9-2所示。
9.2.4 COOKIES测试第九章 WEB网站测试
Cookies通常用来存储用户信息和用户在某个应用系统的操作,当一个用户使用 Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以 Cookies的形式存储在客户端计算机上,
这可用来创建动态和自定义页面或者存储登陆等信息。关于 cookie的使用可以参考浏览器的帮助信息。如果使用 B/S结构 cookies中存放的信息更多。
如果 Web应用系统使用了 Cookies,测试人员需要对它们进行检测
。测试的内容可包括 Cookies是否起作用,是否按预定的时间进行保存,刷新对 Cookies有什么影响等。如果在 cookies 中保存了注册信息
,请确认该 cookie能够正常工作而且已对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。
Cookies测试用例示例如表 9-3所示。
测试用例号 操作描述 数据 期望结果实际结果
9.8 测试 Cookies打开和关闭状态 Web网页=
Cookies在打开时是否起作用一致 /
不一致表 9-3 Cookies测试用例示例
9.2.4 COOKIES测试第九章 WEB网站测试
9.2.5 设计语言测试第九章 WEB网站测试
Web设计语言版本的差异可以引起客户端或服务器端的一些严重问题,例如使用哪种版本的 HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了 HTML的版本问题外,不同的脚本语言,例如 Java,JavaScript,ActiveX、
VBScript或 Perl等也要进行验证。
9.2.6 功能测试用例第九章 WEB网站测试图 9-4 表单示例
9.2.6 功能测试用例第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.9
1,进入商品目录列表所在的页面
2,选择若干商品并将它们添加到购物车中
3,查看购物车添加的商品=
购物车=
页面=
购物车中列出所有选择的商品一致 /
不一致
9.10
1,通过搜索,选择不同网页中的商品,添加到购物车中
2,查看购物车添加的商品=
购物车=
搜索的关键词=
页面=
购物车中列出所有选择的商品一致 /
不一致
9.11 选择商品但没有放到购物车中 添加的商品= 购物车= 购物车中没有所选中的商品 一致 /不一致
9.12
1,选择一些商品并把它们放到购物车中
2,不查看购物车
3,转到结帐处添加的商品=
购物车=
结帐单=
放到购物车中的商品在结帐单中显示一致 /
不一致
9.13
1,选择一些商品并把它们放到购物车中
2,把其中一件商品从购物车中取走添加的商品=
取出的商品=
购物车=
购物车中的商品随时更新以反映商品的添加和取出一致 /
不一致表 9-4 功能测试用例示例
9.3.1负载测试
9.3.2压力测试
9.3.3连接速度测试
9.3 性能测试第九章 WEB网站测试
9.3 性能测试第九章 WEB网站测试网站的性能测试对于网站的运行而言非常重要,目前多数测试人员都很重视对于网站的性能测试。
网站的性能测试主要从三个方面进行:负载测试、压力测试和连接速度测试。
负载测试指的是进行一些边界数据的测试,压力测试更像是恶意测试,压力测试倾向应该是致使整个系统崩溃。连接速度测试指的是打开网页的响应速度测试。
9.3.1 负载测试第九章 WEB网站测试测试需要验证 Web系统能否在同一时间响应大量的用户,在用户传送大量数据的时候能否响应,系统能否长时间运行。可访问性对用户来说是极其重要的。如果用户得到,系统忙,的信息,他们可能放弃,并转向竞争对手。这样就需要进行负载测试。
负载测试是为了测量 Web系统在某一负载级别上的性能,以保证 Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问 Web系统的用户数量,也可以是在线数据处理的数量。
负载测试包括的问题有,Web应用系统能允许多少个用户同时在线;如果超过了这个数量,会出现什么现象; Web应用系统能否处理大量用户对同一个页面的请求
。
负载测试的作用是在软件产品投向市场以前,通过执行可重复的负载测试,预先分析软件可以承受的并发用户的数量极限和性能极限,以便更好地优化软件。
负载测试应该安排在 Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个 Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在 Internet上,接受负载测试,其结果才是正确可信的。
Web负载测试一般使用自动化工具来进行。
9.3.2 压力测试第九章 WEB网站测试系统检测不仅要使用户能够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。出于安全的原因,测试人员应该知道当系统过载时,需要采取哪些措施,而不是简单地提升系统性能。这就需要进行压力测试。
进行压力测试是指实际破坏一个 Web应用系统,测试系统的反映。
压力测试是测试系统的限制和故障恢复能力,也就是测试 Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载
,通过发送大量数据包来攻击服务器,直到 Web应用系统崩溃,接着当系统重新启动时获得存取权。无论是利用预先写好的工具,还是创建一个完全专用的压力系统,压力测试都是用于查找 Web 服务 (或其他任何程序 )问题的本质方法。
压力测试的区域包括表单、登陆和其他信息传输页面等。
9.3.2 压力测试第九章 WEB网站测试负载 /压力测试应该关注的问题如下:
1.瞬间访问高峰例如电视台的 Web站点,如果某个收视率极高的电视选秀节目正在直播并进行网上投票
,那么最好使系统在直播的这段时间内能够响应上百万上千万的请求。负载测试工具能够模拟 X个用户同时访问测试站点。
2.每个用户传送大量数据例如网上购物过程中,一个终端用户一次性购买大量的商品。或者节日里,一个客户网上派送大量礼物给不同的终端用户等。系统都要有足够能力能处理单个用户的大量数据
。
3.长时间的使用
Web站点提供基于 Web 的 Email 服务具有长期性,其对应的测试就属于长期性能测试
,可能需要使用自动测试工具来完成这种类型的测试,因为很难通过手工完成这些测试。
你可以想象组织 100个人同时点击某个站点。但是同时组织 100000 个人就很不现实。通常,测试工具在第二次使用的时候,它创造的效益,就足以支付成本。而且,测试工具安装完成之后,再次使用的时候,只要点击几下。
负载 /压力测试需要利用一些辅助工具对 Web网站进行模拟测试。例如,模拟大的客户访问量,记录页面执行效率,从而检测整个系统的处理能力。目前常用的负载 /压力测试工具有 WinRunner,LoadRunner,Webload等,运用它们可进行自动化测试。
9.3.3 连接速度测试第九章 WEB网站测试连接速度测试是对打开网页的响应速度测试。
用户连接到 Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果 Web系统响应时间太长(例如超过 10秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
9.3.3 连接速度测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.14
1.提交一个完整的购买表单
2.记录接收到购买确认的响应时间
3.重复上述操作 5次购买的商品=
记录最小、最大和平均响应时间,
同时满足系统的性能要求一致 /
不一致
9.15
1.查找一件商品
2.记录查找的响应时间
3.重复上述操作 5次查询=
记录最小、最大和平均响应时间,
同时满足系统的性能要求一致 /
不一致连接速度测试用例如表 9-5所示。
表 9-5 连接速度测试用例示例
9.4 安全性测试第九章 WEB网站测试随着 Internet的广泛使用,网上交费、电子银行等深入到了人们的生活中。所以网络安全问题就日益重要,特别对于有交互信息的网站及进行电子商务活动的网站尤其重要。站点涉及银行信用卡支付问题,
用户资料信息保密问题等。 Web页面随时会传输这些重要信息,所以一定要确保安全性。一旦用户信息被黑客捕获泄露,客户在进行交易时,就不会有安全感,甚至后果严重。
1,目录设置
Web 安全的第一步就是正确设置目录。目录安全是 Web安全性测试中不可忽略的问题。如果 Web程序或 Web服务器的处理不当,通过简单的 URL替换和推测,会将整个 Web目录暴露给用户,这样会造成 Web的安全性隐患。每个目录下应该有 index.html 或 main.html 页面,
或者严格设置 Web服务器的目录访问权限,这样就不会显示该目录下的所有内容,从而提高安全性。
9.4 安全性测试第九章 WEB网站测试
2,SSL
很多站点使用 SSL( Security Socket Layer)安全协议进行传送。
SSL表示安全套接字协议层,是由 Netscape首先发表的网络数据安全传输协议。 SSL是利用公开密钥 /私有密钥的加密技术,在位于 HTTP层和
TCP层之间,建立用户和服务器之间的加密通信,从而确保所传送信息的安全性。
任何用户都可以获得公共密钥来加密数据,但解密数据必须通过对应的私人密钥。 SSL是工作在公共密钥和私人密钥基础上的。
当用户进入到一个 SSL 站点是因为浏览器出现了警告消息,而且在地址栏中的 HTTP 变成 HTTPS。如果开发部门使用了 SSL,测试人员需要确定是否有相应的替代页面,适用于 3.0 以下版本的浏览器,这些浏览器不支持 SSL。当用户进入或离开安全站点的时候,请确认有相应的提示信息。做 SSL测试时,需要确认是否有连接时间限制,超过限制时间后会出现什么情况等。
9.4 安全性测试第九章 WEB网站测试
3,登录如图 9-5所示,很多站点都需要用户先注册后登录使用,从而校验用户名和匹配的密码,以验证他们的身份,阻止非法用户登录。这样对用户是方便的,他们不需要每次都输入个人资料。
9.4 安全性测试第九章 WEB网站测试图 9-5 用户登录设置
9.4 安全性测试第九章 WEB网站测试测试人员需要验证系统阻止非法的用户名 /口令登录,而能够通过有效登录。主要的测试内容有:
用户名和输入密码是否大小写敏感;
测试有效和无效的用户名和密码;
测试用户登录是否有次数限制,是否限制从某些 IP 地址登录;
假设允许登录失败的次数为 3次,那么在用户第三次登录的时候输入正确的用户名和口令,是否能通过验证;
口令选择是否有规则限制;
哪些网页和文件需要登录才能访问和下载;
是否可以不登录而直接浏览某个页面;
要测试 Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如 15分钟)没有点击任何页面,是否需要重新登陆才能正常使用
。
另外,许多站点在登录邮箱时,也会有安全性提示。这里以 YAHOO为例,
图 9-6是点击 YAHOO的信箱图标时弹出的对话框,提示用户网页通过安全链接。这样用户就会安心地登录邮箱。
9.4 安全性测试第九章 WEB网站测试
4,日志文件为了保证 Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
在后台,要注意验证服务器日志工作正常。主要的测试内容有:
日志是否记录所有的事务处理;
CPU的占有率是否很高;
是否有例外的进程占用;
是否记录失败的注册企图;
是否记录被盗信用卡的使用;
是否在每次事务完成的时候都进行保存;
是否记录 IP 地址;
是否记录用户名等。
9.4 安全性测试第九章 WEB网站测试
5,脚本语言脚本语言是常见的安全隐患。每种语言的细节有所不同。有些脚本允许访问根目录,其他脚本只允许访问邮件服务器。但是有经验的黑客可以利用这些缺陷,将服务器用户名和口令发送给他们自己,从而攻击和使用服务器系统。
测试人员需要找出站点使用了哪些脚本语言,并研究该语言的缺陷
。
服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。
所以,还需要检验没有经过授权,就不能在服务器端放置和编辑脚本的问题。最好的办法是订阅一个讨论站点使用的脚本语言安全性的新闻组。
9.4 安全性测试第九章 WEB网站测试图 9-6 安全连接提示
6,加密当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
9.5.1 导航测试
9.5.2 Web图形测试
9.5.3 图形用户界面( GUI)测试
9.5.4 可靠性测试
9.5 可用性 /可靠性测试第九章 WEB网站测试
9.5 可用性 /可靠性测试第九章 WEB网站测试可用性 /可靠性方面一般采用手工测试的方法进行评判,可用性测试内容包括导航测试,Web图形测试和图形用户界面测试等。
9.5.1 导航测试导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。
主要测试目的是检测一个 Web应用系统是否易于导航,具体内容包括:
导航是否直观;
Web系统的主要部分是否可通过主页存取;
Web系统是否需要站点地图、搜索引擎或其他的导航帮助。
在一个页面上放太多的信息往往起到与预期相反的效果。 Web应用系统的用户趋向于目的驱动,很快地扫描一个 Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉 Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。
导航的另一个重要方面是 Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道 Web应用系统里面是否还有内容,内容在什么地方。
Web应用系统的层次一旦决定,就要着手测试用户导航功能,应该让最终用户参与这种测试,提高测试质量。
导航测试实例如表 9-6所示。
第九章 WEB网站测试
9.5.1 导航测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.16
1.执行一个搜索,至少搜索到 10项相关商品信息
2.以一件商品为单位向下滚动查询=
搜索结果有 10个或 10个以上的相关商品信息在没有到达搜索列表页面底部时,前面的商品列表滚动出屏幕,后面的商品不断从屏幕下方出现一致 /
不一致
9.17
1.执行一个搜索,至少搜索到 5个页面的输出
2.以页面为单位向下滚动查询=
搜索结果有 5个或
5个以上的相关页面在没有到达搜索列表的底部时,当前的屏幕内容向上滚动一屏,下一屏出现一致 /
不一致表 9-6 导航条测试用例示例如图 9-7所示,网页无法载入图片时,就会在其显示位置上显示错误提示信息
。 Web图形测试用例如表 9-7所示 。
9.5.1 导航测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.18 查看图形 /图像 页面=浏览器=
在选择的浏览器中,图形 /图像显示正确一致 /
不一致表 9-7 Web图形测试用例示例第九章 WEB网站测试
9.5.1 导航测试图 9-7 网页无法载入图片的提示信息
9.5.2 WEB图形测试第九章 WEB网站测试在 Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个 Web应用系统的图形可以包括图片、动画、边框、颜色、字体、
背景、按钮等。图形测试的内容有:
( 1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。 Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
( 2)验证所有页面字体的风格是否一致。
( 3)背景颜色应该与字体颜色和前景颜色相搭配。
通常来说,使用少许或尽量不使用背景是个不错的选择。如果您想用背景,那么最好使用单色的,和导航条一起放在页面的左边。另外,图案和图片可能会转移用户的注意力。
( 4)图片的大小和质量也是一个很重要的因素,一般采用 JPG或 GIF压缩,最好能使图片的大小减小到 30k 以下。
( 5)验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。
( 6)图片能否正常加载,用来检测网页的输入性能好坏。如果网页中有太多图片或动画插件,就会导致传输和显示的数据量巨大、减慢网页的输入速度,有时会影响图片的加载。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
1.用户界面现在一般人都有使用浏览器浏览网页的经历,界面对不懂技术的用户来说非常重要,所以搞好界面测试也很关键。
(1) 整体界面测试整体界面是指整个 Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览 Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方。整个 Web应用系统的设计风格是否一致等。
对整体界面的测试过程,其实是一个对最终用户进行调查的过程
。一般 Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。因此测试需要外部人员参加,特别是终端用户的参与。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
(2)界面测试要素界面测试要素主要包括:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性
,一致性。
直观性直观性包含的问题有:
用户界面是否洁净、不奇怪、不拥挤,界面不应该为用户制造障碍。所需功能或者期待的响应应该明显,并在预期出现的地方。
界面组织和布局是否合理;
是否允许用户轻松地从一个功能转到另一个功能;
下一步做什么是否明显;
任何时刻都可以决定放弃或者退回、退出吗?
输入得到承认了吗?
菜单或者窗口是否深藏不露?
有多余功能吗?
软件整体抑或局部是否做得太多?
是否有太多特性把工作复杂化了?
是否感到信息太庞杂?
如果其他所有努力失败,帮助系统能否帮忙。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
一致性一致性包含的问题有:
快速键和菜单选项:在 Windows 中按 F1键总是得到帮助信息。
术语和命令:整个软件使用同样的术语吗?特性命名一致吗?
软件是否一直面向同一级别用户。
按钮位置和等价的按键:大家是否注意到对话框有 OK按钮和 Cancle按钮时,OK按钮总是在上方或者左方,而 Cancle按钮总是在下方或右方?同样原因,Cancle按钮的等价按键通常是 Esc,而选中按钮的等价按钮通常是 Enter
保持一致。
灵活性灵活性包含的问题有:
状态跳转:灵活的软件实现同一任务有多种选择方式。
状态终止和跳过,具有容错处理能力。
数据输入和输出:用户希望有多种方法输入数据和查看结果。例如,在写字板插入文字可用键盘输入、粘贴。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
舒适性舒适性包含的问题有:
恰当:软件外观和感觉应该与所做的工作和使用者相符。
错误处理:程序应该在用户执行严重错误的操作之前提出警告,并允许用户恢复由于错误操作导致丢失的数据。如大家认为 undo /redo是当然的。
性能:速度快不见得是好事。要让用户看清程序在做什么。
(3)界面测试内容用户界面测试主要包括以下几个方面的内容:
站点地图和导航条测试站点地图和导航条位置是否合理、是否可以导航等。内容布局是否合理,滚动条等简介说明。
确认测试的站点是否有地图。有些网络高手可以直接去自己要去的地方,而不必点击一大堆页面。另外新用户在网站中可能会迷失方向。站点地图和 /或导航条可以引导用户进行浏览
。需要验证站点地图是否正确。确认地图上的链接是否确实存。地图有没有包括站点上的所有链接。
使用说明说明文字是否合理,位置是否正确。
应该确认站点有使用说明。即使认为网站很简单,也可能有人在某些方面需要证实一下。
测试人员需要测试说明文档,验证说明是正确的。还可以根据说明进行操作,确认出现预期的结果。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
背景 / 颜色背景 /颜色是否正确、美观,是否符合用户需求。
由于 Web 日益流行,很多人把它看作图形设计作品。不幸的是,有些开发人员对新的背景颜色更感兴趣,以至于忽略了这种背景颜色是否易于浏览。例如在紫色图片的背景上显示黄色的文本。这种页面显得“非常高贵”,但是看起来很费劲。通常来说,使用少许或尽量不使用背景是个不错的选择。如果想用背景,那么最好使用单色的,和导航条一起放在页面的左边。
另外,图案和图片可能会转移用户的注意力。
图片无论作为屏幕的聚焦点或作为指引的小图标,一张图片都胜过千言万语。有时,告诉用户一个东西的最好办法就是将它展示给用户。但是,带宽对客户端或服务器来说都是非常宝贵的,
所以要注意节约使用内存。
相关测试内容包括:
保证图片有明确用途:是否所有的图片对所在的页面都是有价值的,或者它们只是浪费带宽;
图片的大小和质量:图片是否使用了 *.GIF,*.JPG的文件格式。是否能使图片的大小减小到
30k 以下;
所有图片能否正确载入和显示:通常,不要将大图片放在首页上,因为这样可能会使用户放弃下载首页。如果用户可以很快看到首页,他可能会浏览站点,否则可能放弃;
背景颜色是否和字体颜色以及前景颜色相搭。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
表格表格测试的相关内容:
需要验证表格是否设置正确;
用户是否需要向右滚动页面才能看见产品的价格?
把价格放在左边,而把产品细节放在右边是否更有效?
每一栏的宽度是否足够宽,表格里的文字是否都有折行?
是否有因为某一格的内容太多,而将整行的内容拉长?
表格测试用例示例如表 9-8所示。
回绕需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。
另外,测试内容还包括测试页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)。表单样式、大小和格式是否对提交数据进行验证(如果在页面部分进行验证的话)等。链接的形式位置,是否易于理解等。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.19 查看表格 表格=浏览器=
在选择的浏览器中,表格显示正确一致 /
不一致表 9-8 表格测试用例示例
9.5.4 可靠性测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.20 在网站购物的同时,打印当前页面 商品=
商品能够成功购买,选择的页面也能打印成功,系统速度正常、性能稳定一致 /
不一致
9.21 利用自动测试工具,每一分钟购买一次商品商品 1=
商品 2=
商品 3=
商品 4=
商品 5=
。。。
商品 n=
每件商品都能成功购买,系统速度正常、性能稳定一致 /
不一致可靠性测试很容易理解,下面如表 9-9所示,直接给出测试示例。
表 9-9 可靠性测试用例示例测试用例号 操作描述 数据 期望结果实际结果
9.22 5个用户一起登录网站,并同时购买同一个商品用户 1=
用户 2=
用户 3=
用户 4=
用户 5=
5个用户都能在同一时间将相同的商品放在各自的购物车中一致 /
不一致
(续表)
9.6 配置和兼容性测试第九章 WEB网站测试需要验证应用程序可以在用户使用的机器上运行。如果用户是全球范围的,需要测试各种操作系统、浏览器、视频设置和 Modem的速度。最后,还要尝试各种设置的组合。
1.平台测试市场上有很多不同的操作系统类型,最常见的有 Windows,Unix,Linux等。 Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。
因此,在 Web系统发布之前,需要在各种操作系统下对 Web系统进行兼容性测试。
2.浏览器测试浏览器是 Web客户端核心的构件,需要测试站点能否使用 Netscape,Internet Explorer 或 Lynx
进行浏览。来自不同厂商的浏览器对 Java,,JavaScript,ActiveX或不同的 HTML规格有不同的支持。并且有些 HTML 命令或脚本只能在某些特定的浏览器上运行。
例如,ActiveX是 Microsoft的产品,是为 Internet Explorer而设计的,JavaScript是 Netscape的产品,Java是 Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示
,甚至根本不显示。不同的浏览器对安全性和 Java的设置也不一样。
测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
大多数 Web浏览器允许大量自定义。如图 9-8所示,可以在选择安全性选项、选择文字标签的处理方式、选择是否启用插件等。不同的选择项对于网站的运行有各自不同的影响,因此测试时每个选项都要考虑。
浏览器环境和测试平台的兼容性如表 9-10所示。在不同的平台和浏览器组合中执行相同的测试用例,在执行后核对结果。
9.6 配置和兼容性测试第九章 WEB网站测试浏览器平台
Netscape
Communicatior
4.5
Netscape
Communicatior
4.7
Internet
Explorer
4.01
Internet
Explorer
5.0
。。。
Windows
98
Windows
2000
Windows
NT
Windows
XP
Windows
NE
Linux - -
Unix
iMac
Mac OS X
。。。
表 9-10 浏览器兼容表第九章 WEB网站测试
4.打印机测试用户可能会将网页打印下来。因此网页在设计的时候要考虑到打印问题,注意节约纸张和油墨。有不少用户喜欢阅读而不是盯着屏幕,因此需要验证网页打印是否正常。有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。测试人员至少需要验证订单确认页面打印是正常的。
5.组合测试最后需要进行组合测试。 600x800 的分辨率在 MAC 机上可能不错,但是在
IBM 兼容机上却很难看。在 IBM 机器上使用 Netscape 能正常显示,但却无法使用 Lynx 来浏览。
如果是内部使用的 web 站点,测试可能会轻松一些。如果公司指定使用某个类型的浏览器,那么只需在该浏览器上进行测试。如果所有的人都使用 T1 专线
,可能不需要测试下载施加。 (但需要注意的是,可能会有员工从家里拨号进入系统 ) 有些内部应用程序,开发部门可能在系统需求中声明不支持某些系统而只支持一些那些已设置的系统。但是,理想的情况是,系统能在所有机器上运行,
这样就不会限制将来的发展和变动。
可以根据实际情况,采取等价划分的方法,列出兼容性矩阵。
9.6 配置和兼容性测试第九章 WEB网站测试
9.6 配置和兼容性测试测试用例号 操作描述 数据 期望结果 实际结果
9.23 将网站加入到收藏夹中,会话结束时再次调用 Web页面= 网站正常打开和运行 一致 /不一致
9.24 打开某个站点的多个会话 Web页面= 每个会话都是可用的 一致 /不一致
9.25 使用浏览器的打印功能 Web页面= 选择的页面能够正常打印 一致 /不一致
9.26 创建一个 Web页面的快捷键,在结束会话后点击该快捷键 Web页面= 网站正常打开和运行 一致 /不一致表 9-11 兼容性测试用例示例
6.兼容性测试用例如表 9-11所示。
9.7 数据库测试第九章 WEB网站测试在 Web应用技术中,数据库具有非常重要的作用,数据库为 Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。
在 Web应用中,最常用的数据库类型是关系型数据库,可以使用 SQL
对信息进行处理。
数据库测试是 Web网站测试的一个基本组成部分。网站把相关的数据和信息存储在数据库中,从而提高搜索效率。很多站点把用户的输入数据也存放在数据库中。
对于测试人员,要真正了解后台数据库的内部结构和设计概念,制定详细的数据库测试计划,至少能在程序的某个流程点上并发地查询数据库。
图 9-8 Internet Explorer 浏览器的可配置性
9.7 数据库测试第九章 WEB网站测试
9.7 数据库测试第九章 WEB网站测试
1.数据库测试的主要因素数据库测试的主要因素有:数据完整性、数据有效性和数据操作和更新。
数据的完整性测试的重点是检测数据损坏程度。开始时,损坏的数据很少,但随着时间的推移和数据处理次数的增多,问题会越来越严重。设定适当的检查点可以减轻数据损坏的程度。比如,检查事务日志以便及时掌握数据库的变化情况。
数据有效性数据有效性能确保信息的正确性,使得前台用户和数据库之间传送的数据是准确的。在工作流上的变化点上检测数据库,跟踪变化的数据库,判断其正确性。
数据操作和更新根据数据库的特性,数据库管理员可以对数据进行各种不受限制的管理操作。具体包括:
增加记录;
删除记录;
更新某些特定的字段。
9.7 数据库测试第九章 WEB网站测试
2.数据库测试的相关问题除了上面的数据库测试因素,测试人员需要了解的相关问题有:
数据库的设计概念;
数据库的风险评估;
了解设计中的安全控制机制;
了解哪些特定用户对数据库有访问权限;
了解数据的维护更新和升级过程;
当多个用户同时访问数据库处理同一个问题,或者并发查询时,确保可操作性。
确保数据库操作能够有足够的空间处理全部数据,当超出空间和内存容量时能够启动系统扩展部分。
围绕上述的测试因素和测试的相关问题,就可以设计具体的数据库测试用例了。
9.7 数据库测试第九章 WEB网站测试
3.测试用例在学校的网站上,成绩查询系统是一个常见的 Web程序。学生可以通过浏览器页面访问 Web服务器,Web服务器再从数据库服务器上读取数据。
表 9-12是一个学生基础课成绩表的结构示例。这里定义了表的各项字段名、字段类型、及其含义。
表 9-13是对应的数据库测试用例示例。实际测试结果和期望结果是否一致要取决于数据库的性能高低。
9.7 数据库测试第九章 WEB网站测试字段名 字段类型 含义注释
S_No 整型 学号非空
S_Name 字符串类型 学生姓名非空
S_Dep 字符串类型 所在系
S_Class 字符串类型 所在班级
M_Score 数值型 数学成绩
E_Score 数值型 英语成绩
C_Score 数值型 计算机成绩表 9-12 学生成绩表的结构
9.7 数据库测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.27 指定学号来查询成绩 S_No= 输出该学号对应学生的所有成绩情况一致 /
不一致
9.28 指定一个有效且不重名的学生姓名来查询成绩 S_Name= 输出该学生的所有成绩情况一致 /
不一致
9.29 指定一个有效且重名的学生姓名来查询成绩 S_Name= 输出该学生的所有成绩情况一致 /
不一致
9.30 指定一个不存在的学生姓名来查询成绩 S_Name= 学生记录没有找到,建议重新输入一致 /
不一致
9.31 指定一个有效的学生姓名和所在班级组合条件来查询该学生的相关成绩
S_Name=
S_Class=
输出该学生的所有成绩情况一致 /
不一致
9.32 指定一个有效的学生姓名和一个不存在的班级来查询该学生的相关成绩
S_Name=
S_Class=
系别没有找到,但列出该学生的所有成绩情况一致 /
不一致
9.33 指定一个有效的学生姓名和所在系别组合条件来查询该学生的相关成绩
S_Name=
S_Dep=
输出该学生的所有成绩情况一致 /
不一致
9.34 指定一个有效的学生姓名和一个不存在的系别来查询该学生的相关成绩
S_Name=
S_Dep=
系别没有找到,但列出该学生的所有成绩情况一致 /
不一致
9.35
1,根据学号查询到该学生的英语成绩;
2,数据库管理员更改该学生的英语成绩;
3,根据学号再次查询该学生的英语成绩 。
S_No=
E_Score=
1,输出该学生英语成绩;
2,更新数据库;
3,给出该学生更新后的英语成绩 。
一致 /
不一致表 9-13 数据库测试用例示例
9.7 数据库测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.36
并发执行以下操作:
1,数据库管理员增加一名新同学的记录;
2,用户查询这名新同学的相关信息 。
S_No=
S_Name=
S_Dep=
S_Class=
M_Score=
E_Score=
C_Score=
查询结果可能给出不完整的相关信息,
比如有空的字段 。
一致 /
不一致
9.37 N个用户同时执行相同的查询操作
(要查询的 )字段名
=
用户数=
在可以接受的响应时间内,所有用户得到正确的显示结果 。
一致 /
不一致
(续表 )
习题第九章 WEB网站测试
1,简述 Web网站的测试内容。
2,功能测试包括哪些方面?
3,负载 /压力测试的作用。
4,概括安全性测试中的登录测试内容。
5,简述兼容性测试。
9.1 Web网站的测试
9.2 功能测试
9.3 性能测试
9.4 安全性测试
9.5 可用性 /可靠性测试
9.6 配置和兼容性测试
9.7 数据库测试习题本章概要第九章 WEB网站测试针对 Web网站这一特定类型软件的测试,包含了许多测试技术,如功能测试、压力 /负载测试、配置测试、兼容性测试、安全性测试等。黑盒测试、白盒测试、静态测试和动态测试都有可能被采用。
9.1 WEB网站的测试第九章 WEB网站测试随着互联网的快速发展和广泛应用,Web网站已经应用到政府机构、
企业公司、财经证券、教育娱乐等各个方面,对我们的工作和生活产生了深远的影响。正因为 Web能够提供各种信息的连接和发布,并且内容易于被终端用户存取,使得其非常流行、无所不在。现在,许多传统的信息和数据库系统正在被移植到互联网上,复杂的分布式应用也正在 Web环境中出现。
基于 Web网站的测试是一项重要、复杂并且富有难度的工作。 Web
测试相对于非 Web 测试来说是更具挑战性的工作,用户对 Web 页面质量有很高的期望。基于 Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计所要求的项目正常运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。另外,还要从最终用户的角度进行安全性和可用性测试。然而,因特网和 Web网站的不可预见性使测试基于 Web的系统变得困难。因此,我们需要研究基于
Web网站的测试方法和技术。
针对 Web的测试方法应该尽量覆盖 Web网站的各个方面,测试技术方面在继承传统测试技术的基础上要结合 Web应用的特点。
基于 Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于 Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。更需要从最终用户的角度进行安全性和可用性测试。
9.1 WEB网站的测试第九章 WEB网站测试
9.1 WEB网站的测试第九章 WEB网站测试通常 Web网站测试的内容包含以下方面:
功能测试;
性能测试;
安全性测试;
可用性 /易用性测试;
配置和兼容性测试;
数据库测试;
代码合法性测试;
完成测试。
9.1 WEB网站的测试第九章 WEB网站测试实际上,实际的 Web网页各种各样,针对具体情况选用不同的测试方法和技术。例如,图 9-1是一个典型的 Web网页,具有各种可测试特性。而图 9-2是一个简单的网站首页,界面直观,仅由简单的文字、图片和链接组成,测试起来并不困难。
本章将从功能测试、性能测试、安全性测试、可用性 /易用性测试、
配置和兼容性测试、数据库测试、代码合法性测试和完成测试几个方面讨论了基于 Web的系统测试方法。
9.1 WEB网站的测试第九章 WEB网站测试图 9-1一个典型的 Web网页图 9-2 一个简单的 Web网页
9.1 WEB网站的测试第九章 WEB网站测试
9.2.1 页面内容测试
9.2.2页面链接测试
9.2.3 表单测试
9.2.4 Cookies测试
9.2.5 设计语言测试
9.2.6 功能测试用例
9.2 功能测试第九章 WEB网站测试
9.2 功能测试第九章 WEB网站测试功能测试是测试中的重点,在实际的测试工作中,功能在每一个系统中的具有不确定性,而我们不可能采用穷举的方法进行测试。测试工作的重心在于 Web 站点的功能是否符合需求分析的各项要求。
对于网站的测试而言,每一个独立的功能模块都需要设计相应的测试用例进行测试。功能测试的主要依据为,需求规格说明书,及,详细设计说明书,。对于应用程序模块则要采用基本路径测试法的测试用例进行测试。
功能测试主要包括以下几个方面的内容:
内容测试
链接测试
表单测试
Cookies测试
设计语言测试
9.2 功能测试第九章 WEB网站测试
9.2.1 页面内容测试第九章 WEB网站测试内容测试用来检测 Web应用系统提供信息的正确性、准确性和相关性。
正确性信息的正确性是指信息是真实可靠的还是胡乱编造的。例如,一条虚假的新闻报道可能引起不良的社会影响,甚至会让公司陷入麻烦之中,也可能惹上法律方面的问题。
准确性信息的准确性是指网页文字表述是否符合语法逻辑或者是否有拼写错误。
在 Web应用系统开发的过程中,开发人员可能不是特别注重文字表达,有时文字的改动只是为了页面布局的美观。可怕的式,这种现象恰恰会产生严重的误解。因此测试人员需要检查页面内容的文字表达是否恰当。这种测试通常使用一些文字处理软件来进行,例如使用 Microsoft Word的“拼音与语法检查”功能。但仅仅利用软件进行自动测试是不够的,还需要人工测试文本内容。
另外,测试人员应该保证 Web站点看起来更专业些。过分地使用粗斜体、
大号字体和下划线可能会让人感到不舒服,一篇到处是大字体的文章会降低用户的阅读兴趣。
9.2.1 页面内容测试第九章 WEB网站测试
相关性信息的相关性是指能否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般 Web站点中所谓的“相关文章列表”。
测试人员需要确定是否列出了相关内容的站点链接。如果用户无法点击这些地址,他们可能会觉得很迷惑。
页面文本测试还应该包括文字标签,它为网页上的图片提供特征描述。图 9-3给出一个文字标签的例子。当用户把鼠标移动到网页的某些图片时,就会立即弹出关于图片的说明性语言。
大多数浏览器都支持文字标签的显示,借助文字标签,用户可以很容易地了解图片的语义信息。进行页面内容测试时,如果整个页面充满图片,却没有任何文字标签说明,那么会影响用户的浏览效果。
9.2.1 页面内容测试第九章 WEB网站测试文本标签图 9-3 网页中的文字标签网上店面是现在非常流行的 Web网站,这里设定一个网上小百货商店作为例子,并为其设计测试用例。
网上商店有多种商品类别供用户选择,用户选中商品后放入购物车。当选完商品,应用程序自动生成结帐单,用户就可以进行网上支付、购买商品了。
本章除了数据库测试用例外,其他测试用例都是以网上商店为实例设计的,在下面的各小节中不再重复说明。
9.2.1 页面内容测试第九章 WEB网站测试
9.2.1 页面内容测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.1 搜索某种类别的商品 搜索类别= 搜索结果中列出该类别的所有商品 一致 /不一致
9.2 让鼠标滑过每一个对象 受测对象=
当鼠标滑过每一个对象时,显示相应的文本信息一致 /
不一致表 9-1 页面内容测试用例示例页面内容测试用例如表 9-1所示。
9.2.2 页面链接测试第九章 WEB网站测试链接是使用户可以从一个页面浏览到另一个页面的主要手段,是
Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试需要验证三个方面的问题:
( 1)用户点击链接是否可以顺利地打开所要浏览的内容,即链接是否按照指示的那样确实链接到了要链接的页面。
( 2)所要链接的页面是否存在。实际上,好多不规范的小型站点
,其内部链接都是空的,这让浏览者感觉很不好。
( 3)保证 Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的 URL地址才能访问。
9.2.2 页面链接测试第九章 WEB网站测试超级链接对于网站用户而言意味着能不能流畅的使用整个网站提供的服务,因而链接将作为一个独立的项目进行测试。另外,链接测试必须在集成测试阶段完成,也就是说,在整个 Web应用系统的所有页面开发完成之后进行链接测试。
目前链接测试采用自动检测网站链接的软件来进行,已经有许多自动测试工具可以采用。如 Xenu Link Sleuth,主要测试链接的正确性
,但是对于动态生成的页面的测试会出现一些错误。
页面测试链接和界面测试中的连接不同,前者注重功能,后者更注重连接方式和位置。页面测试链接更注重是否有链接,链接的页面是否是说明的位置等。
第九章 WEB网站测试
9.2.3 表单测试当用户给 Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、
信息提交等。表单测试主要是模拟表单提交过程,检测其准确性,确保每一个字段在工作中正确。
表单测试主要考虑以下几个方面内容:
表单提交应当模拟用户提交,验证是否完成功能,如注册信息。当用户通过表单提交信息的时候,都希望表单能正常工作。如果使用表单来进行在线注册,要确保提交按钮能正常工作,注册完成后应返回注册成功的消息。
要测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:个人信息表中
,用户填写的出生日期与职称是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
使用表单收集配送信息时,应确保程序能够正确处理这些数据。要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。
要验证数据的正确性和异常情况的处理能力等,注意是否符合易用性要求。
在测试表单时,会涉及到数据校验问题。如果根据已定规则需要对用户输入进行校验,
需要保证这些校验功能正常工作。例如,省份的字段可以用一个有效列表进行校验。在这种情况下,需要验证列表完整而且程序正确调用了该列表 (例如在列表中添加一个测试值
,确定系统能够接受这个测试值 )。
第九章 WEB网站测试
9.2.3 表单测试提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。
图 9-4则是一个比较复杂的表单例子,用户填写个人信息,提交后可以申请 YAHOO的免费信箱。
第九章 WEB网站测试
9.2.3 表单测试测试用例号 操作描述 数据 期望结果 实际结果
9.3 使用 TAB键从一个字段区跳到下一个字段区 开始字段区= 字段按正确的顺序移动 一致 /不一致
9.4 输入字段所能接受的最长的字符串 字段名=
字符串=
字段区能够接受输入一致 /
不一致测试用例号 操作描述 数据 期望结果 实际结果
9.5 输入超出字段所能接受的最大长度的字符串 字段名=字符串= 字段区拒绝接受输入的字符 一致 /不一致
9.6 在某个可选字段区中不填写内容,提交表单 字段名=
在用户正确填写其他字段区 的前提 下,
Web程序接受表单一致 /
不一致
9.7 在一个必填字段区中不填写内容,提交表单 字段名=
表单页面弹出信息,
要求用户必须填写必填字段区的信息一致 /
不一致
(续表)表 9-2 表单测试用例示例表单测试用例如表 9-2所示。
9.2.4 COOKIES测试第九章 WEB网站测试
Cookies通常用来存储用户信息和用户在某个应用系统的操作,当一个用户使用 Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以 Cookies的形式存储在客户端计算机上,
这可用来创建动态和自定义页面或者存储登陆等信息。关于 cookie的使用可以参考浏览器的帮助信息。如果使用 B/S结构 cookies中存放的信息更多。
如果 Web应用系统使用了 Cookies,测试人员需要对它们进行检测
。测试的内容可包括 Cookies是否起作用,是否按预定的时间进行保存,刷新对 Cookies有什么影响等。如果在 cookies 中保存了注册信息
,请确认该 cookie能够正常工作而且已对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。
Cookies测试用例示例如表 9-3所示。
测试用例号 操作描述 数据 期望结果实际结果
9.8 测试 Cookies打开和关闭状态 Web网页=
Cookies在打开时是否起作用一致 /
不一致表 9-3 Cookies测试用例示例
9.2.4 COOKIES测试第九章 WEB网站测试
9.2.5 设计语言测试第九章 WEB网站测试
Web设计语言版本的差异可以引起客户端或服务器端的一些严重问题,例如使用哪种版本的 HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了 HTML的版本问题外,不同的脚本语言,例如 Java,JavaScript,ActiveX、
VBScript或 Perl等也要进行验证。
9.2.6 功能测试用例第九章 WEB网站测试图 9-4 表单示例
9.2.6 功能测试用例第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.9
1,进入商品目录列表所在的页面
2,选择若干商品并将它们添加到购物车中
3,查看购物车添加的商品=
购物车=
页面=
购物车中列出所有选择的商品一致 /
不一致
9.10
1,通过搜索,选择不同网页中的商品,添加到购物车中
2,查看购物车添加的商品=
购物车=
搜索的关键词=
页面=
购物车中列出所有选择的商品一致 /
不一致
9.11 选择商品但没有放到购物车中 添加的商品= 购物车= 购物车中没有所选中的商品 一致 /不一致
9.12
1,选择一些商品并把它们放到购物车中
2,不查看购物车
3,转到结帐处添加的商品=
购物车=
结帐单=
放到购物车中的商品在结帐单中显示一致 /
不一致
9.13
1,选择一些商品并把它们放到购物车中
2,把其中一件商品从购物车中取走添加的商品=
取出的商品=
购物车=
购物车中的商品随时更新以反映商品的添加和取出一致 /
不一致表 9-4 功能测试用例示例
9.3.1负载测试
9.3.2压力测试
9.3.3连接速度测试
9.3 性能测试第九章 WEB网站测试
9.3 性能测试第九章 WEB网站测试网站的性能测试对于网站的运行而言非常重要,目前多数测试人员都很重视对于网站的性能测试。
网站的性能测试主要从三个方面进行:负载测试、压力测试和连接速度测试。
负载测试指的是进行一些边界数据的测试,压力测试更像是恶意测试,压力测试倾向应该是致使整个系统崩溃。连接速度测试指的是打开网页的响应速度测试。
9.3.1 负载测试第九章 WEB网站测试测试需要验证 Web系统能否在同一时间响应大量的用户,在用户传送大量数据的时候能否响应,系统能否长时间运行。可访问性对用户来说是极其重要的。如果用户得到,系统忙,的信息,他们可能放弃,并转向竞争对手。这样就需要进行负载测试。
负载测试是为了测量 Web系统在某一负载级别上的性能,以保证 Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问 Web系统的用户数量,也可以是在线数据处理的数量。
负载测试包括的问题有,Web应用系统能允许多少个用户同时在线;如果超过了这个数量,会出现什么现象; Web应用系统能否处理大量用户对同一个页面的请求
。
负载测试的作用是在软件产品投向市场以前,通过执行可重复的负载测试,预先分析软件可以承受的并发用户的数量极限和性能极限,以便更好地优化软件。
负载测试应该安排在 Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个 Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在 Internet上,接受负载测试,其结果才是正确可信的。
Web负载测试一般使用自动化工具来进行。
9.3.2 压力测试第九章 WEB网站测试系统检测不仅要使用户能够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。出于安全的原因,测试人员应该知道当系统过载时,需要采取哪些措施,而不是简单地提升系统性能。这就需要进行压力测试。
进行压力测试是指实际破坏一个 Web应用系统,测试系统的反映。
压力测试是测试系统的限制和故障恢复能力,也就是测试 Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载
,通过发送大量数据包来攻击服务器,直到 Web应用系统崩溃,接着当系统重新启动时获得存取权。无论是利用预先写好的工具,还是创建一个完全专用的压力系统,压力测试都是用于查找 Web 服务 (或其他任何程序 )问题的本质方法。
压力测试的区域包括表单、登陆和其他信息传输页面等。
9.3.2 压力测试第九章 WEB网站测试负载 /压力测试应该关注的问题如下:
1.瞬间访问高峰例如电视台的 Web站点,如果某个收视率极高的电视选秀节目正在直播并进行网上投票
,那么最好使系统在直播的这段时间内能够响应上百万上千万的请求。负载测试工具能够模拟 X个用户同时访问测试站点。
2.每个用户传送大量数据例如网上购物过程中,一个终端用户一次性购买大量的商品。或者节日里,一个客户网上派送大量礼物给不同的终端用户等。系统都要有足够能力能处理单个用户的大量数据
。
3.长时间的使用
Web站点提供基于 Web 的 Email 服务具有长期性,其对应的测试就属于长期性能测试
,可能需要使用自动测试工具来完成这种类型的测试,因为很难通过手工完成这些测试。
你可以想象组织 100个人同时点击某个站点。但是同时组织 100000 个人就很不现实。通常,测试工具在第二次使用的时候,它创造的效益,就足以支付成本。而且,测试工具安装完成之后,再次使用的时候,只要点击几下。
负载 /压力测试需要利用一些辅助工具对 Web网站进行模拟测试。例如,模拟大的客户访问量,记录页面执行效率,从而检测整个系统的处理能力。目前常用的负载 /压力测试工具有 WinRunner,LoadRunner,Webload等,运用它们可进行自动化测试。
9.3.3 连接速度测试第九章 WEB网站测试连接速度测试是对打开网页的响应速度测试。
用户连接到 Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果 Web系统响应时间太长(例如超过 10秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
9.3.3 连接速度测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.14
1.提交一个完整的购买表单
2.记录接收到购买确认的响应时间
3.重复上述操作 5次购买的商品=
记录最小、最大和平均响应时间,
同时满足系统的性能要求一致 /
不一致
9.15
1.查找一件商品
2.记录查找的响应时间
3.重复上述操作 5次查询=
记录最小、最大和平均响应时间,
同时满足系统的性能要求一致 /
不一致连接速度测试用例如表 9-5所示。
表 9-5 连接速度测试用例示例
9.4 安全性测试第九章 WEB网站测试随着 Internet的广泛使用,网上交费、电子银行等深入到了人们的生活中。所以网络安全问题就日益重要,特别对于有交互信息的网站及进行电子商务活动的网站尤其重要。站点涉及银行信用卡支付问题,
用户资料信息保密问题等。 Web页面随时会传输这些重要信息,所以一定要确保安全性。一旦用户信息被黑客捕获泄露,客户在进行交易时,就不会有安全感,甚至后果严重。
1,目录设置
Web 安全的第一步就是正确设置目录。目录安全是 Web安全性测试中不可忽略的问题。如果 Web程序或 Web服务器的处理不当,通过简单的 URL替换和推测,会将整个 Web目录暴露给用户,这样会造成 Web的安全性隐患。每个目录下应该有 index.html 或 main.html 页面,
或者严格设置 Web服务器的目录访问权限,这样就不会显示该目录下的所有内容,从而提高安全性。
9.4 安全性测试第九章 WEB网站测试
2,SSL
很多站点使用 SSL( Security Socket Layer)安全协议进行传送。
SSL表示安全套接字协议层,是由 Netscape首先发表的网络数据安全传输协议。 SSL是利用公开密钥 /私有密钥的加密技术,在位于 HTTP层和
TCP层之间,建立用户和服务器之间的加密通信,从而确保所传送信息的安全性。
任何用户都可以获得公共密钥来加密数据,但解密数据必须通过对应的私人密钥。 SSL是工作在公共密钥和私人密钥基础上的。
当用户进入到一个 SSL 站点是因为浏览器出现了警告消息,而且在地址栏中的 HTTP 变成 HTTPS。如果开发部门使用了 SSL,测试人员需要确定是否有相应的替代页面,适用于 3.0 以下版本的浏览器,这些浏览器不支持 SSL。当用户进入或离开安全站点的时候,请确认有相应的提示信息。做 SSL测试时,需要确认是否有连接时间限制,超过限制时间后会出现什么情况等。
9.4 安全性测试第九章 WEB网站测试
3,登录如图 9-5所示,很多站点都需要用户先注册后登录使用,从而校验用户名和匹配的密码,以验证他们的身份,阻止非法用户登录。这样对用户是方便的,他们不需要每次都输入个人资料。
9.4 安全性测试第九章 WEB网站测试图 9-5 用户登录设置
9.4 安全性测试第九章 WEB网站测试测试人员需要验证系统阻止非法的用户名 /口令登录,而能够通过有效登录。主要的测试内容有:
用户名和输入密码是否大小写敏感;
测试有效和无效的用户名和密码;
测试用户登录是否有次数限制,是否限制从某些 IP 地址登录;
假设允许登录失败的次数为 3次,那么在用户第三次登录的时候输入正确的用户名和口令,是否能通过验证;
口令选择是否有规则限制;
哪些网页和文件需要登录才能访问和下载;
是否可以不登录而直接浏览某个页面;
要测试 Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如 15分钟)没有点击任何页面,是否需要重新登陆才能正常使用
。
另外,许多站点在登录邮箱时,也会有安全性提示。这里以 YAHOO为例,
图 9-6是点击 YAHOO的信箱图标时弹出的对话框,提示用户网页通过安全链接。这样用户就会安心地登录邮箱。
9.4 安全性测试第九章 WEB网站测试
4,日志文件为了保证 Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
在后台,要注意验证服务器日志工作正常。主要的测试内容有:
日志是否记录所有的事务处理;
CPU的占有率是否很高;
是否有例外的进程占用;
是否记录失败的注册企图;
是否记录被盗信用卡的使用;
是否在每次事务完成的时候都进行保存;
是否记录 IP 地址;
是否记录用户名等。
9.4 安全性测试第九章 WEB网站测试
5,脚本语言脚本语言是常见的安全隐患。每种语言的细节有所不同。有些脚本允许访问根目录,其他脚本只允许访问邮件服务器。但是有经验的黑客可以利用这些缺陷,将服务器用户名和口令发送给他们自己,从而攻击和使用服务器系统。
测试人员需要找出站点使用了哪些脚本语言,并研究该语言的缺陷
。
服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。
所以,还需要检验没有经过授权,就不能在服务器端放置和编辑脚本的问题。最好的办法是订阅一个讨论站点使用的脚本语言安全性的新闻组。
9.4 安全性测试第九章 WEB网站测试图 9-6 安全连接提示
6,加密当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
9.5.1 导航测试
9.5.2 Web图形测试
9.5.3 图形用户界面( GUI)测试
9.5.4 可靠性测试
9.5 可用性 /可靠性测试第九章 WEB网站测试
9.5 可用性 /可靠性测试第九章 WEB网站测试可用性 /可靠性方面一般采用手工测试的方法进行评判,可用性测试内容包括导航测试,Web图形测试和图形用户界面测试等。
9.5.1 导航测试导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。
主要测试目的是检测一个 Web应用系统是否易于导航,具体内容包括:
导航是否直观;
Web系统的主要部分是否可通过主页存取;
Web系统是否需要站点地图、搜索引擎或其他的导航帮助。
在一个页面上放太多的信息往往起到与预期相反的效果。 Web应用系统的用户趋向于目的驱动,很快地扫描一个 Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉 Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。
导航的另一个重要方面是 Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道 Web应用系统里面是否还有内容,内容在什么地方。
Web应用系统的层次一旦决定,就要着手测试用户导航功能,应该让最终用户参与这种测试,提高测试质量。
导航测试实例如表 9-6所示。
第九章 WEB网站测试
9.5.1 导航测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.16
1.执行一个搜索,至少搜索到 10项相关商品信息
2.以一件商品为单位向下滚动查询=
搜索结果有 10个或 10个以上的相关商品信息在没有到达搜索列表页面底部时,前面的商品列表滚动出屏幕,后面的商品不断从屏幕下方出现一致 /
不一致
9.17
1.执行一个搜索,至少搜索到 5个页面的输出
2.以页面为单位向下滚动查询=
搜索结果有 5个或
5个以上的相关页面在没有到达搜索列表的底部时,当前的屏幕内容向上滚动一屏,下一屏出现一致 /
不一致表 9-6 导航条测试用例示例如图 9-7所示,网页无法载入图片时,就会在其显示位置上显示错误提示信息
。 Web图形测试用例如表 9-7所示 。
9.5.1 导航测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果实际结果
9.18 查看图形 /图像 页面=浏览器=
在选择的浏览器中,图形 /图像显示正确一致 /
不一致表 9-7 Web图形测试用例示例第九章 WEB网站测试
9.5.1 导航测试图 9-7 网页无法载入图片的提示信息
9.5.2 WEB图形测试第九章 WEB网站测试在 Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个 Web应用系统的图形可以包括图片、动画、边框、颜色、字体、
背景、按钮等。图形测试的内容有:
( 1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。 Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
( 2)验证所有页面字体的风格是否一致。
( 3)背景颜色应该与字体颜色和前景颜色相搭配。
通常来说,使用少许或尽量不使用背景是个不错的选择。如果您想用背景,那么最好使用单色的,和导航条一起放在页面的左边。另外,图案和图片可能会转移用户的注意力。
( 4)图片的大小和质量也是一个很重要的因素,一般采用 JPG或 GIF压缩,最好能使图片的大小减小到 30k 以下。
( 5)验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。
( 6)图片能否正常加载,用来检测网页的输入性能好坏。如果网页中有太多图片或动画插件,就会导致传输和显示的数据量巨大、减慢网页的输入速度,有时会影响图片的加载。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
1.用户界面现在一般人都有使用浏览器浏览网页的经历,界面对不懂技术的用户来说非常重要,所以搞好界面测试也很关键。
(1) 整体界面测试整体界面是指整个 Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览 Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方。整个 Web应用系统的设计风格是否一致等。
对整体界面的测试过程,其实是一个对最终用户进行调查的过程
。一般 Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。因此测试需要外部人员参加,特别是终端用户的参与。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
(2)界面测试要素界面测试要素主要包括:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性
,一致性。
直观性直观性包含的问题有:
用户界面是否洁净、不奇怪、不拥挤,界面不应该为用户制造障碍。所需功能或者期待的响应应该明显,并在预期出现的地方。
界面组织和布局是否合理;
是否允许用户轻松地从一个功能转到另一个功能;
下一步做什么是否明显;
任何时刻都可以决定放弃或者退回、退出吗?
输入得到承认了吗?
菜单或者窗口是否深藏不露?
有多余功能吗?
软件整体抑或局部是否做得太多?
是否有太多特性把工作复杂化了?
是否感到信息太庞杂?
如果其他所有努力失败,帮助系统能否帮忙。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
一致性一致性包含的问题有:
快速键和菜单选项:在 Windows 中按 F1键总是得到帮助信息。
术语和命令:整个软件使用同样的术语吗?特性命名一致吗?
软件是否一直面向同一级别用户。
按钮位置和等价的按键:大家是否注意到对话框有 OK按钮和 Cancle按钮时,OK按钮总是在上方或者左方,而 Cancle按钮总是在下方或右方?同样原因,Cancle按钮的等价按键通常是 Esc,而选中按钮的等价按钮通常是 Enter
保持一致。
灵活性灵活性包含的问题有:
状态跳转:灵活的软件实现同一任务有多种选择方式。
状态终止和跳过,具有容错处理能力。
数据输入和输出:用户希望有多种方法输入数据和查看结果。例如,在写字板插入文字可用键盘输入、粘贴。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
舒适性舒适性包含的问题有:
恰当:软件外观和感觉应该与所做的工作和使用者相符。
错误处理:程序应该在用户执行严重错误的操作之前提出警告,并允许用户恢复由于错误操作导致丢失的数据。如大家认为 undo /redo是当然的。
性能:速度快不见得是好事。要让用户看清程序在做什么。
(3)界面测试内容用户界面测试主要包括以下几个方面的内容:
站点地图和导航条测试站点地图和导航条位置是否合理、是否可以导航等。内容布局是否合理,滚动条等简介说明。
确认测试的站点是否有地图。有些网络高手可以直接去自己要去的地方,而不必点击一大堆页面。另外新用户在网站中可能会迷失方向。站点地图和 /或导航条可以引导用户进行浏览
。需要验证站点地图是否正确。确认地图上的链接是否确实存。地图有没有包括站点上的所有链接。
使用说明说明文字是否合理,位置是否正确。
应该确认站点有使用说明。即使认为网站很简单,也可能有人在某些方面需要证实一下。
测试人员需要测试说明文档,验证说明是正确的。还可以根据说明进行操作,确认出现预期的结果。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
背景 / 颜色背景 /颜色是否正确、美观,是否符合用户需求。
由于 Web 日益流行,很多人把它看作图形设计作品。不幸的是,有些开发人员对新的背景颜色更感兴趣,以至于忽略了这种背景颜色是否易于浏览。例如在紫色图片的背景上显示黄色的文本。这种页面显得“非常高贵”,但是看起来很费劲。通常来说,使用少许或尽量不使用背景是个不错的选择。如果想用背景,那么最好使用单色的,和导航条一起放在页面的左边。
另外,图案和图片可能会转移用户的注意力。
图片无论作为屏幕的聚焦点或作为指引的小图标,一张图片都胜过千言万语。有时,告诉用户一个东西的最好办法就是将它展示给用户。但是,带宽对客户端或服务器来说都是非常宝贵的,
所以要注意节约使用内存。
相关测试内容包括:
保证图片有明确用途:是否所有的图片对所在的页面都是有价值的,或者它们只是浪费带宽;
图片的大小和质量:图片是否使用了 *.GIF,*.JPG的文件格式。是否能使图片的大小减小到
30k 以下;
所有图片能否正确载入和显示:通常,不要将大图片放在首页上,因为这样可能会使用户放弃下载首页。如果用户可以很快看到首页,他可能会浏览站点,否则可能放弃;
背景颜色是否和字体颜色以及前景颜色相搭。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试
表格表格测试的相关内容:
需要验证表格是否设置正确;
用户是否需要向右滚动页面才能看见产品的价格?
把价格放在左边,而把产品细节放在右边是否更有效?
每一栏的宽度是否足够宽,表格里的文字是否都有折行?
是否有因为某一格的内容太多,而将整行的内容拉长?
表格测试用例示例如表 9-8所示。
回绕需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。
另外,测试内容还包括测试页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)。表单样式、大小和格式是否对提交数据进行验证(如果在页面部分进行验证的话)等。链接的形式位置,是否易于理解等。
9.5.3 图形用户界面( GUI)测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.19 查看表格 表格=浏览器=
在选择的浏览器中,表格显示正确一致 /
不一致表 9-8 表格测试用例示例
9.5.4 可靠性测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.20 在网站购物的同时,打印当前页面 商品=
商品能够成功购买,选择的页面也能打印成功,系统速度正常、性能稳定一致 /
不一致
9.21 利用自动测试工具,每一分钟购买一次商品商品 1=
商品 2=
商品 3=
商品 4=
商品 5=
。。。
商品 n=
每件商品都能成功购买,系统速度正常、性能稳定一致 /
不一致可靠性测试很容易理解,下面如表 9-9所示,直接给出测试示例。
表 9-9 可靠性测试用例示例测试用例号 操作描述 数据 期望结果实际结果
9.22 5个用户一起登录网站,并同时购买同一个商品用户 1=
用户 2=
用户 3=
用户 4=
用户 5=
5个用户都能在同一时间将相同的商品放在各自的购物车中一致 /
不一致
(续表)
9.6 配置和兼容性测试第九章 WEB网站测试需要验证应用程序可以在用户使用的机器上运行。如果用户是全球范围的,需要测试各种操作系统、浏览器、视频设置和 Modem的速度。最后,还要尝试各种设置的组合。
1.平台测试市场上有很多不同的操作系统类型,最常见的有 Windows,Unix,Linux等。 Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。
因此,在 Web系统发布之前,需要在各种操作系统下对 Web系统进行兼容性测试。
2.浏览器测试浏览器是 Web客户端核心的构件,需要测试站点能否使用 Netscape,Internet Explorer 或 Lynx
进行浏览。来自不同厂商的浏览器对 Java,,JavaScript,ActiveX或不同的 HTML规格有不同的支持。并且有些 HTML 命令或脚本只能在某些特定的浏览器上运行。
例如,ActiveX是 Microsoft的产品,是为 Internet Explorer而设计的,JavaScript是 Netscape的产品,Java是 Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示
,甚至根本不显示。不同的浏览器对安全性和 Java的设置也不一样。
测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
大多数 Web浏览器允许大量自定义。如图 9-8所示,可以在选择安全性选项、选择文字标签的处理方式、选择是否启用插件等。不同的选择项对于网站的运行有各自不同的影响,因此测试时每个选项都要考虑。
浏览器环境和测试平台的兼容性如表 9-10所示。在不同的平台和浏览器组合中执行相同的测试用例,在执行后核对结果。
9.6 配置和兼容性测试第九章 WEB网站测试浏览器平台
Netscape
Communicatior
4.5
Netscape
Communicatior
4.7
Internet
Explorer
4.01
Internet
Explorer
5.0
。。。
Windows
98
Windows
2000
Windows
NT
Windows
XP
Windows
NE
Linux - -
Unix
iMac
Mac OS X
。。。
表 9-10 浏览器兼容表第九章 WEB网站测试
4.打印机测试用户可能会将网页打印下来。因此网页在设计的时候要考虑到打印问题,注意节约纸张和油墨。有不少用户喜欢阅读而不是盯着屏幕,因此需要验证网页打印是否正常。有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。测试人员至少需要验证订单确认页面打印是正常的。
5.组合测试最后需要进行组合测试。 600x800 的分辨率在 MAC 机上可能不错,但是在
IBM 兼容机上却很难看。在 IBM 机器上使用 Netscape 能正常显示,但却无法使用 Lynx 来浏览。
如果是内部使用的 web 站点,测试可能会轻松一些。如果公司指定使用某个类型的浏览器,那么只需在该浏览器上进行测试。如果所有的人都使用 T1 专线
,可能不需要测试下载施加。 (但需要注意的是,可能会有员工从家里拨号进入系统 ) 有些内部应用程序,开发部门可能在系统需求中声明不支持某些系统而只支持一些那些已设置的系统。但是,理想的情况是,系统能在所有机器上运行,
这样就不会限制将来的发展和变动。
可以根据实际情况,采取等价划分的方法,列出兼容性矩阵。
9.6 配置和兼容性测试第九章 WEB网站测试
9.6 配置和兼容性测试测试用例号 操作描述 数据 期望结果 实际结果
9.23 将网站加入到收藏夹中,会话结束时再次调用 Web页面= 网站正常打开和运行 一致 /不一致
9.24 打开某个站点的多个会话 Web页面= 每个会话都是可用的 一致 /不一致
9.25 使用浏览器的打印功能 Web页面= 选择的页面能够正常打印 一致 /不一致
9.26 创建一个 Web页面的快捷键,在结束会话后点击该快捷键 Web页面= 网站正常打开和运行 一致 /不一致表 9-11 兼容性测试用例示例
6.兼容性测试用例如表 9-11所示。
9.7 数据库测试第九章 WEB网站测试在 Web应用技术中,数据库具有非常重要的作用,数据库为 Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。
在 Web应用中,最常用的数据库类型是关系型数据库,可以使用 SQL
对信息进行处理。
数据库测试是 Web网站测试的一个基本组成部分。网站把相关的数据和信息存储在数据库中,从而提高搜索效率。很多站点把用户的输入数据也存放在数据库中。
对于测试人员,要真正了解后台数据库的内部结构和设计概念,制定详细的数据库测试计划,至少能在程序的某个流程点上并发地查询数据库。
图 9-8 Internet Explorer 浏览器的可配置性
9.7 数据库测试第九章 WEB网站测试
9.7 数据库测试第九章 WEB网站测试
1.数据库测试的主要因素数据库测试的主要因素有:数据完整性、数据有效性和数据操作和更新。
数据的完整性测试的重点是检测数据损坏程度。开始时,损坏的数据很少,但随着时间的推移和数据处理次数的增多,问题会越来越严重。设定适当的检查点可以减轻数据损坏的程度。比如,检查事务日志以便及时掌握数据库的变化情况。
数据有效性数据有效性能确保信息的正确性,使得前台用户和数据库之间传送的数据是准确的。在工作流上的变化点上检测数据库,跟踪变化的数据库,判断其正确性。
数据操作和更新根据数据库的特性,数据库管理员可以对数据进行各种不受限制的管理操作。具体包括:
增加记录;
删除记录;
更新某些特定的字段。
9.7 数据库测试第九章 WEB网站测试
2.数据库测试的相关问题除了上面的数据库测试因素,测试人员需要了解的相关问题有:
数据库的设计概念;
数据库的风险评估;
了解设计中的安全控制机制;
了解哪些特定用户对数据库有访问权限;
了解数据的维护更新和升级过程;
当多个用户同时访问数据库处理同一个问题,或者并发查询时,确保可操作性。
确保数据库操作能够有足够的空间处理全部数据,当超出空间和内存容量时能够启动系统扩展部分。
围绕上述的测试因素和测试的相关问题,就可以设计具体的数据库测试用例了。
9.7 数据库测试第九章 WEB网站测试
3.测试用例在学校的网站上,成绩查询系统是一个常见的 Web程序。学生可以通过浏览器页面访问 Web服务器,Web服务器再从数据库服务器上读取数据。
表 9-12是一个学生基础课成绩表的结构示例。这里定义了表的各项字段名、字段类型、及其含义。
表 9-13是对应的数据库测试用例示例。实际测试结果和期望结果是否一致要取决于数据库的性能高低。
9.7 数据库测试第九章 WEB网站测试字段名 字段类型 含义注释
S_No 整型 学号非空
S_Name 字符串类型 学生姓名非空
S_Dep 字符串类型 所在系
S_Class 字符串类型 所在班级
M_Score 数值型 数学成绩
E_Score 数值型 英语成绩
C_Score 数值型 计算机成绩表 9-12 学生成绩表的结构
9.7 数据库测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.27 指定学号来查询成绩 S_No= 输出该学号对应学生的所有成绩情况一致 /
不一致
9.28 指定一个有效且不重名的学生姓名来查询成绩 S_Name= 输出该学生的所有成绩情况一致 /
不一致
9.29 指定一个有效且重名的学生姓名来查询成绩 S_Name= 输出该学生的所有成绩情况一致 /
不一致
9.30 指定一个不存在的学生姓名来查询成绩 S_Name= 学生记录没有找到,建议重新输入一致 /
不一致
9.31 指定一个有效的学生姓名和所在班级组合条件来查询该学生的相关成绩
S_Name=
S_Class=
输出该学生的所有成绩情况一致 /
不一致
9.32 指定一个有效的学生姓名和一个不存在的班级来查询该学生的相关成绩
S_Name=
S_Class=
系别没有找到,但列出该学生的所有成绩情况一致 /
不一致
9.33 指定一个有效的学生姓名和所在系别组合条件来查询该学生的相关成绩
S_Name=
S_Dep=
输出该学生的所有成绩情况一致 /
不一致
9.34 指定一个有效的学生姓名和一个不存在的系别来查询该学生的相关成绩
S_Name=
S_Dep=
系别没有找到,但列出该学生的所有成绩情况一致 /
不一致
9.35
1,根据学号查询到该学生的英语成绩;
2,数据库管理员更改该学生的英语成绩;
3,根据学号再次查询该学生的英语成绩 。
S_No=
E_Score=
1,输出该学生英语成绩;
2,更新数据库;
3,给出该学生更新后的英语成绩 。
一致 /
不一致表 9-13 数据库测试用例示例
9.7 数据库测试第九章 WEB网站测试测试用例号 操作描述 数据 期望结果 实际结果
9.36
并发执行以下操作:
1,数据库管理员增加一名新同学的记录;
2,用户查询这名新同学的相关信息 。
S_No=
S_Name=
S_Dep=
S_Class=
M_Score=
E_Score=
C_Score=
查询结果可能给出不完整的相关信息,
比如有空的字段 。
一致 /
不一致
9.37 N个用户同时执行相同的查询操作
(要查询的 )字段名
=
用户数=
在可以接受的响应时间内,所有用户得到正确的显示结果 。
一致 /
不一致
(续表 )
习题第九章 WEB网站测试
1,简述 Web网站的测试内容。
2,功能测试包括哪些方面?
3,负载 /压力测试的作用。
4,概括安全性测试中的登录测试内容。
5,简述兼容性测试。