视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
web测试知识
2025-09-25 21:23:42 责编:小OO
文档
Web测试知识

由于Web应用与用户直接相关,又通常需要承受长时间的大量操作,因此Web项目的功能和性能都必须经过可靠的验证。这就要经过Web项目的全面测试。 

Web测试通常通过界面测试、功能测试、性能测试几个方面来进行。测试方法则根据测试内容的不同而不同。下面就这三个方面分别进行说明。 

一、界面测试 

界面测试就是对Web项目的界面部分进行正确性、灵活性、直观性、一致性、舒适性等方面的验证。这部分的测试看似简单,但实际上包含的测试项目庞杂,又可间接对应用程序的准确性进行验证,同时它的实用性与最终用户直接相关,因此决不可低估它的地位。 

界面测试包括的主要内容有:页面的规范性、舒适性、正确性、直观性、实用性、一致性几个方面。 

页面的规范性主要是指布局、色调和美观性的统一。这通常在项目初期确定,测试阶段需要验证最终页面的实现是否与之前的确定方案相吻合。包括各个页面元素的布局和位置是否合理、外形是否准确,色调是否正确美观,CSS风格设置是否统一,等等。 

页面的正确性包括页面元素的基本功能是否实现,是否具有完善的容错处理,显示方式是否正确,各项链接是否准确,各个脚本程序是否存在、准确,等等。 

页面的直观性包括界面是否整洁鲜明、不拥挤,是否包括了冗余功能,主要功能和操作流程是否突出,等等。 

页面的一致性包括各种快捷键和菜单选项是否与通用的习惯相符(比如F1为帮助信息、Tab键进行元素间跳转等),包含术语和命令与命令行方式是否一致,按钮位置是否符合习惯(如各种设置页面均该包括确定和取消按钮,且确定按钮位置在前)等。 

页面的灵活性包括页面是否具有完善的容错处理方案,统一操作是否有符合不同用户习惯的多种操作方式,处理结果是否有多种显示方式,操作是否支持键盘鼠标两种方式,包含数据量大的时候是否支持查找或排序操作,页面是否在各种分辨率下均被支持,屏幕大小变化,等等。 

页面的舒适性包括界面操作逻辑是否合理、符合用户习惯,在用户操作错误时是否有合理的信息提示,等等。 

以上各个方面的测试是可以同时进行的。方法通常是根据操作逻辑和页面内容制定详细的测试case文档,按照各个case逐个走查。注意要case要覆盖全部情况。页面若针对多个不同的用户群,应尽可能的由不同操作习惯的测试人员充当各种角色参与测试。 

二、功能测试 

界面的功能一般包括后台数据的增删查改、用户输入输出校验、状态信息的显示和保存等,这些通常是通过CGI程序、Javascript程序、Cookies等来协同完成的。测试要根据目标功能对包含程序逐一进行验证。 

功能测试主要包含以下几个部分: 

是否能够提供用户正常的登录,是否具有登录失败时的合理处理,是否具有登录用户的状态信息存储,以及密码的差错校验和修改能力。 

对于用户输入,是否具有合法性检查,是以何种方式实现,这种方式是否适应所有情况和变化。若以javascript来实现,是否考虑了用户禁用javascript程序时的情况。 

若页面包含有Cookies,要验证Cookie包含信息已经加密且信息准确。 

对于每一个提交的表单,要验证后台程序是否能够准确接收和处理,以及是否包含了各种异常情况的处理。如果包含数据库操作或文件读写操作,要保证数据库工作正常,且后台程序对之具有完善的容错能力。 

这部分的测试方法很多,总体的功能验证可以通过引入测试工具来进行。有一些工具可以模拟网页表单的提交过程,测试人员只需要提前写好表单输入数据及预期输出结果,便可以对一系列功能进行批量验证。 

三、性能测试 

性能测试主要考虑服务器端在负载压力足够大的情况下,是否能保证性能长期稳定。这需要对服务器进行各种极限情况的测试,包括用户数目、运行时间、反复启停等情况的极限情况。这项测试通常能够找出系统的内存泄露或边界情况的问题。 

性能测试通常通过工具来进行,如loadrunner、webload、was、ewl、E-Test等,主要方法都是先编写出测试脚本,然后运行得出报告。这些工具基本都是利用线程技术模拟虚拟用户来实现的。 

四、测试工具 

网上介绍较多的包括以下一些工具: 

E-Test功能很强大,其实现采用的不是Post URL的方式,因此可以支持多内码的测试数据,基本可以测试大部分的Web站点。 

Microsoft Web Application Stress Tool利用脚本回放来代替手工劳动,验证页面表单对各种输入的响应结果,同时也能够提供一定的性能测试结果。 

PureLoad是一个很好的性能测试工具,完全用Java写成,可以测试各种C/S程序,如SMTP Server等。它和Microsoft Web Application Stress Tool都使用Post URL的方法测试Web项目,对大量使用JavaScript的页面不太适合。 

Linkbot是专门用来做页面链接测试的工具。 

MI公司的winrunner,compuware的qarun,Rational的SQA robot等可以用来做客户端的功能测试和服务器端的压力性能测试。 

也有一些工具是用来做测试流程管理的,比如Test Plan Control,test manager等等。 

软件测试之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的系统测试不但需要检查和验证是否按照设计的要 求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。

一个完整的Web安全体系测试可以从部署与基础结构,输入验证,身份验证,授权,配置管理,敏感数据,会话管理,加密,参数操作,异常管理,审核和日志记录等几个方面入手。

Web安全性测试

数据加密:某些数据需要进行信息加密和过滤后才能进行数据传输,例如用户信用卡信息、用户登陆密码信息等。此时需要进行相应的其他操作,如存储到数据库、 解密发送要用户电子邮箱或者客户浏览器。目前的加密算法越来越多,越来越复杂,但一般数据加密的过程时可逆的,也就是说能进行加密,同时需要能进行解密!

登录:一般的应用站点都会使用登录或者注册后使用的方式,因此,必须对用户名和匹配的密码进行校验,以阻止非法用户登录。在进行登陆测试的时候,需 要考虑输入的 密码是否对大小写敏感、是否有长度和条件,最多可以尝试多少次登录,哪些页面或者文件 需要登录后才能访问/下载等。

超时:WEB应用系统需要有是否超时的,当用户长时间不作任何操作的时候,需要重新登录才能使用其功能。

SSL:越来越多的站点使用SSL安全协议进行传送。SSL是Security Socket Lauer(安全套接字协议层)的缩写,是由Netscape首先发表的网络数据安全传输协议。SSL是利用公开密钥/私有密钥的加密技术。(RSA), 在位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以 获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。进入一个SSL站点后,可以看到浏览器出现警告信息,然后地址栏的http变成 https,在做SSL测试的时候,需要确认这些特点,以及是否有时间链接等一系列相关的安全保护。

服务器脚本语言:脚本语言是最常见的安全隐患,如有些脚本语言允许访问根目录,经验丰富的黑客可以通过这些缺陷来攻击和使用服务器系统,因此,脚本语言安全性在测试过程中也必须被考虑到。

日志文件:在服务器上,要验证服务器的日志是否正常工作,例如CPU的占用率是否很高,是否有例外的进程占用,所以的事务处理是否被记录等。

目录:WEB的目录安全是不容忽视的一个因素。如果WEB程序或WEB服务器的处理不适当,通过简单的URL替换和推测,会将整个WEB目录完全暴 露给用户,这样会造成很大的风险和安全性隐患。我们可以使用一定的解决方式,如在每个目录访问时有index.htm,或者严格设定WEB服务器的目录访 问权限,将这种隐患降低到最小程度。下载本文

显示全文
专题