Web的系统测试方法
上一篇 / 下一篇 2007-10-10 21:53:47 / 个人分类:—— web测试
Web的系统测试方法 | |
文章出处:转载 作者:不详 发布时间:2006-01-07 | |
51Testing软件测试网 h(`/|+r|-j%c^ 随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。51Testing软件测试网0m3H|0k?"Cq| 51Testing软件测试网"H.W#@;jB WYogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。 n z-A4?Hwk|051Testing软件测试网Gie ]Ryo3I在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。51Testing软件测试网5to'X6D y+TB/~8| 2J!dU!C(h9[;a0 在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。 G4s2j/[+B8b$p?'@5N051Testing软件测试网`*l3S.CL([一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。 m`/[7O}mR051Testing软件测试网8E"]h/rh-]X+g一、功能测试51Testing软件测试网\D/[X \W N5xR5h k6]0 1、链接测试51Testing软件测试网2I_+J+}EW!g%NCZ #o3q8gl Tk0 链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。51Testing软件测试网gv3a0c9@/V:I%u :O{Mr%f&o V9p{,x0 链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。51Testing软件测试网|,]lUH;zB%cT 0Z'P\ ?*w w0 2、表单测试 U"m(]? jE'hv08ZmybO0 当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。51Testing软件测试网 gn-q)G{i'A1i 51Testing软件测试网0b;g+Z r Z1\)mc3、Cookies测试51Testing软件测试网/Lh.\Bj6ud"aU Y w a#H$Y.EP/H3?0 Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。 Ku9| m'MW{051Testing软件测试网sRy v_ N B如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。51Testing软件测试网E0t;IfHGo.} 51Testing软件测试网!S.z a7iZns4、设计语言测试51Testing软件测试网7L'C*](q!\ ~r#F ITx k if0 Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、Javascrīpt、 ActiveX、VBscrīpt或Perl等也要进行验证。51Testing软件测试网BW Ef/J3hf'zD 51Testing软件测试网x C_\(U|5、数据库测试 ,a4R"| u#Y1[051Testing软件测试网 K*d1a0W }m-Ru7?在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。 C7J6z&b,MA a01[pO/_k:dIL_0 在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。 8c/~ p1GF2w @Y!T*O051Testing软件测试网1~5ZMY"Di1}二、性能测试51Testing软件测试网3J6PE*w!@g Gj A(p)M/i]0 1、连接速度测试 &a4l+tk*^z S0"lE*N!\}e-T k8H0 用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。 5G*P%R#c4HSx*[-w&M;BY0/xvWq R&FL;? UC0 另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。 %uiE~;Kuy051Testing软件测试网q?{)o/p3F }?q!?@p2、负载测试51Testing软件测试网 ]7{uv*n'v)E#i9J 51Testing软件测试网;LW1J9Om d T!v _负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?51Testing软件测试网9f7P~WWU%l+^ y +Q{O0@["Fz&P0]0 3、压力测试51Testing软件测试网H%fzHD s3TuW C0v zR0 负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。 Fc3q#G#xXJ p3P051Testing软件测试网B#O/sJ+B;\e1E!^进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。 &W-t/uf6BZU6n0[up%EZ/qy6dS0Yw0 压力测试的区域包括表单、登陆和其他信息传输页面等。 ,SY|*P!s0KO/c;e(s`;H'P0 三、可用性测试 G,l*r(q}k{D051Testing软件测试网rZx N.\l1、导航测试51Testing软件测试网;Dck l\ 51Testing软件测试网$f[%u~1J%XNl"~导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?51Testing软件测试网y[&j"BX2U[ 51Testing软件测试网Sn1NI5Q |在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。51Testing软件测试网h,p.B4M i#o2J2b [:Ej2h*_\?o0 导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。51Testing软件测试网-l*[ySOP#Ab'Q+O 51Testing软件测试网!X+r.B8|+v7Cu)|;\Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。 0s[1c3W"wsgL0;`;]x%s'L(j1{0 2、图形测试51Testing软件测试网 ^w Q+U^LNNB"z 51Testing软件测试网t n.wjGMxV在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:51Testing软件测试网1[ p5et7],[i x 51Testing软件测试网_9Cr?8G {__:[(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。 9e\a5O$P4FT)D;r051Testing软件测试网8e%GIf$xa GP^7e(2)验证所有页面字体的风格是否一致。 [%n0nn~t ^_J08xs u _8f TP9v0 (3)背景颜色应该与字体颜色和前景颜色相搭配。51Testing软件测试网Z?(H`w7H 51Testing软件测试网5_+kUA I(4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。 u,u8W0|&V.]AW `"p_ x0!M!e2S1iJ$Y'r0 3、内容测试51Testing软件测试网%VZ&iT] Raw5^8B9wu?)d W0 内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。 -{#P&Lo'}HD5OD\051Testing软件测试网 Y4|!M k4\7A ?信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。 -F3nM ^sa'enB051Testing软件测试网9^oI j?%}.ZX4、整体界面测试51Testing软件测试网I$[(|qc Y 51Testing软件测试网bi7k?8x_/wS 整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致?51Testing软件测试网.mK%b?` [n)??-b!xf"s0 对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。 f$^:FHF.T)u rSh q051Testing软件测试网t IOR XNB(xe S?四、客户端兼容性测试 |#|;Z/r C'gD/\"?0.f X `)d$pfy*t0 1、平台测试 s%k7e5E1C Jl051Testing软件测试网q-Ui0lU!W6`#}n市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。51Testing软件测试网&c8ra|aX 51Testing软件测试网{"bAMZE因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。51Testing软件测试网}hq9kIh1d |