Web页面测试

上传人:jiups****uk12 文档编号:39153663 上传时间:2018-05-12 格式:PDF 页数:20 大小:1.18MB
返回 下载 相关 举报
Web页面测试_第1页
第1页 / 共20页
Web页面测试_第2页
第2页 / 共20页
Web页面测试_第3页
第3页 / 共20页
Web页面测试_第4页
第4页 / 共20页
Web页面测试_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Web页面测试》由会员分享,可在线阅读,更多相关《Web页面测试(20页珍藏版)》请在金锄头文库上搜索。

1、 第8章 Web页面测试 随着 Internet 和 Intranet 的快速发展,Web 技术已经对工商业、医疗业、教育、政府、娱乐以及我们的生活产生了深远的影响。Web 平台能支持几乎所有媒体类型的信息发布,容易为最终用户存取,更多传统的信息和数据系统正在逐渐迁移到互联网上:电子商务正迅速增长,范围广泛、复杂的云应用和云计算也正在 Web 环境中出现。基于 Web 的系统在变得越来越复杂和强大的同时,Web 应用软件的缺陷危机也越来越严重。早在 1998 年Yogesh Deshpande 和 Steve Hansen 就提出了 Web 工程的概念。 Web 工程提倡使用一个过程和系统的方

2、法来开发高质量的基于 Web 的系统。在 Web 工程中,基于 Web 系统的测试、确认和验收是一项重要而富有挑战性的工作。 Web 环境具有浏览器平台不兼容、网络环境多样化、应用复杂化等诸多特性,所以,传统测试方法的某些方面不适用于网络测试。 Web 的自动化测试方法包含几个方面, 比如,测试脚本技术、人工测试过程自动化、验证自动化等等。在测试驱动开发模式中,测试已成为迭代开发过程中起推动作用的环节,但与此同时,大量的重复性的测试代码却造成了大量资源的浪费。 随着自动化测试技术的成熟和自动化测试工具的广泛应用,人们重新认识到了测试的价值:最优的质量成本,最高的质量保证。自动化测试的优势在软件

3、领域很明显的:减少了测试时间,使测试程序统一化,便于管理,节约了质量保证的成本,提高了测试运行的效率,改善了软件产品的质量。 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的。如果开发人员注重这方面的测试,那么验证应用程序是否易于使用就非常重要了。很多人认为这是测试中最不重要的部分,但是恰恰相反,界面对不懂技术的客户来说都是相当关键,特别是在简洁、美观、易用等方面。 方法上可以根据设计文档,如果够专业的话可以由专业美工人员,来确定整体风格,特别是页面风格。然后根据这个设计好的页面,生成静态的 HTML、CSS 等甚至生成几套不同的方案来讨论,或者交给客

4、户评审,最后形成统一风格的页面/框架。 页面测试的主要页面元素有: 页面元素的容错性列表(如输入框、时间列表或日历)。 页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选按钮、复选框、列表框、超链接、输入框等等)。 页面元素的容错性是否存在。 第部分 图形用户界面测试篇 252 页面元素的容错性是否正确。 页面元素的基本功能是否实现(如文字特效、动画特效、按钮、超链接)。 页面元素的外形、摆放位置(如按钮、列表框、复选框、输入框、超链接等)。 页面元素是否显示正确(主要针对文字、图形、签章)。 元素是否显示(元素是否存在)。 页面测试主要包括以下几个方面的内容: 站点地图

5、和导航条位置是否合理,是否可以导航等。 页面内容布局是否合理,文字是否准确、简洁,字体和字号是否符合多数读者习惯。 背景/色调是否合理、美观,是否符合多数用户审美要求。 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确),表单样式 大小、格式是否适宜。 是否对提交数据进行验证(如果在页面部分进行验证的话)等。 链接的形式、位置、是否易于理解等。 对 Web 应用的测试可以分为页内测试(IntraPageTest)和跨页测试(InterPageTest)两种。页内测试相当于单元测试,着重于测试单个页面的行为是否正确。根据模块化思想,在进行页面划分时,一般使每个页面具有单

6、一、具体的功能,可以直接表达用户的一个目标。本章我们主要考虑 Web 页内测试的主要方法。 人工走查:通过页面走查,浏览确定使用的页面是否符合需求。可以结合兼容性测试不同分辨率下的页面显示效果,如果有影响,则应该交给设计人员由他们提出解决方案。可以结合数据定义文档查看表单项的内容、长度等信息。对于动态生成的页面最好也能浏览查看。如 Servelet 部分可以结合编码规范,进行代码走查。是否支持中文,如果数据用 XML 封装,要做的工作可能会多一点。 使用 Web 页面测试工具:工具可以提供很多测试方法,可以用来模拟许多手工操作,如单击按钮、给文本框输入字符或数字、鼠标双击事件等,从而实现了测试

7、的自动化。这对于需要输入大量信息的界面测试来说是十分重要的。 Web 页面测试的基本准则:符合页面/界面设计的标准和规范,满足灵活性、正确性、直观性、舒适性、实用性、一致性等要求。 直观性:用户界面是否洁净、不唐突、不拥挤,界面不应该为用户制造障碍,所需功能或者期待的响应应该明显, 并在预期的地方出现。 界面组织和布局合理吗?是否允许用户轻松地从一个功能转到另一个功能?下一步做什么明显吗?任何时刻都可以决定放弃或者退回、退出吗?输入得到承认了吗?菜单或者窗口是否深藏不露? 有多余功能吗?软件整体抑或局部是否做得太多?是否因有太多特性而把工作复杂化了?是否感到信息太庞杂? 如果其他所有努力失败,

8、帮助系统真能帮忙吗? 一致性: 快捷键和菜单选项, 在Windows 中按F1 键总是得到帮助信息。 术语和命令,整个软件使用同样的术语吗?特性命名一致吗?例如,Find 是否一直叫 Find,而不是有时叫Search? 软件是否一直面向同一级别用户?带有花哨用户界面的趣味贺卡程序不应该显示泄第 8 章 Web 页面测试 253 露技术机密的错误提示信息。 按钮位置和等价的按键。 大家是否注意到对话框有OK 按钮和Cancel 按钮时,OK 按钮总是在上方或者左方,而 Cancel 按钮总是在下方或右方?同样原因,Cancel 按钮的等价按键通常是Esc,而OK 按钮的等价按钮通常是Enter

9、,要保持一致。 灵活性:状态跳转,灵活的软件实现同一任务时通常会有多种选择方式。状态终止和跳过,具有容错处理能力。数据输入和输出,用户希望有多种方法输入数据和查看结果。例如,要在写字板中插入文字,可用键盘输入、粘贴、从 6 种文件格式读入、作为对象插入,或者用鼠标从其他程序拖动。 舒适性:恰当,软件外观和感觉应该与所做的工作和使用者相符。错误处理,程序应该在用户执行严重错误的操作之前提出警告,并允许用户恢复由于错误操作导致丢失的数据。正如大家认为 undo /redo 功能是理所当然应有的。性能,快不见得是好事,要让用户看清程序在做什么,它是有反应的。 8.1 Web 页面测试工具介绍页面测试

10、工具介绍 基于Web 的测试基本上采用两种思路和方法。一种可以称为“浏览器测试”,这种测试通常是模拟浏览器端的一些操作, 比如在TextBox 中输入一些文本, 选择表单组件中的某个部件等。因为可以看见具体的操作界面,这种方法更多地被应用到UI 和本地化方面的测试中。 另一种方法称为“协议测试”。这是建立在 HTTP 协议之上的 JavaScript 级别的测试,通过 JavaScript 伪协议或者 POST、Web Service 向服务器发送请求,然后对服务器响应回来的数据进行解析、验证。一些功能测试会更多地采用这种方法。最简单的应用就是检查链接的有效性:向服务器发送 URL 请求,检查

11、响应回来的数据,来判断链接是否指向了正确的页面。 本章所介绍的 Web 页面测试工具事实上能够很好地支持上述测试方法, 并且它们均是以 JUnit 为基础扩展出来的,但应用模式各有不同。 1. HttpUnit HttpUnit 是在 JUnit 之上构建的测试框架,它支持 Web 应用的黑盒测试和 in-container 容器内测试。作为功能测试工具,可以用它来验证软件是否符合业务需求,以及是否在可视的级别符合预期行为。有趣的是,HttpUnit 的基础代码实际上跟测试没什么关系。开发HttpUnit 库的目的是加强 HTTP 对 Web 应用的访问,它支持的特征包括状态管理(cookie

12、s)、请求提交、应答解析(HTML 解析), 以及网络爬虫(Web Spider)工具包需要的一些特征。 HttpUnit 还有一个支持容器内测试的类ServletUnit。 在JUnit 提供的断言功能和结果报告功能的基础上, HttpUnit成了一个非常有用的测试Web 应用的工具。可以在www.httpunit.org 上找到HttpUnit。 2. JWebUnit JWebUnit 是在 HttpUnit 上创建的一个辅助工具包,它减少了测试 Web 程序所需要编第部分 图形用户界面测试篇 254 写的代码。简单地说,可以把它当作 HttpUnit 的宏程序库,提供到 HttpUni

13、t 代码段的快捷方式,简化 Web 程序测试中的大多数行为。HttpUnit 提供的相对底层的接口可以让测试人员定制许多事情。如果用 HttpUnit 可以解决问题,那么用 JWebUnit 也可以。JWebUnit 的好处是它对代码有更好的控制。可以在 http:/ JWebUnit。 3. StrutsTestCase StrutsTestCase 是为测试 Struts 应用而在 JUnit 基础上创建的测试框架。 Struts 是用 Java开发 Web 应用的程序员非常喜欢的模型-视图-控制器(MVC)平台,它简化了数据、表示和逻辑分离的易维护性组件式代码开发。 Struts 使 W

14、eb 程序容器间(in-container)的功能测试和单元测试变得更复杂了,因为它们夹在 servlet 容器和程序之间。这就意味着这个测试框架要认识 Struts,能处理 Struts 的容器间测试。由于不需要知道 Web 程序的内部实现,所以尽管HttpUnit的黑盒测试仍然工作得很好, 也仍然无法用HttpUnit做Struts 应用的容器间测试,因为 HttpUnit 是独立地位于程序和 servlet 容器之间。StrutsTestCase 是专为 Struts 程序的容器间测试而设计的。StrutsTestCase 可以从 http:/ 4. Selenium Selenium是

15、一个用于Web 应用程序测试的工具, 它将核心组件内插到浏览器中。 Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,所有的测试都是可见的。支持的浏览器包括 IE、Mozilla、Firefox 等。这个工具的主要功能包括:测试与浏览器的兼容性,即测试应用程序是否能够很好地工作在不同浏览器和操作系统之上, 测试系统功能, 检验软件功能和用户需求。Selenium可从http:/seleniumhq.org/download/上上下载。 5. HtmlUnit HtmlUnit 是一个具有浏览器基本功能的 Java 组件。HtmlUnit 是 JUnit 的扩展测试框架之一,它支

16、持 HTML 文件,并提供了一些 API,允许访问网页、填写表格、点击链接等。HtmlUnit 将返回文档模拟成 HTML,这样我们便可以直接处理这些文档了。HtmlUnit 使用诸如 table、form 等标识符将测试文档作为 HTML 来处理。它同样需要遵循 JUnit 测试框架结构的 Java 测试程序。这里要注意的是:前面介绍的 HttpUnit 主要是在 http 的 request和 response 层次上进行操作, 而 HtmlUnit 则是在比 http 高一些的 HTML 层次上进行操作。HtmlUnit 可从 http:/ 8.2 Web 页面测试工具之一页面测试工具之一 HttpUnit HttpUnit 是 Sour

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号