
WEB测试应该注意哪些地方,怎样才能做好WEB
基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。
基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。
重要的是,还要从最终用户的角度进行安全性和可用性测试。
本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。
随着Internet和Intranet\\\/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。
许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。
范围广泛的、复杂的分布式应用正在Web环境中出现。
Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。
Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。
Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。
它使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于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的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。
重要的是,还要从最终用户的角度进行安全性和可用性测试。
软件测试工具有哪些
1. Page Speed OnlineGoogle的Page Speed Online(页面在线速度)启用了Google的网页性能优化方案。
输入你的网站,跑网页分析。
结束之后,Page Speed会打出一个综合分数,让后提供一套该净方案的总结报告:你可以逐个点击查看。
它还包括了手机端的网速测试。
2. Pingdom ToolsPingdom提供服务器,网络和网页监测。
它的总结报告更加详细:网页上的每一个对象的速度都有一份独立报告(图像、视屏、脚本、样式表等),其中还包括了网页缓存。
报告中的细目包括了下载速度,网页大小和提交的协议3. Free Website Performance Test (BrowserMob)BrowserMob的产品,提供网页加载测试和监测服务。
它的报告信息量更大(如图)。
还有一个特点是,它从全球4个地方ping你的网站,让后给出综合报告。
给了你一个全球性的视角。
4. Which loads faster?这个工具比较两个网站的速度,最后提供的报道是个相对的信息。
这样的工具很有用处:譬如输入google 和bing 来比较两者的优劣。
同样的,你可以用它来比较自己和竞争者的网站。
值得一提的是,它是个开源的工具。
5. WebPagetest这个小巧的工具是把你的网页加载到浏览器上从而测试他们的网页加载速度(浏览器包括了Chrome,Firefox 和IE).用户还能选择全球不同的地点打开你的网页的速度。
更加高级的功能是你能选择用户端网速和是否包括“屏蔽广告”,你就能知道在网页上跑广告的性能代价6. Web Page Analyzer这是所有这些性能测试里面最老的一个,建于2003年;根据测试报告,附加提供性能的意见。
7. Show Slow服务器应用ShowSlow的开源网页版;你可以添加需要检测的网页,show slow帮你用三大测试工具(YSlow,PageSpeed 和dynaTrac)定时测试。
这个工具虽然是免费的,但是需要注册使用。
8. Site-Perf这个对于网页设计人员来讲,有点太技术性,它的数据报告是基于发送包的数量和经过的路由器等等数据结合的;没有针对网页设计人员的总结。
但是对于技术人员来讲,又简单了点。
但是它有一个特点,对于需要登录的网页,提供用户名和密码也能监测。
9. Load Impact这个是20个工具里面功能最强大的。
它可以进行压力测试:用虚拟器模拟用户,观测随着用户增加,网页性能的变化。
可以测试出你的网页的耐用和高效。
10. OctaGate SiteTimer这个是所有工具里面最直观的;如果你就想知道你的网页里面哪个元素拖了后腿,就跑这个工具。
它就一张图,告诉你每个网页元素下载需要时间。
另外10个:11.Web Site Performance Test (Gomez) – 实时检测,深入到包括了查找域名时间。
12.Webslug – 比较两个网站从而给出一个相对性能优劣总结13.WebWait – 简单的工具;你给出要多少次要求,它显示每次要网页间的时间差14.Website Speed Test (Searchmetrics) – 基于网络速度,给出网页性能报表。
15.GTmetrix – 用Yslow和PageSpeed做测试的工具网站。
总结报告一目了然,适用于对外报告。
16.Website Speed Test (WebToolHub) – 表格形式,可以用在商务企划书上。
17.Yottaa Site Speed Optimizer – 需要注册。
可以用在商业企划书上,总结报告做地很漂亮。
18.Zoompf Free Web Performance Scan – 需要电邮注册。
它会扫一下你的网页,总结出取决网页性能的元素。
19.Site speed checker – 可以定义测试,然后放在最多10个网页上一起跑。
20.Free web site speed test (Self SEO) – 可以10个网页一起测试,看它们之间的差别。
如何搭建java web测试环境
WEB测试时搭建测试环境所需的软硬件包括:电脑一台、JDK1.6、Tomcat7.0、mysql、IE浏览器、Firefox浏览器、Chrome浏览器、SVN客户端通过SVN客户端导出最新的Web工程部署到Tomcat7.0下的webapps中,另外重要的一点就是修改数据库连接的配置文件,连接到正确的测试数据库(企业一般有开发人员所用的数据库和测试人员所用的数据库),数据库连接的配置文件在WEB-INF文件夹下,修改好数据库的配置文件后,在Tomcat7.0\\\\bin\\\\startup.bat启动Tomcat,在Tomcat没报错的情况下,用浏览器访问后台,出现一个登录界面,这样,一个简单完整的Web测试环境就搭建起来了
二、Web测试方法1、链接测试链接是web应用系统的一个主要特征,它表示页面与页面直接的切换和用户不知道具体地址去访问其他页面的手段,如果页面不能跳转或者是访问失败,有很大程度上是web应用程序的链接出问题了;其中有一个重要的性能指标就是链接速度的测试,用户打开一个页面或者是去访问另外一个页面,如果web系统响应时间太长(例如超过5秒钟),用户就会因没耐心而离开,还有就是有些页面有超时的限制,这样可能引起数据丢失,使用户得不到真实的页面。
2、数据库测试在web应用技术中,数据库起着重要的作用,数据库为web应用系统的管理、运行、查询和实现用户对数据存储的请求提供空间,也就是说用户在页面进行各类操作,如添加、查询删除等一系列动作,都会被数据库记录。
3、浏览器测试浏览器是web客户端最核心的构件,来自不同厂商的浏览器对不同开发语言开发的应用程序有不同的支持,这就需测试人员对主流的浏览器和不同版本的浏览器进行有效的测试。
4、平台测试市场上有很多不同的操作系统类型,web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置,因此,在web系统发布之前,需要在各种主流的操作系统下对web系统进程测试。
5、负载测试负载测试是为了测量web系统在哪一负载级别上的性能,以保证web系统在需求范围内能正常工作。
例如:web应用系统能允许多少个用户同时在线
如果超过这个数量会出现什么现象
Web应用系统能否同时处理大量用户对同一个页面的请求
6、压力测试进行压力测试通俗的来讲是指破坏一个web应用系统,测试系统的反映,测试系统的限制和故障恢复的能力,也就是测试web应用系统会不会崩溃,在什么样的情况下崩溃。
7、整体界面测试整体界面是指整个web应用系统的爷们结构设计,是给用户的一个整体感。
例如:当用户浏览web页面时是否感到舒适,是否凭直觉就知道要找的信息在什么地方,整个web应用系统的可用性在哪里。
三、总结本文主要讲述了web应用系统的搭建测试环境和web测试方法,在测试过程中,有的仅需要手动测试的,有的需要自动化测试工具的帮助,所以web系统的测试要求测试人员有很深的自动化测试技术。
什么是web自动化测试
web自动化测试,就是网页自动化测试。
通过软件对web对象进行输入数据,单击等操作,比较预结果和实际结果,包括测试报告。
怎样搭建web项目测试环境
学习感想——思路决定出路人的学习是无止境的,只有不断的学习,才能给自己更丰富,更开阔的思路,经过两天的学习,让我感悟到很多事情,都是有两面性的,穷则变,变则通,出路在于变通,当目前的想法不能成功,说明你的想法有可能是错的,或者是由于没有改变自己的思路或者是懒于改变自己的思路或者是根本不想改变自己的思路,成功总有方法,想成功就要找方法,而思考是一切正确策略和方法的起源,思考其实就是问与答的过程,当你做一件事情没有达到目标时,问自己一个为什么
问自己问题出在了哪里,然后自己给出答案,学会反思学会换位思考。
“没有不好的孩子,只有不好的教育”,例如,在课堂中,在一日生活中孩子没有如我们所预想的那样做一些正确的事情,不能达到我们所要求的目标时,我们只能对孩子着急吗
与其对孩子发脾气,不如改变自己的教育观点理念,反思自己为什么,不能懒于改变自己的思路,就要求别人去适应自己的思路,我们何不反思自己从事情的另一个角度开始着手,可能会有意外收获,就像我们经常说的,给孩子机会孩子就会给你惊喜。
从中,我还深刻的理解到一个道理,大凡世界上能做大事的人,都能把小事做细,做好,做好了每件小事逐渐积累就会发生质变,小事就会变成大事,任何一件小事只要你把它做规范了,做到位了,做透了,你就会从中发现机会,找到规律,从而成就大事,也就是说,一件事情我会做了,但做好了吗,做精了吗,一个人无论从事何种职业,都应该尽心尽责



