网站测试经验谈fgfg

来源:百度文库 编辑:神马文学网 时间:2024/04/29 21:14:45
网站测试经验谈 .h1 { FONT-WEIGHT: bold; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 22pt; MARGIN: 17pt 0cm 16.5pt; LINE-HEIGHT: 240%; TEXT-ALIGN: justify } .h2 { FONT-WEIGHT: bold; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 16pt; MARGIN: 13pt 0cm; LINE-HEIGHT: 173%; TEXT-ALIGN: justify } .h3 { FONT-WEIGHT: bold; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 16pt; MARGIN: 13pt 0cm; LINE-HEIGHT: 173%; TEXT-ALIGN: justify } DIV.union { FONT-SIZE: 14px; LINE-HEIGHT: 18px } DIV.union TD { FONT-SIZE: 14px; LINE-HEIGHT: 18px } .h1 { FONT-WEIGHT: bold; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 22pt; MARGIN: 17pt 0cm 16.5pt; LINE-HEIGHT: 240%; TEXT-ALIGN: justify } .h2 { FONT-WEIGHT: bold; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 16pt; MARGIN: 13pt 0cm; LINE-HEIGHT: 173%; TEXT-ALIGN: justify } .h3 { FONT-WEIGHT: bold; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 16pt; MARGIN: 13pt 0cm; LINE-HEIGHT: 173%; TEXT-ALIGN: justify } .union { FONT-SIZE: 14px; LINE-HEIGHT: 18px } .union TD { FONT-SIZE: 14px; LINE-HEIGHT: 18px }

随着网络技术不断成熟,网站功能日益增加,越来越多的业务系统演化为基于 Weh 的应用,如 Web OA ,电子商务等。测试是为这些服务降低风险的主要手段。对网站的测试应从用户界面、功能、兼容性、性能和安全几方面综合考虑,并借助自动测试工具提高效率。

一、 测试方法

网站测试采用灰盒测试方法。灰盒测试结合了白盒测试和黑盒测试的要素,既关注软件的外部属性和行为,又在原代码级了解软件内部数据结构、实际的逻辑流程和体系结构的基础上测试软件,是从开发者的角度看待测试,综合考虑用户端、特定的系统知识和操作环境。 Web 应用由大量的组件(包括软件和硬件)组成,这些组件必须在设计系统的环境中测试,以便评价它们的功能和兼容性。而灰盒测试在系统组件的协同性环境中评价软件的设计,对基于 Web 的应用来说是最为有效完整的测试。灰盒测试涉及到高层设计、环境和互操作性条件等,能发现容易被黑盒和白盒测试忽略的问题,特别是端对端的信息流问题、分布式硬/软件配置问题以及兼容性问题。在灰盒测试过程中通常能发现与 Web 系统密切相关的具体环境错误。

二、 用户界面

用户交互:是否有中心工作空间,并在各页面之间保持一致。是否每个页面都有导航工具,并保持直观一致。 Ul 控件的命名方式是否简明一致,每个控件的默认状态是否恰当; Web 应用系统的主要部分是否可通过主页访问;操作和响应方式是否与 Web 应用程序及行业标准一致,响应结果是否正确,是否发生了数据一致性错误和输出错误;如果说明文字指向右侧的图片,该图是否出现在右侧;表格中的证件号码与姓名放在左边,其他细节放在右边,是否更有效;根据所提供的帮助文档进行操作,是否能够出现预期结果;是否提供正确的反馈和错误提示信息。

页面元素:整个 Web 应用系统的页面结构、 Ul 控件、字体、链接是否风格一致。背景颜色是否与字体颜色和前景颜色搭配。文字回绕是否正确。图片是否使段落没有对齐或出现孤行。表格每一栏的宽度是否足够,是否因某一单元格内容太多,而将整行拉长。图片是否小于 3OK ,首页是否采用了大图。

三、 功能测试

链接:所有链接是否按指示的那样确实链接到了该链接的页面,所链接的页面是否存在。应保证 Web 应用系统上没有孤立的页面(即没有链接指向该页面,只有知道正确的 URL 地址才能访问)。链接测试必须在集成测试阶段完成,也就是说,在整个 Web 应用系统的所有页面开发完成之后进行链接测试

表单:必须测试表单提交操作的完整性与正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,要检验默认值的正确性。表单是否只能接受指定的某些值?例如只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。服务器能否正确保存通过表单提交的数据,后台系统能否正确解释和使用这些信息。

Cookie :如果 Web 应用系统使用了 Cookie , 必须检查 Cookie 是否能正常工作,包括 Cookie 是否起作用,是否按预定的时间进行保存,刷新对 Cookie 有什么影响等。如果在 Cookie 中保存了注册信息,应确认该 Cookie 能够正常工作而且已对这些信息已经加密。如果使用 Cookie 来统计次数,需要验证次数累计是否正确。

接口:应测试浏览器与服务器的接口,即提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。还可以查询数据库,确认事务数据已正确保存。有些 Web 系统有外部接口。应要确认软件能够处理外部服务器返回的所有可能的消息。最容易被忽略的地方是接口错误处理。尝试在处理过程中中断事务,中断用户到服务器的网络连接,在这些情况下,系统能否正确处理这些错误。如果用户自己中断了事务处理,是否在用户没有返回网站确认的时候已保存了订单。

应用系统的特定功能:应对应用系统特定的功能需求进行验证。尝试用户可能进行的所有操作,例如下订单、更改订单、取消订单、在线支付等等。

四、 客户端兼容性

操作系统:是否能在 MAC 和 IBM 兼容机上浏览网站。是否使用了只在某个系统上可用的字体或插件。

浏览器:是否能用 Netscape 、 Internet Explor - er 或场 nx 浏览网站。不同厂商的浏览器对 Java Applet 、 DHTML 、 ActiveX 、 HTML 、插件、安全协议及 H 竹 P 的支持不同。用户也会对浏览器进行不同的设置,如禁用图片或采用较高的安全级别。框架和层在不同的浏览器中显示效果不同,甚至根本不显示。 IE3 . 0 及以上版本才能使用 SSL 安全特性,但是对于老版本的用户应该有相关的消息提示。测试浏览器兼容性的一个方法是创建一个兼容性矩阵,在这个矩阵中测试不同厂商、不同版本的浏览器对某些插件和设置的适应性。

屏幕设置:当改变屏幕分辨率( 640 x48o 、 800x600 、 1024x768 、 1280xl024 )、字体大小、和显示器颜色深度( 16 色、 24 位真彩色、 32 位真彩色)时,页面是否正常显示。

连接性:有的用户享有 Tl 专线,但许多人使用的是 28 . SKModem 。如果网站响应时间太长(如超过 5 秒钟),用户就会失去耐心而离开。另外,有些页面有超时限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登录了。

打印机:有时屏幕上所显示的图片和文本的对齐方式可能与打印出来的东西不一样,因此需要验证网页打印是否正常,至少应验证订单确认页面打印是正常的。

组合测试: 800x600 的分辨率在 MAC 机上可能不错,但是在 IBM 兼容机上却很难看。在 IBM 机器上使用 NetscaPe 能正常显示,但却无法使用助 nx 来浏览。理想的情况是,系统能在所有机器上运行,这样就不会限制将来的发展和变动。

五、性能测试

负载:负载测试是为了测量 Web 应用系统在某一负载级别上的性能,以保证 Web 应用系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问 Web 应用系统的用户数量,也可以是在线数据处理的数量。例如:网站能允许多少个用户同时在线,如果超过了这个数量,会出现什么现象。 Web 应用系统能否处理大量用户对同一个页面的访问,如能否在瞬间访问高峰时响应上百万的请求在用户传送大量数据的时候能否响应,系统能否长时间运行。

压力测试:进行压力测试是指在实际破坏一个 Web 应用系统的情况下,测试系统的反映,即系统的控制和故障恢复能力。 Weh 应用系统是否会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载或发送大量数据包来攻击服务器,直到 Web 应用系统崩溃。

可靠性:网站是否发生服务器内存泄漏、数据库交易日志容量不足等问题。

六、 安全性测试

身份认证:用户名和密码是否采用特定规则,如大小写敏感,限制最大字符数,限制字母和数字字符组合方式。如果用 ActiveX 或 Coohe 保存个人信息,是否加密是否支持频繁地密码修改。是否限制登录失败次数。是否能够通过书签、历史登录信息或捕获的 URL 绕开登录程序。是否限制某些 IP 登录。用户登录后在一定时间内(如巧分钟)没有点击任何页面,是否需要重新登录才能正常使用。

内容攻击:基于内容的攻击其载体是内容,攻击的对象是应用程序,目标是取得对应用主机的控制权,攻击主机。如填写表单数据时,采用恶意格式,导致 Web 组件执行错误,引发应用程序出错。是否防范了输人/输出攻击、数据攻击和计算攻击。对于目录和文件是否施加了访问控制:是否过滤恶意代码和命令,限制使用应用协议的命令集,检查基于关键词的信息内容。为组件的每个输人提供源自转义序列或元字符集合的输人字符,是否导致意外结果。是否能够绕开有效性验证,从站点外部提交表单。是否发生缓冲区溢出。

SSL (安全套接字):使用 SSL 时,要测试加密是否正确,检查信息的完整性。是否有连接时间限制,超过限制时间后出现什么情况。

脚本语言:服务器端的脚本常常构成安全漏洞,有些脚本允许访问根目录,有些允许访问邮件服务器,这些漏洞常常被黑客利用。在没有经过授权的情况下,是否能在服务器端放置和编辑脚本。是否针对脚本语言的缺陷进行了处理。

七、 工具

应该说,好的测试都是自动测试,即测试计划由人设计,但实际的测试操作却是由程序或者自动化工具来完成:一方面,测试的目的在于发现错误,在改正错误的过程中必然要进行频繁的回归测试( Ression Testing ) ,而所测试的内容多半是重复的,这样的重复劳动可以交给计算机去完成。另一方面,有些测试过程没有办法单纯靠手工完成,比如底层通讯协议测试、 1 / 0 性能测试、对服务程序支持的并发交易量的测试等等:对于这些测试需求,必须利用合适的自动化工具,模拟所需的测试环境,自动运行待测试的软件,并记录参数指标。鉴于回归测试工作量的庞大,以及某些特定的测试工作无法由人工完成等原因,测试必须自动化。

目前,商品化的自动测试工具已有很多,包括:端口扫描(如 Nmap 、 Cisco Secure Scanner ) , 网络监视(如 Windows NT / 2000 Network Moni - tor 、 Tcpdump 、 Ethereal ) ,系统安全缺陷检查(如 SAINT 、 WebTrends Security Analyzer 、 PGP Cy - berCop Scanner / Monitor 、 Symantec NetRecon ) ,性能和负载测试( Mercu LoadRunner 、 Rational Robot 、 Se e SilkPerformer 、 Empirix / RSWe - ad 、 Computer QALoad 、 Microsoft Web Applica - tion StresS Tool ) ,性能监视( WindowS NT / 2000 Performance Monitor 、 Ksysguard 、 GlaneePlus for HP / UX 、 Windows NT / 2000 Task Manager ) ,缺陷跟踪( Merant PVCS Tracker 、 Elsinore Visual Intercept 、 Rational ClearQuest ) , HTML / Link 验证 ( Rational Site Check 、 NetMechanic HTML Tool - box 、 W3C Validators 、 Watchfire Linkhot ) .

参考文献

[1](美) James A . Whittaker .实用软件测试指南.电子工业出版社, 2003 .

[2](美) Elfriede Dustin .有效软件侧试.清华大学出版社, 2003 .

[3](美) Hung Q . N 即 yen . Web 应用侧试,电子工业出版社, 2003 . [ 41 (美) Ron Patton .软件测试.机械工业出版社, 2002 .