WEB信息系统测试方法1.功能测试1.1.链接测试链接是web应用系统的一个主要特征,它是在页面之间切换和指导用户区一些不知道地址的页面的主要手段。链接测试可分为三个方面:一、是否所有链接按指示的那样链接到了该链接的页面二、所链接的页面是否存在三、保证WEB应用系统上没有孤立的页面(孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问)采取措施:采用自动检测网站链接的软件进行测试推荐软件:XenuLinkSlenthHTMLLinkValidator(备注:动态生成的链接无法测试)1.2.表单测试用户通过表单提交信息,都是希望表单能正常工作。一、依据表单填写内容的格式,字符与特殊字符等具体的要求结合数据校验对其进行测试。二、对表单提交的完整性,以验证服务器信息的正确性。如所属省份与所在城市是否匹配完整性需求。1.3.数据校验根据业务规则需要对用户输入进行校验,需要保证这些校验功能正常工作。是对表单的输入内容进行校验,确认系统能够接受。需要验证列表完整性;程序是否正确调用了该列表;列表操作是否正确,如在列表中添加一个测试值;数据校验测试和表单测试可能会有一些重复。1.2和1.3的采取措施:WinRunner(QTP)工具1.4.Cookies测试Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或存储登录等信息。如果WEB应用系统使用了cookies,就必须坚持cookies是否能正常工作。测试的内容可包括cookies是否起作用,是否按预定的时间进行保存,刷新对cookies有什么影响等。如果cookies中保存了注册信息,请确认cookies能够正常工作而且对这些信息以及加密。如果使用cookies来统计次数,需要验证次数累计正确。采取措施:采用查看cookies的软件进行可以选择采用的软件:IECookiesViewv1.50CookiesManagerv1.11.5.数据库测试数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。可以使用SQL对信息进行处理。使用了数据库的Web应用系统,可能引发的两种错误:一、数据一致性错误:主要是由于用户提交的表单信息不正确而造成的二、输出错误:主要是由于网络速度或程序设计问题等引起的问题。针对这两种情况,可分别进行测试。采取措施:考虑结合到1.2和1.3的测试中1.6.应用程序的特定的功能需求应用程序特定的功能需求的验证。采取措施:根据程序需求规格说明文档进行测试1.7.设计语言测试Web设计语言版本的差异可以引起客户端或服务器端严重的错误,如:HTML版本,不同的脚步语言,例如Java、JavaScript、ActiveX、VBScript或Perl等。在分布式环境中开发时,开发人员不在一起工作,很容易出现这个问题。采取错误:(比较笨的方法)在开发前,对开发人员的开发脚本语言、版本进行统一化要求。2.性能测试(包括负载/压力测试)2.1.连接速度测试用户连接到Web应用系统的速度根据上网方式的变化而变化(宽带上网、光纤上网)web系统响应时间太长(例如超过5秒钟),用户就会因为没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了,而且连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。2.2.负载测试负载测试是为了测量Web系统在某一负载级别上的性能,以保证WEB系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。在Internet上,接受负载测试,其结果才是正确可信的2.3.压力测试压力测试是指实际破坏一个WEB应用系统,测试系统的反应。压力测试是测试系统的限制和故障恢复能力,即Web应用系统在什么情况下会崩溃,崩溃后,系统出现的反应。压力测试的区域包括表单、登陆和其他信息传输页面等。重要指标:CPU使用情况、内存使用情况采取措施:采用测试工具WAS、ACT协助进行测试测试工具测试负载/压力测试关注问题:(1)瞬间访问高峰:负载测试工具能够模拟X个用户同时访问测试站点。(2)每个用户传送大量数据:系统能够处理单个用户的大量数据。(3)长时间使用3.用户界面测试3.1.导航测试测试Web系统的页面结构:一、导航条、菜单、连接的风格是否一致?二、各种提示是否准确,确保用户凭直觉就知道是否还有内容,内容在什么地方。三、最好让最终用户参与导航测试,效果将更加明显。3.2.图形测试一个web应用系统的图形可以包含图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:一、要确保图形有明确的用途,图片或动画不要胡乱地堆在一起。图片尺寸要尽量地小,要能清楚地说明某件事情,一般都链接到某个具体的页面。二、验证所有字体的风格是否一致。三、背景颜色应该与字体颜色和前景颜色相搭配。四、图片的大小和质量也很重要,一般采用JPG和GIF压缩,最好能使图片的大小减少到30k以下。五、需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。采取措施:使用少许或尽量不使用背景,最好使用单色的,和导航条一起放在页面的左边。3.3.内容测试内容测试用来检测Web应用系统提供信息的正确性、准确性和相关性。一、信息的正确性是指信息是可靠的还是误传的。二、信息准确性是指是否有语法和拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Word的“拼音与语法检查”功能。三、信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口。例如,在查找文章时,在一般web站点中的所谓“相关文章列表”。3.4.表格测试需要验证表格是否设置正确。尽可能在不滚动条的情况下可以看到表格内的所有有效内容。3.5.整体界面测试整体界面测试是指整个WEB应用系统的页面结构设计,是给用户一个整体感。采取措施:手动测试,参与人员最好有外部人员4.兼容性测试4.1.平台测试市场上有很多不同的操作系统类型,最常见有Windows、Mac、Linux等采取措施:在Web系统发布之前,需要在不同操作系统下对WEB系统进行兼容性测试。4.2.浏览器测试浏览器是web客户端最核心的构件。不同厂商的浏览器对Java、JavaScript、ActiveX或不同的HTML规格有不同的支持。框架和层次风格在不同的浏览器中也有不同的显示或不显示。不同的浏览器对安全性的设置也不一样。浏览器内核品牌JavaJavaScriptActivesVBScriptTrident(MSHTML)IE360安全浏览器遨游搜狗浏览器世界之窗GeckoFirefoxMozillaWebkitSafariGoogleChromePrestoOpera(7.0以上版本)采取措施:创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。4.3.分辨率测试页面版式在1024*768、1366*768、1440*900、1920*1080的分辨率下是否显示正常?字体是否太小以至于无法浏览?或者太大?文本和图片是否对齐?4.4.Modem/连接速率针对不同网络环境测试,一般宽带、光纤等,需要尽量使用与用户相同的网络环境进行测试。4.5.打印机网页在设计的时候要考虑到打印的问题,注意节约纸张和油墨。需要验证网页打印是否正常。测试人员需确认在屏幕上显示的图片和文本的对齐方式与打印出来的东西的一致性,以及一些特别功能表单打印的正确性。4.6.组合测试结合4.1和4.2测试,对web应用系统进行测试。采取措施:根据实际情况,采取等价划分的方法,列出兼容性矩阵。开发部门在系统需求中声明不支持某些系统而只支持一些那些已设置的系统。5.安全测试4.7.目录设置Web安全的第一步就是正确设置目录。每个目录下应该有index.html或main.html页面,这样就不会显示该目录下的所有内容。4.8.SSL安全套接字测试很多站点使用SSL进行安全传送。你知道你进入一个SSL站点是因为浏览器出现了警告消息,而且地址栏中的HTTP变成HTTPS。如果开发部门使用了SSL,测试人员需要确定是否有相应的替代页面。当用户进入或离开安全站点的时候,请确认有相应的提示信息。是否有连接时间限制?超过限制时间后出现什么情况?4.9.登录有些站点需要用户进行登录,以验证他们的身份。主要考虑以下几个方面:一、验证系统是否阻止非法的用户名/口令通过有效登录二、用户登录是否有次数限制?如有限制,那么超出限制后会出现什么情况?三、口令选择是否有规则限制?四、是否可以不登陆而直接浏览某个页面?五、Web应用系统是否有超时的限制。即用户登陆后在一定时间内(例如15分钟)没有对页面进行任何操作,是否需要重新登陆才能正常使用?4.10.日志文件在后台,需要验证服务器日志工作正常。日志对所有的事务处理的记录情况?是否在事务完成的时候都进行保存?4.11.脚本语言脚本语言是常见的安全隐患。每种语言的细节有所不同。有些脚本允许访问跟目录。有些只允许访问邮件服务器,但是经验丰富的黑客可以将服务器用户名和口令发送给他们自己。找出站点使用了那些脚本语言,并研究该语言的缺陷。还要需要测试没有经过授权,就不能在服务器端房子和编辑脚本的问题。6.接口测试4.12.服务器接口第一个需要测试的接口是浏览器与服务器的接口。测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。测试人员还可以查询数据库,确认事务数据已征求保存相关信息。4.13.外部接口有些web系统由外部接口。例如,网上商店可能要实时验证行用卡数据以减少欺诈行为的发生。4.14.错误处理一、测试在处理过程中中断事务,会发生什么情况?订单是否完成?二、测试中断用户到服务器的网络连接。三、测试中断web服务器到信息卡验证服务器的连接。在所有的这些情况下,系统是否正确处理这些错误?系统是否对行用卡进行收费?