波仔紧急需求,吾在万分情急下整理此资料,想必对自己和他人有益
一、web测试定义
从用户角度出发,对web项目的功能和性能进行全面测试。
二、web测试常用方法
1、功能测试
1.1链接测试
链接是 Web 应用系统的一个主要特征,它是用户用于链接到不明确页面地址的主要手段。分三个方面:首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;
其次,测试所链接的页面是否存在;
最后,保证 Web 应用系统上没有孤立的页面,只有知道正确的URL 地址才能访问。
链接测试可以自动进行,目前许多工具可以采用。链接测试必须在集成测试阶段完成,即在整个Web应用系统的所有页面开发完成之后进行链接测试。
1.2表单测试
用户提交信息需要使用表单操作,例如用户注册、登陆、信息提交等。需测试提交操作的完整性,以校验提交给服务器的信息的正确性。eg:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。eg:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错等。
1.3 Cookies测试
Cookies 通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用 Cookies 访问了某一个应用系统时, Web服务器将发送关于用户的信息,把该信息以Cookies 的形式存储在客户端计算机上用于创建动态和自定义页面或者存储登陆等信息。
测试点:①Cookies 是否起作用 ②是否按预定的时间进行保存 ③刷新对 Cookies 有什么影响等
1.4 Session测试
1.5权限测试
包括:功能权限,数据校验,操作权限和权限变化。
注意点:①功能权限是否存在,功能权限是否正确,②数据权限是否存在,数据权限是否正确,③操作权限是否存在,操作权限是否正确
1.6设计语言测试
Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。
当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,eg:Java 、Javascrīpt、ActiveX、VBscrīpt或 Perl 等也要进行验证。
1.7数据库测试
数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的是关系型数据库,可用SQL对信息进行处理。
一般针对可能发生两种错误测试,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的
2、web性能测试
2.1.连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。
当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(eg超过5s),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2.2资源占用测试
在网站正常响应用户请求的前提下,尽量减少对系统资源(CPU,内存,磁盘等)的占用。
2.3.负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,为保证Web系统在需求范围内正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可是在线数据处理的数量。
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web 系统能同时处理的请求数量将远远超出这个限度,所以放在 Internet 上,接受负载测试,其结果可信。
测试点:①Web应用系统能允许多少个用户同时在线?②如果超过了这个数量,会出现什么现象?③Web应用系统能否处理大量用户对同一个页面的请求?
2.4稳定性测试
考察Web系统承受长时间运行的行为。
2.5.压力测试
压力测试是考察Web系统应用服务器承受用户请求量,并发请求量的行为。测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。
测试步骤:①确定接受请求完成响应允许的最大延时
②估计web应用程序的最大并发用户数量,模拟用户请求和用户延迟
③获取和发送cookie
④记录web的多线程情况
⑤记录性能数据,控制带宽
⑥确定瞬间访问web的高峰值,每个用户传送大量数据,长时间访问改web站点
3、可用性测试
3.1.导航测试
导航描述了用户在一个页面内操作的方式。eg:按钮、对话框、列表和窗口等;决定一个Web应用系统是否易于导航取决于:①导航是否直观?②主要部分是否可通过主页存取?③是否需要站点地图、搜索引擎或其他的导航帮助?
另外:在一个页面上放太多的信息往往起到与预期相反的效果。很少有用户愿意花时间去熟悉Web应用系统的结构,故Web应用系统导航帮助要尽可能地准确。
另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉知道Web应用系统里面是否还有内容,内容在什么地方。让最终用户参与这种测试,效果将更加明显。
3.2.图形测试
在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。图形可包括图片、动画、边框、颜色、字体、背景、按钮等。
测试点:①要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,浪费传输时间。图片尺寸要尽量地小,并且能清楚地说明某件事情,一般都链接到某个具体的页面。②验证所有页面字体的风格是否一致。
③背景颜色应该与字体颜色和前景颜色相搭配。④图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
3.3.内容测试
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。Eg:在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,eg Microsoft Word 的 " 拼音与语法检查 " 功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,即一般Web站点中的所谓 " 相关文章列表
3.4.整体界面测试
整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。eg:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个设计风格是否一致?
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
4、客户端兼容性测试
4.1.平台测试
在web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。常见的Windows,Linux,Unix,Macintosh等
4.2.浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商开发的web浏览器对Java,Javascrīpt,ActiveX,plug-ins,DIV+CSS或不同的HTML规格有不同的支持。Eg:ActiveX 是Microsoft的产品,是为 Internet Explorer而设计的, Javascrīpt 是 Netscape 的产品,Java 是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。
测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
4.3分辨率测试
5、安全性测试
Web 应用系统的安全性测试区域主要有:目录设置,SSL,登录,日志文件
(1)web安全的第一步就是正确的设置目录。每个目录下应该改有index.html或main.html页面,这样就不会显示改目录下的所有内容。
(2)SSL测试。很多站点使用SSL进行安全传送。使用SSL需要确定是否有相应的替代页面(注意:有部分浏览器不支持SSL,需要在测试时进行区分)
(3)现在的 Web 应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
(4)Web 应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如 15 分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
(5)为了保证 Web 应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(6)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
(7)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
(8)日志文件测试,在后台注意验证服务器日志工作是否正常,注意测试内容:
日志是否记录所有的事务处理?
日志是否记录注册失败的情况?
日志是否在每次事务完成的时候都对其进行保存?
日志是否记录IP地址?
日志是否记录用户名?
二、web测试工具
(1) jWebUnit
它是基于java的测试网络程序的框架。它提供了一套测试见证和程序导航标准,jWebUnit由JUnit和HtppUnit实现
(2) Apache JMeter
Apache JMeter是一个专门为运行和服务器装载测试而设计的、100%的纯Java桌面运行程序。原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送。它可以用来测试静止资料库或者活动资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
(3) Selenium
Selenium是一个用于Web应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla和Firefox等。这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能--创建衰退测试检验软件功能和用户需求。
三、web测试总结
基于 Web 的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于 Web 的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。