您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第9章--Web网站测试
第9章Web网站测试本章概述Web网站测试是面向因特网Web页面的测试。众所周知,因特网网页是由文字、图形、声音、视频和超级链接等组成的文档。网络客户端用户通过在浏览器中的操作,搜索浏览所需要的信息资源。针对Web网站这一特定类型软件的测试,包含了许多测试技术,如功能测试、压力/负载测试、配置测试、兼容性测试、安全性测试等。黑盒测试、白盒测试、静态测试和动态测试都有可能被采用。第9章Web网站测试9.1Web网站的测试9.2功能测试9.3性能测试9.4安全性测试9.5可用性/可靠性测试9.6配置和兼容性测试9.7数据库测试小结习题9.1Web网站的测试基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。更需要从最终用户的角度进行安全性和可用性测试。通常Web网站测试的内容包含以下方面:功能测试;性能测试;安全性测试;可用性/易用性测试;配置和兼容性测试;数据库测试;代码合法性测试;完成测试。9.2功能测试功能测试是测试中的重点,在实际的测试工作中,功能在每一个系统中的具有不确定性,而我们不可能采用穷举的方法进行测试。测试工作的重心在于Web站点的功能是否符合需求分析的各项要求。功能测试主要包括以下几个方面的内容:内容测试链接测试表单测试Cookies测试设计语言测试9.2.1页面内容测试内容测试用来检测Web应用系统提供信息以下方面:正确性准确性相关性文字标签图9-3网页中的文字标签页面文本测试还应该包括文字标签,它为网页上的图片提供特征描述。图9-3给出一个文字标签的例子。当用户把鼠标移动到网页的某些图片时,就会立即弹出关于图片的说明性语言。网上店面是现在非常流行的Web网站,这里设定一个网上小百货商店作为例子,并为其设计测试用例。页面内容测试用例如表9-1所示。9.2.2页面链接测试链接是使用户可以从一个页面浏览到另一个页面的主要手段,是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试需要验证三个方面的问题:(1)用户点击链接是否可以顺利地打开所要浏览的内容,即链接是否按照指示的那样确实链接到了要链接的页面。(2)所要链接的页面是否存在。实际上,好多不规范的小型站点,其内部链接都是空的,这让浏览者感觉很不好。(3)保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。9.2.3表单测试当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。表单测试主要是模拟表单提交过程,检测其准确性,确保每一个字段在工作中正确。表单测试主要考虑以下几个方面内容:表单提交应当模拟用户提交,验证是否完成功能,如注册信息。要测试提交操作的完整性,以校验提交给服务器的信息的正确性。使用表单收集配送信息时,应确保程序能够正确处理这些数据。要验证数据的正确性和异常情况的处理能力等,注意是否符合易用性要求。在测试表单时,会涉及到数据校验问题。9.2.4Cookies测试Cookies通常用来存储用户信息和用户在某个应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。关于cookie的使用可以参考浏览器的帮助信息。如果使用B/S结构cookies中存放的信息更多。如果Web应用系统使用了Cookies,测试人员需要对它们进行检测。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。如果在cookies中保存了注册信息,请确认该cookie能够正常工作而且已对这些信息已经加密。如果使用cookie来统计次数,需要验证次数累计正确。9.2.5设计语言测试Web设计语言版本的差异可以引起客户端或服务器端的一些严重问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、ActiveX、VBScript或Perl等也要进行验证。9.2.6功能测试用例9.3性能测试9.3.1负载测试负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。负载测试包括的问题有:Web应用系统能允许多少个用户同时在线;如果超过了这个数量,会出现什么现象;Web应用系统能否处理大量用户对同一个页面的请求。负载测试的作用是在软件产品投向市场以前,通过执行可重复的负载测试,预先分析软件可以承受的并发用户的数量极限和性能极限,以便更好地优化软件。负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。Web负载测试一般使用自动化工具来进行。9.3.2压力测试系统检测不仅要使用户能够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。出于安全的原因,测试人员应该知道当系统过载时,需要采取哪些措施,而不是简单地提升系统性能。这就需要进行压力测试。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,通过发送大量数据包来攻击服务器,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。无论是利用预先写好的工具,还是创建一个完全专用的压力系统,压力测试都是用于查找Web服务(或其他任何程序)问题的本质方法。压力测试的区域包括表单、登陆和其他信息传输页面等。负载/压力测试应该关注的问题如下:1.瞬间访问高峰2.每个用户传送大量数据3.长时间的使用9.3.3连接速度测试连接速度测试是对打开网页的响应速度测试。用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过10秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面9.4安全性测试随着Internet的广泛使用,网上交费、电子银行等深入到了人们的生活中。所以网络安全问题就日益重要,特别对于有交互信息的网站及进行电子商务活动的网站尤其重要。站点涉及银行信用卡支付问题,用户资料信息保密问题等。Web页面随时会传输这些重要信息,所以一定要确保安全性。一旦用户信息被黑客捕获泄露,客户在进行交易时,就不会有安全感,甚至后果严重。1.目录设置2.SSL3.登录4.日志文件5.脚本语言6.加密9.5可用性/可靠性测试9.5.1导航测试导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。主要测试目的是检测一个Web应用系统是否易于导航,具体内容包括:导航是否直观;Web系统的主要部分是否可通过主页存取;Web系统是否需要站点地图、搜索引擎或其他的导航帮助。9.5.2Web图形测试在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。(2)验证所有页面字体的风格是否一致。(3)背景颜色应该与字体颜色和前景颜色相搭配。通常来说,使用少许或尽量不使用背景是个不错的选择。如果您想用背景,那么最好使用单色的,和导航条一起放在页面的左边。另外,图案和图片可能会转移用户的注意力。(4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩,最好能使图片的大小减小到30k以下。(5)验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。(6)图片能否正常加载,用来检测网页的输入性能好坏。如果网页中有太多图片或动画插件,就会导致传输和显示的数据量巨大、减慢网页的输入速度,有时会影响图片的加载。9.5.3图形用户界面(GUI)测试1.整体界面测试2.界面测试要素界面测试要素主要包括:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性。3.界面测试内容用户界面测试主要包括以下几个方面的内容:站点地图和导航条使用说明背景/颜色图片表格9.5.4可靠性测试9.6配置和兼容性测试1.平台测试市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。2.浏览器测试浏览器是Web客户端核心的构件,需要测试站点能否使用Netscape、InternetExplorer或Lynx进行浏览。来自不同厂商的浏览器对Java、JavaScript、ActiveX或不同的HTML规格有不同的支持。并且有些HTML命令或脚本只能在某些特定的浏览器上运行。例如,ActiveX是Microsoft的产品,是为InternetExplorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。3.打印机测试用户可能会将网页打印下来。因此网页在设计的时候要考虑到打印问题,注意节约纸张和油墨。有不少用户喜欢阅读而不是盯着屏幕,因此需要验证网页打印是否正常。有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。测试人员至少需要验证订单确认页面打印是正常的。4.组合测试最后需要进行组合测试。600x800的分辨率在MAC机上可能不错,但是在IBM兼容机上却很难看。在IBM机器上使用Netscape能正常显示,但却无法使用Lynx来浏览。5.兼容性测试9.7数据库测试1.数据库测试的主要因素数据库测试的主要因素有:数据完整性、数据有效性和数据操作和更新。2.数据库测试的相关问题除了上面的数据库测试因素,测试人员需要了解的相关问题有:数据库的设计概念;数据库的风险评估;了解设计中的安全控制机制;了解哪些特定用户对数据库有访问权限;了解数据的维护更新和升级过程;当多个用户同时访问数据库处理同一个问题,或者并发查询时,确保可操作性。确保数据库操作能够有足够的空间处理全部数据,当超出空间和内存容量时能够启动系统扩展部分。3.测试用例在学校的网站上,成绩查询系统是一个常见的Web程序。学生可以通过浏览器页面访问Web服务器,Web服务器再从数据库服务器上读取数据。详细例子见书
本文标题:第9章--Web网站测试
链接地址:https://www.777doc.com/doc-6119693 .html