51Testing软件测试论坛

标题: web测试的经典总结 [打印本页]

作者: sincky    时间: 2005-5-9 22:15
标题: web测试的经典总结
我朋友写的文章,很好!

基于Web的系统测试
在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。
一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。
一、        功能测试
1、链接测试
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
2、表单测试
当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
3、Cookies测试
Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
4、设计语言测试
Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、 ActiveX、VBScript或Perl等也要进行验证。
5、数据库测试
在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。
在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
二、        性能测试
1、连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2、负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
3、压力测试
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。
进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。
压力测试的区域包括表单、登陆和其他信息传输页面等。
三、        可用性测试
1、导航测试
导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?
在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。
导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。
Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。
2、图形测试
在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:
(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
(2)验证所有页面字体的风格是否一致。
(3)背景颜色应该与字体颜色和前景颜色相搭配。
(4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
3、内容测试
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。
信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
4、整体界面测试
整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致?
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。
四、        客户端兼容性测试
1、平台测试
市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。
因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。
2、浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。
测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
五、        安全性测试
Web应用系统的安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
(2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
(5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
六、总结
本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。
基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。
作者: pjackycool    时间: 2005-5-11 09:29
比较 泛~
不过  全面
作者: daveshanghai    时间: 2005-5-11 13:48
还要考虑并发性测试,和安全方面的测试
作者: liujunran    时间: 2005-5-29 14:52
同意楼上的观点。
前几天测试时就遇到并发性的BUG
作者: luckhj    时间: 2005-6-8 17:14
好东东,有空就来学习学习
作者: nakata_fy    时间: 2005-6-14 15:19
刚在部门ftp看过这篇,呵呵
作者: iblues    时间: 2005-6-21 16:12
常来看看,是好的!
作者: 周鱼    时间: 2005-6-21 20:12
呼,呼,耶和华大人的妙文太好了,佩服的脱掉衣服后在五体投地
作者: wangshenhai    时间: 2005-6-30 10:11
感觉压力测试和负载测试没什么区别啊,都是加压然后看结果,为什么还要分开呢?
作者: 紫罗兰    时间: 2005-7-14 18:35
谢谢呀,先看看,学习学习!
作者: ElaineCheng1211    时间: 2006-7-11 11:53
不明白为何把可用性测试,单分出来,那位可以回答以下呀
作者: jiepeach    时间: 2006-7-11 16:12
不错,学习了一下收获很大,感谢。希望ihou可以看到更多的这样文章
作者: jiangxinlu    时间: 2006-7-12 16:26
写的过于泛泛之谈,但是如果你做过一段时间在来看这点东西的时,收获确实挺大的,谢谢版主
作者: jeloss    时间: 2006-8-15 17:16
LZ我不能不爱你
作者: kellyzhang    时间: 2006-8-17 13:21
标题: 回复 #11 ElaineCheng1211 的帖子
可用性测试是从用户使用的友好性角度出发的,他不同于功能测试与性能测试,还有安全测试等,他的错误不会太影响系统的运行.若给他评个严重等级,只能说是:一般(严重,警告,一般,轻微,忽略)
作者: kellyzhang    时间: 2006-8-17 13:24
标题: 回复 #9 wangshenhai 的帖子
压力测试是一个破坏性的测试,为的是查看系统崩溃后的处理方法或恢复性能等作用,而负载测试是在正常的运行中找到最大的极限值.
作者: aricone    时间: 2006-8-18 14:46
看完了,感觉不错
作者: yunyan    时间: 2006-8-31 15:19
确实挺好!
作者: Joan2005    时间: 2006-9-11 17:34
开始做WEB测试,对我有帮助..谢谢
作者: yay    时间: 2006-10-27 15:49
看过了,感觉对实际测试工作有很大帮助.
作者: 刘顺    时间: 2006-11-8 13:01
如果数据库中使用了存储过程,如何去判断bug是由存储过程引起的还是
由数据的不一致性引起的?
作者: moving1000    时间: 2006-11-13 16:21
sdlkfj5
作者: echolove_binbin    时间: 2006-11-21 14:06
标题: 关键的还是功能测试吧
怎么篇幅中都很少提到功能测试,压力测试,性能测试等都要基于功能可靠的前提下吧
作者: glitgirl    时间: 2006-11-22 12:17
不错不错
作者: dandan    时间: 2006-11-22 13:25
不错........
作者: coolwasp    时间: 2006-11-23 15:04
收藏学习!
作者: 欣奕    时间: 2006-11-27 10:36
好东东哦,收藏了sdlkfj2 ,回家慢慢啃!
作者: kklizi    时间: 2006-12-28 16:39
弄下来  放自己文件夹里  哈哈
作者: windyfreeze    时间: 2007-6-4 16:50
谢谢帮主
作者: limitlimit    时间: 2007-6-29 09:23
标题: 回复 #1 sincky 的帖子
谢谢分享
作者: long518    时间: 2007-7-2 17:24
首先要满足最基本的链接测试.如果链接都不正确,那还怎么玩啊.
作者: vaxvax0000    时间: 2007-8-1 03:34
51testing上转载了好多次拉.
作者: vaxvax0000    时间: 2007-8-1 03:35
经典是经典,像我这种菜鸟级别的人都看了好几遍了。
作者: 119139107    时间: 2007-8-17 09:20
收藏学习了
感谢斑竹
作者: zjutsoft    时间: 2007-8-28 15:08
怎么都拷一大堆东西来忽悠人啊!
作者: zhouzxcv    时间: 2007-9-19 00:05
sdlkfj6 谢谢楼主大作,正在拜读
作者: yezi2007    时间: 2007-9-19 16:32
不错!顶一下!
作者: 蜜香豆810    时间: 2007-10-27 09:36
谢谢
作者: dyq    时间: 2007-11-20 11:52
见过很多次了,这文章
作者: 阿七    时间: 2008-3-6 15:22
原帖由 周鱼 于 2005-6-21 20:12 发表
呼,呼,耶和华大人的妙文太好了,佩服的脱掉衣服后在五体投地



- -  
作者: yangbohustwb    时间: 2008-6-19 16:45
下载了,谢谢
作者: nanbing3166    时间: 2008-7-15 10:50
好东西
作者: nanbing3166    时间: 2008-7-15 10:50

作者: (雪)仙人掌    时间: 2009-2-11 09:32
看多好几次了,好像这上面的讲的都是类似的
作者: applejuzi    时间: 2009-2-15 20:40
真的是很经典,挺全面的
作者: capricorn    时间: 2009-2-21 14:19
学习了,谢谢!::JFBQ00125080409b:::
作者: chillbin    时间: 2009-2-24 00:09
不错的东西,先收藏了,谢谢楼主
作者: sticksky    时间: 2009-5-25 12:12
先学习下。
作者: StarRains    时间: 2009-7-8 15:12
谢谢
作者: wangxiaotang    时间: 2009-9-21 18:34
谢谢楼主!这真是大工程啊!
作者: jaa104    时间: 2009-11-17 23:09
已经收录了,支持!~~~
作者: mai_gu    时间: 2009-12-2 14:56
学习ing。。。。。。。。。
作者: montella    时间: 2010-2-8 16:53
好东西……赞一个
作者: peag    时间: 2010-2-20 15:11
出自书上,不错
作者: xyhixx    时间: 2010-10-8 11:14
正在测试web系统,这些可派上用场了。
作者: he_jian    时间: 2011-1-31 08:36
谢谢
作者: peggyli    时间: 2011-2-12 14:48
很不错,收藏老
作者: ruirui。    时间: 2011-4-21 14:29
写的很好。
作者: 1977fx1250    时间: 2011-4-26 17:08
收了看看先~
作者: hongyu315    时间: 2011-5-31 11:37
和之前的一片一样的啊
作者: sunliqin    时间: 2011-6-10 22:17
写的很好。

6年过去了,lz也不来补充一点
作者: zzmei008    时间: 2011-7-12 16:38
收藏呀,正是学习阶段,谢谢
作者: zwb_work    时间: 2011-9-14 14:45
很全面  收藏了  谢谢
作者: deadhunter    时间: 2011-9-22 11:38
写得很好
作者: shell75    时间: 2011-11-14 11:21
谢谢,帮助很大
作者: xiaoming2624    时间: 2012-1-6 13:39
学习了,thank
作者: lidazhuang    时间: 2012-2-7 15:31
楼主功德无量!
作者: liangxianquan85    时间: 2012-2-20 17:14
做了一段时间的web测试,感觉LZ的总结很有帮助。感谢
作者: eyesee_janno    时间: 2012-2-22 13:34
总结得不错,支持一下
作者: alshari86    时间: 2012-3-21 12:35
写得很不错,谢谢~
作者: xiao_long_ing    时间: 2012-4-4 10:47
谢谢楼主的分享、
作者: 爱apple    时间: 2012-7-6 16:23
很有用
作者: 傻子的约定    时间: 2012-12-13 19:28
挺好的啦,值得学习
作者: ingwlhot0801    时间: 2013-1-16 09:55
很全面 nice
作者: scerbo    时间: 2014-12-29 16:01
带我吃肉带我飞啊这个




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2