在Web工程过程中,基于Web系统的测试、确认和验收是一项重-要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证-是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要-的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和We-b媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于W-eb的系统研究新的方法和技术本文将 web 测试分为 6 个部分:
1.功能测试
2.性能测试(包括负载/压力测试)
3.用户界面测试
4.兼容性测试
5.安全测试
6.接口测试
本文的目的是覆盖 web测试的各个方面,未就某一主题进行深入说明。
1、功能测试
1.1 链接测试
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导-用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接-是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后-,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知-道正确的URL地址才能访问。
链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必-须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后-进行链接测试。
采取措施:采用自动检测网站链接的软件来进行。
推荐软件:
Xenu Link Sleuth 免费绿免安装软件
HTML Link Validator 共享(30天试用)
1.2 表单测试
当用户通过表单提交信息的时候,都希望表单能正常工作。
如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册-完成后应返回注册成功的消息。如果使用表单收集配送信息,应确保程序能够正确处理这-些数据,最后能让顾客能让客户收到包裹。要测试这些程序,需要验证服务器能正确保存-这些数据,而且后台运行的程序能正确解释和使用这些信息。
当用户使用表单进行用户注册、登陆、信息提交等操作时,我们必须-测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日-期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检-验默认值的正确性。
如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受-某些字符,测试时可以跳过这些字符,看系统是否会报错。
1.3 数据校验
如果系根据业务规则需要对用户输入进行校验,需要保证这些校验功-能正常工作。例如,省份的字段可以用一个有效列表进行校验。在这种情况下,需要
验证-列表完整而且程序正确调用了该列表(例如在列表中添加一个测试值,确定系统能够接受-这个测试值)。
在测试表单时,该项测试和表单测试可能会有一些重复。
1.2和1.3的采取措施:第一个完整的版本采用手动检查,同时-形成WinRunner(QTP)脚本;回归测试以及升级版本主要靠WinRunner(QTP)自-动回放测试。
1.4 cookies测试
Cookies通常用来存储用户信息和用户在某应用系统的操作,-当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信-息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等-信息。
如果Web应用系统使用了Cookies,就必须检查Cooki-es是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷-新对Cookies有什么影响等。如果在cookies中保存了注册信息,请确认该cookie 能-够正常工作而且已对这些信息已经加密。如果使用cookie来统计次数,需要验证次数累计正确。
采取措施:
软件测试项目流程1 采用黑盒测试:采用上面提到的方法进行测试
2 采用查看cookies的软件进行(初步的想法)
可以选择采用的软件
IECookiesView v1.50
Cookies Manager v1.1
1.5 数据库测试
在Web应用技术中,数据库起着重要的作用,数据库为Web应用-系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的-数据库类型是关系型数据库,可以使用SQL对信息进行处理。
在使用了数据库的Web应用系统中,一般情况下,可能发生两种错-误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不-正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情-况,可分别进行测试。
采取措施:暂时没有更好的测试方法
考虑结合到1.2和1.3的测试中
1.6 应用程序特定的功能需求
最重要的是,测试人员需要对应用程序特定的功能需求进行验证。尝-试用户可能进行的所有操作:下订单、更改订单、取消订单、核对订单状态、在货物发送-之前更改送货信息、在线支付等等。这是用户之所以使用网站的原因,一定要确认网站能-像广告宣传的那样神奇。
采取措施:深刻理解需求说明文档
1.7 设计语言测试
Web设计语言版本的差异可以引起客户端或服务器端严重的问题,-例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个-问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、Jav-aScript、ActiveX、VBScript或Perl等也要进行验证。
暂时没有方法测试,可以多参考一点讨论组内的更新信息
2 性能测试
2.1 连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们-或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅-访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会-因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来-得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使-用户得不到真实的页面
2.2 负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证W-eb系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,-也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超-过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
2.3 压力测试
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行-测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处-理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,-其结果才是正确可信的。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。-压力测试是测试系统的限制和故障恢复能力,也就是测试Web 应用系统会不会崩溃,-在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系-统重新启动时获得存取权。
压力测试的区域包括表单、登陆和其他信息传输页面等。
负载/压力测试应该关注什么
测试需要验证系统能否在同一时间响应大量的用户,在用户传送大量-数据的时候能否响应,系统能否长时间运行。可访问性对用户来说是极其重要的。如果-用户得到"系统忙"的信息,他们可能放弃,并转向竞争对手。系统检测不仅要使用户能-够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。-出于安全的原因,测试人员应该知道当系统过载时,需要采取哪些措施,而不是简单地提-升系统性能。
瞬间访问高峰
如果您的站点用于公布的抽奖结果,最好使系统在中奖号码公布-后的一段时间内能够响应上百万的请求。负载测试工具能够模拟 X个用户同时访问测试站点。
每个用户传送大量数据
网上书店的多数用户可能只订购 1-5 书,但是大学书店可能会订购 5000 本有关心理学介绍的课本? 或者一个祖母为她的 50
个儿孙购买圣诞礼物(当然每个孩子都有自己的邮件地址) 系统能处理单个用户的大量数据吗?
长时间的使用
如果站点用于处理鲜花订单,那么至少希望它在母亲节前的一周内能-持续运行如果站点提供基于 web 的 email服务,那么点最好能持续运行几个月,甚至几年。可能需要使用自动测试工具来完成这种类型的测试,因为很难通过手工
完成这些测-试。你可以想象组织100 个人同时点击某个站点。但是同时组织100000
个人呢。通常,测试工具在第二次使用的时候,它创造的效益,就足以支付成本。而且,测试工具安装完-成之后,再次使用的时候,只要点击几下。
采取措施:采用测试工具WAS、ACT协助进行测试
3 用户界面测试
3.1 导航测试
导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之-间,
例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,-可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主
要部分是否可-通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的
导航帮助?
在一个页面上放太多的信息往往起到与预期相反的效果。Web应用-系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要-
的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构-,因此,Web应用系统导航帮助要尽可能地准确。
导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、-连接的
风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容-
在什么地方。
Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最-终用户
参与这种测试,效果将更加明显。
3.2 图形测试
在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,-又能起
到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜、-字体、背景、按钮等。
图形测试的内容有:
(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,-以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某-件
事情,一般都链接到某个具体的页面。
(2)验证所有页面字体的风格是否一致。
(3)背景颜应该与字体颜和前景颜相搭配。
(4)图片的大小和质量也是一个很重要的因素,一般采用JPG或-GIF压缩,最好能使图片的大小减小到30k 以下
(5)最后,需要验证的是文字回绕是否正确。如果说明文字指向右-边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者-出现孤行。
通常来说,使用少许或尽量不使用背景是个不错的选择。如果您想用-背景,那么最好使用单的,和导航条一起放在页面的左边。另外,图案和图片可能会转-移用户的注意力。
3.3内容测试
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关-性。
信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表-中,
错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法-或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft
Word的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以到与当前浏览信息相关-的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
对于开发人员来说,可能先有功能然后才对这个功能进行描述。大家-坐在一起讨论一些新的功能,然后开始开发,在开发的时候,开发人员可能不注重文字表-达,他们添加文字可能只是为了对齐页面。不幸的是,这样出来的产品可能产生严重的误-解。因此测试人员和公关部门一起检查内容的文字表达是否恰当。否则,公司可能陷入麻-烦之中,也可能引起法律方面的问题。测试人员应确保站点看起来更专业些。过分地使用-粗体字、大字体和下划线可能会让用户感到不舒服。在进行用户可用性方面的测试时,
最-好先请图形设计专家对站点进行评估。你可能不希望看到一篇到处是黑体字的文章,所以-相信您也希望自己的
站点能更专业一些。最后,需要确定是否列出了相关站点的链接。很-多站点希望用户将邮件发到一个特定的地址,或者从某个站点下载浏览器。但是如果用户-无法点击这些地址,他们可能会觉得很迷惑。
3.4 表格测试
需要验证表格是否设置正确。用户是否需要向右滚动页面才能看见产-品的价格?把价格放在左边,而把产品细节放在右边是否更有效?
每一栏的宽度是否足够宽,表格里的文字是否都有折行?是否有因为某一格的内容太多,而将整行的内容拉长?
3.5 整体界面测试
整体界面是指整个Web应用系统的页面结构设计,是给用户的一个-整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要的信息-在什么地方?整个Web应用系统的设计风格是否一致?
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一-般Web 应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
对所有的用户界面测试来说,都需要有外部人员(与Web应用系统-开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。
采取措施:手动测试,参与人员最好有外部人员
4 兼容性测试
4.1 平台测试
市场上有很多不同的操作系统类型,最常见的有Windows、U-nix、Macintosh、Linux等。
Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系-统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行-,但在另外的操作系统下可能会运行失败。因此,在Web系统发布之前,需要在各种操作系统下对Web系统-进行兼容性测试。
4.2 浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Ja-va,、JavaScript、ActiveX、plug-ins或不同的HTML规格有不同的支持。例如,
Ac-tiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript 是Netsca-pe的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示-,甚至根本不显示。
不同的浏览器对安全性和Java的设置也不一样。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。