全部博文(626)
分类: JavaScript
2013-09-17 09:45:44
章14 网站测试
网站测试囊括许多领域,包括配置测试、兼容性测试、易用性测试、文档测试、安全性测试,并且假如网站是面向全球范围的浏览者,还包括本地化测试。当然,黑盒、白盒、静态、动态测试都是要用上的。
要关注:
(1)网页的哪些基本部分需要测试
(2)在网页测试中要运用哪些基本的白盒测试技术和黑盒测试技术
(3)如何运用配置测试和兼容性测试
(4)为什么易用性测试是网页的主要问题
(5)如何使用工具协助网站测试
1、网页基础
简单来说,网页就是由文字、图片、声音、视频和超级链接组成的文档。
在这些程序中,网站用户可以通过单击具有超级链接的文字和图片在网页间浏览,搜索单词或者短语,查看找到的信息。
网页的特性:
(1)不同大小、字体和颜色的文字;
(2)图片和照片;
(3)超级链接文字和图片;
(4)不断滚动的广告;
(5)下拉式文本选择框;
(6)用户输入数据的区域。
使网站更加复杂的特性如下:
(1)自定义的布局,允许用户更改信息出现在屏幕上的位置;
(2)自定义的内容,允许用户选择想看的新闻和信息;
(3)动态下拉式选择框;
(4)动态变化的文字;
(5)取决于屏幕分辨率的动态布局和可选信息;
(6)与不同网络浏览器、浏览器版本,以及硬件和软件平台的兼容性;
(7)大量加强网页易用性的隐藏格式、标记和嵌入信息。
安全电子商务网站更为复杂。
2、黑盒测试
最容易的测试起步是把网页或者整个网站当做是一个黑盒子。
注意:在测试网站时,首先应该建立状态表,把每个网页当做不同的状态,超级链接当做状态之间的连接线。完整的状态图有利于对整个任何更好地进行审视。
(1)文本
网页文本应该当做文档对待,并依据文档测试的方法进行测试。
检查核实读者的水平、术语、内容以及题目素材、准确度——特别是可能过期的信息,经常不断地检查拼写。
注意:不要依赖拼写检查工具来做,尤其是用在网页文本内容的检查上。
拼写检查工具可能只检查常规文本,但不检查包含在图片、滚动块、表单等中的文字。用拼写检查工具执行完所谓的完全拼写检查之后,检查者可能认为检查很彻底,但事实上网页中仍然会有拼写错误。
如果有电子邮件地址、电话号码或者邮政编码等联系信息,要检查是否正确。
保证版权声明正确、日期无误。
测试每个网页是否都有正确的标题,标题文本的正确性。
常常被忽视的一种文本是文字标签(ALT text),用以替代文字(ALTernate text)。当用户把鼠标光标移动到网页中的图片上时,可以看到弹出对图片语义信息的说明。
注意:并非所有的浏览器都支持显示文字标签。
通过大幅缩放浏览器窗口来检查文字布局问题。
(2)超级链接
链接可以和文字或者图片拴在一起。每一个链接都要检查,确保它的正常跳转。
超级链接一定要明显,文字链接一般有下划线。
如果链接打开电子邮件信息,就填写内容并发送,要确保能够得到回应。
查找孤页,它是网站的一部分,但是不能通过超级链接访问,因为网页作者忘记把它挂接上。需要向网站设计人员索取网页清单,与自制的状态图进行比较。
(3)图片
图片中可能出现的许多软件缺陷在易用性测试时被掩盖下来,但是利用简单的黑盒测试方法可以检查一些明显的地方。图片的正确载入和显示的问题。
如果网页中文本和图片交织在一起,要保证文字正确地环绕在图片周围。
载入网页时的性能如何?
(4)表单
表单是指网页中用于输入和选择信息的文本框、列表框和其它域。
域的大小是否正确?是否接受正确数据,拒绝错误数据?
(5)对象和其它各种简单的功能
网站可能包含诸如单击计数器、滚动文本选择框、变换的广告和站内搜索等特性。
在计划网站测试时,要仔细验明每个网页上的所有特性,把每一个特性按照常规程序的功能对待,并利用所学的标准测试技术分别进行测试。
3、灰盒测试(gray box testing)
灰盒测试时白盒测试和黑盒测试的结合。灰盒测试把黑盒测试和白盒测试的界限打乱了,仍然把软件当做黑盒来测试,但是通过简单查看软件内部工作机制作为补充。
网页特点使其非常适合进行灰盒测试。因为大多数网页是由HTML创建,在IE上很轻易地就能看到源代码。
4、白盒测试
网页的静态内容一般由HTML直接创建。同时,网页还包括可自定义和动态改变的内容。
创建这些附加的动态特性需要用可以执行和支持判断分支结构的程序代码来补充。
创建此类特性的流行Web编程语言:DHTML,Java,JavaScript,ActiveX,VBScript,Perl,CGI,ASP和XML。
运用白盒测试不需要测试员一定成为这些语言的专家,而只要熟悉到能够阅读和理解这些语言,并根据代码的内容来确定测试用例即可。
测试一些特性:
(1)动态内容
动态内容是根据当前条件发生变化的文字和图片——例如:日期时间、用户喜好或者特定用户操作。
在HTML中嵌入JavaScript之类的简单脚本语言可以对这些内容编程,这称为客户端(client-side)编程。——在查看代码时可以使用灰盒测试。
为了提高执行效率,大多数动态内容编程在网站服务器上进行,这称为服务端(server-side)编程,需要具有Web服务器的访问权限才能查看源代码。
(2)数据库驱动的网页
许多显示分类目录或者货物清单的电子商务网页是数据库驱动的。
(3)用编程方法创建的网页
许多网页,特别是包含动态内容的网页是用编程方法创建的。
(4)服务器性能和加载
流行的网站每天可能要接受数百万次点击。每一次点击都要从网站的服务器下载数据到浏览者的计算机上。
如果测试一系统的性能和负载能力,就必须找到一种方法来模拟数百万个连接和下载。
(5)安全性
金融、医疗和其它包含个人数据的网站风险特别大,需要密切了解服务器技术来测试其安全性。
5、配置和兼容性测试
配置测试是在各种硬件和软件平台类型以及其不同的设置情况下检查软件运行的过程。
兼容性测试是检查软件和其它软件一起运行的过程。
要测试一个网站,需要考虑可能会影响网站运行和外观的硬件和软件配置:
(1)硬件平台;
(2)浏览器软件和版本;
(3)浏览器插件;
(4)浏览器选项;
(5)视频分辨率和色深;
(6)文字大小;
(7)调制解调器速率。
6、易用性测试
易用性测试是一个难以定义的过程。遵守并测试一些基本规则有助于使网站更加有用。
(1)盲目使用不成熟的新技术
网站不应该靠吹嘘采用最新Web技术来吸引用户。
(2)滚动文字、滚动块和不停运行的动画
不要让网页上有不停移动的元素。
(3)滚动显示的长页面
减少滚动,所有重要的内容和导航选项应该位于页面顶端。
(4)非标准的链接颜色
指向用户未曾看过的页面的超级链接应该是蓝色;指向已经看过的页面的链接应该是紫色或者红色。
(5)过期信息
维护是加强网站内容的经济之道。
(6)下载时间过长
传统的人为因素规范指出:0.1秒是用户感觉系统反应迅速的极限;1秒是用户思路不间断的极限;10秒是用户完全丧失兴趣的最长响应时间。
(7)缺少导航支持
需要以在结构和位置上给人强烈感觉的形式进行支持;站点设计应该从很好地了解信息空间的结构开始,并把结构明确地传达给用户。
(8)孤页
所有网页一定要包含本身所属网站的明确指示,因为用户可能不经过主页而直接访问网页。
(9)复杂的网站地址(URL)
URL应该包含反映网站内容的本质的便于人们阅读的名称。
(10)使用框架
框架是允许在一个网页中显示其它网页的HTML技术。
如果测试网站,就要充分利用测试员的权限报告易用性方面的软件缺陷。回顾基本用户界面设计技术,了解良好易用性的组成要素。
7、自动化测试
要对复杂的大型网站进行彻底的测试,就需要用自动化的测试工具了。