《Web系统测试》由会员分享,可在线阅读,更多相关《Web系统测试(43页珍藏版)》请在金锄头文库上搜索。
1、Web系统测试,华中农业大学计算机科学系,典型的Web应用结构,例:,例:,Web系统的测试范围,功能测试性能测试安全性测试易用性测试(UI测试)兼容性测试数据库测试其他测试如:分辨率,流量,1. Web系统功能测试,页面内容测试页面链接测试表单测试设计语言测试数据库测试Cookies测试测试工具QT,(1)页面内容测试,内容测试用来检测Web应用系统提供信息的正确性、准确性和相关性。 正确性 准确性 相关性,页面内容测试(续),网页中的文字标签,(2)链接测试,链接是使用户可以从一个页面浏览到另一个页面的主要手段,是Web应用系统的一个主要特征。 链接对于网站用户而言意味着能不能流畅的使用整
2、个网站提供的服务,因而链接将作为一个独立的项目进行测试。,链接测试(续),检查的内容: 测试所有链接是否能正确链接; 测试所链接的页面是否存在; 保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面。 方法:自动化测试工具 Xenu Link Sleuth 免费 绿色免安装软件 HTML Link Validator 共享(30天试用) IBM appScan(安全),(3)表单测试,当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如:用户注册、登陆、信息提交等。 必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。 SQL注入:NetsparkerCo
3、mmunityEditionSetup,(4)设计语言测试,Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。 除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、 ActiveX、VBScript或Perl等也要进行验证。,(5) 数据库测试,在使用了数据库的Web应用系统中,可能发生两种错误: 数据一致性错误:由于用户提交的表单信息不正确而造成的 输出错误:由于网络速度或程序设计问题等引起的,(6)Cookies测试,Cookies通常用来存储用户信息和用户在某个应用系统的操作。 当一个用户使用Cookies访问了某一个应用
4、系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。,Cookies测试(续),Cookies测试的内容: Cookies是否起作用? 是否按预定的时间进行保存? 刷新对Cookies有什么影响等。 如果在 Cookies中保存了注册信息,请确认该 Cookies能够正常工作而且已对这些信息已经加密。 如果使用 Cookies来统计次数,需要验证次数累计正确。,2. Web系统性能测试,连接速度测试 负载测试 压力测试 测试工具 LoadRunner 网页性能Firefox插件:Yslow,Findbug
5、,PageSpeed Dynatrace这个工具检查网页性能也不错,(1)连接速度测试,用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。 如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。,(2)负载测试,负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。 某个时刻同时访问Web系统的用户数量 在线数据处理的数量,负载测试(续),负责测试的方法:使用测试工具模拟并发用户以及获取测试结果 Webload LoadRunner JMeter ,(3)压力测试,进行压力测试是指实际破坏一个W
6、eb应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。,负载/压力测试关注什么?,验证系统能否同一时间响应大量的用户,用户传送大量数据时能否响应,系统能否长时间运行。 瞬间访问高峰 每个用户传送大量数据 长时间使用,(4)安全测试内容,目录 登录 日志文件 数据加密 脚本语言 SSL 网络抓包:httpwatch,目录设置,Web 安全的第一步就是正确设置目录。目录安全是Web安全性测试中不可忽略的问题。 如果Web程序或Web服务器的处理不当,通过简单的URL替换和推测,会将整个Web目录暴露给用户,这样会造成Web的安
7、全性隐患。 每个目录下应该有 index.html 或 main.html 页面,或者严格设置Web服务器的目录访问权限,这样就不会显示该目录下的所有内容,从而提高安全性。,登录,很多站点都需要用户先注册后登录使用,从而校验用户名和匹配的密码,以验证他们的身份,阻止非法用户登录。,日志文件,为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。 在后台,要注意验证服务器日志工作正常。,加密,当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。,SSL,很多站点使用 SSL(Security Socket Layer)安全协议进行传送。
8、SSL表示安全套接字协议层,是由Netscape首先发表的网络数据安全传输协议。SSL是利用公开密钥/私有密钥的加密技术,在位于HTTP层和TCP层之间,建立用户和服务器之间的加密通信,从而确保所传送信息的安全性。,4. 易用性测试,导航测试 图形测试 图形用户界面(GUI)测试 可靠性测试,导航测试,导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,或在不同的连接页面之间。 Web应用系统导航帮助要尽可能地准确。 导航的页面结构、导航、菜单、连接的风格要一致。,图形测试,在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。 一个Web应用系统的图
9、形可以包括图片、动画、边框、颜色、字体、背景、按钮等。,图形用户界面(GUI)测试,整体界面测试 界面测试要素 界面内容测试,(a)整体界面测试,整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。 对最终用户进行调查的过程。 一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。,(b)界面测试要素,界面测试要素主要包括: 符合标准和规范 灵活性 正确性 直观性 舒适性 实用性 一致性,(c)界面测试内容,站点地图和导航条 测试站点地图和导航条位置是否合理、是否可以导航等。内容布局是否合理,滚动条等简介说明。 确认测试的站点是否有地图。站点地图和/或导
10、航条可以引导用户进行浏览。需要验证站点地图是否正确。确认地图上的链接是否确实存。地图有没有包括站点上的所有链接。,5. 客户端兼容性测试,平台测试 浏览器测试 IETester检查各种ie版本的兼容性,(1)平台测试,不同的操作系统类型,最常见的有Windows、Unix、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题。,(2)浏览器测试,浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。 例如,ActiveX是Micro
11、soft的产品,是为I E而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。,6.数据库测试,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。 在Web应用中,常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。,数据库测试是Web网站测试的一个基本组成部分。 对于测试人员,要真正了解后台数据库的内部结构和设计概念,制定详细的数据库测试计划,至少能在程序的某个流程点上并发地查询数据库。,数据库测试的主要因素,数据的完整性 测试的重点是检测数据损坏程度。设定适当的检查点可以减轻数据损坏的程度。比如,检查事务日志以便及时掌握
12、数据库的变化情况。 数据有效性 数据有效性能确保信息的正确性,使得前台用户和数据库之间传送的数据是准确的。在工作流上的变化点上检测数据库,跟踪变化的数据库,判断其正确性。,数据操作和更新,根据数据库的特性,数据库管理员可以对数据进行各种不受限制的管理操作。具体包括: 增加记录; 删除记录; 更新某些特定的字段。,总结,Web系统测试不但需要检查和验证是否按照设计的要求运行(功能和性能),而且还要评价系统在不同用户的浏览器端的显示是否合适(兼容)。重要的是,还要从最终用户的角度进行安全性和可用性测试。,案例:博客系统的测试,功能测试 测试用例设计 使用QuickTest进行测试 性能测试 测试场景设计 使用LoadRunner进行测试 测试报告,