web测试之总流程归纳

目录

 

简介

测试指标

测试计划

测试类型

功能测试

性能测试

用户界面测试

兼容性测试

安全测试

接口测试


简介

随着网络技术的迅速发展,尤其是Web及其应用程序的普及,各类基于Web的应用程序以其方便、快速、易操作等特点不断成为软件开发的重点。Web以其广泛性、交互性和易用性等特点迅速风靡世界,网页数量正以几何数量级飞速增长。能够吸引尽可能多的用户并对其长时间关注是网站追求的主要目标,也是衡量一个网站是否成功的主要指标,这就对网页功能的正确性、有效性和完善性提出了较高的要求,从而测试就成为应用开发过程中的一个重要环节。

目前可以见到各种Web服务器平台,然而根据Mereur的研究报告,98%的Web服务器都没能达到人们所期望的性能,平均只能发挥人们所期望性能的1/6左右。Web性能测试能够确定影响Web服务器性能的关键因素,从而可以有针对性地进行分析和改进,避免Web服务器研究和优化过程中的盲目行为;同时,它也是选取不同的Web服务器的重要参考。

随着Web应用程序使用越来越广泛,针对其性能测试的要求也越来越多,然而由于Web程序综合了大量的新技术,诸如HTMLJavaJavaScriptVBScript等,同时它还依赖很多其他的因素,比如LinkDatabase,Network等,使得Web应用程序测试变得非常复杂 


测试指标

1.通用指标

通用指标是指Web应用服务器、数据库服务器必需测试项,包括:

(1)处理器时间:指服务器CPU占用率,一般平均达到70%时,服务就接近饱和。

(2)可用内存数:如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重。

(3)物理磁盘读写时间。

2.Web服务器指标

(1)平均每秒响应次数为总请求时间与秒数之比。

(2)平均每秒业务脚本的迭代次数。

(3)成功的请求和失败的请求。

(4)成功的点击次数和失败的点击次数。

(5)每秒点击次数、每秒成功的点击次数和每秒失败的点击次数。

(6)尝试连接数。

3.数据库服务器指标

(1)用户连接数,也就是数据库的连接数量。

(2)数据库死锁量。

(3)数据库缓存的命中情况。

以上指标只是一些通用指标,对于不同的应用还需作相应的调整,比如程序使用的是.NET技术,则必须加入一些针对性的测试指标。对于这些指标的详细了解,可以参考Windows下面的System Monitor的帮助与Load Runner和ACT的帮助。 


测试计划

当明确了测试的目的之后,真正开始针对一个Web应用程序进行测试的时候,需要制定一套详细的测试计划,这样才能顺利地完成所有的测试内容。计划的内容归纳为以下几步:

(1)首先对被测的Web应用程序进行需求分析,即对所做的测试作一个简要的介绍,包括描述测试的目标和范围,所测试的目标要实现一个什么样的功能,总结基本文档、主要活动。

(2)写出测试策略和方法,这里包括测试开始的条件、测试的类型、测试开始的标准以及所测试的功能、测试通过或失败的标准、结束测试的条件、测试过程中遇到什么样的情况终止和怎么处理后恢复等。 


测试类型

Web测试的类型包括内容测试、界面测试、功能测试、性能测试、兼容性测试、安全性测试等。内容测试、界面测试和兼容性测试都比较简单,不再细谈。Web的功能测试与传统的软件测试区别不大,主要是在连接测试方面有点区别,数据的传递方面会稍微复杂点。由于Web软件都是采用B/S结构,客户端所需的服务都是由服务器提供的,所以主要是测试服务器上软件运行的性能。Web应用程序的测试包括客户端连接服务器速度方面的测试和压力测试这两方面。性能测试的基本步骤如下:

(1)分析产品结构,明确性能测试的需求,包括并发、极限、配置和指标等方面的性能要求,必要时基于LOAD测试的相同测试需同时考虑稳定性测试的需求。

(2)分析应用场景和用户数据,细分用户行为和相关的数据流,确定测试点或测试接口,列出系统接口的可能瓶颈,一般是先主干接口再支线接口,并完成初步的测试用例设计

(3)依据性能测试需求和确定的测试点进行测试组网设计,并明确不同组网方案的重要程度或优先级作为取舍评估的依据,必要时在前期产品设计中提出支持性能测试的可测试性设计方案和对测试工具的需求。

(4)完成性能测试用例设计、分类选择和依据用户行为分析设计测试规程,并准备好测试用例将用到的测试数据。

(5)确定采用的测试工具。

(6)进行初验测试,以主干接口的可用性为主,根据测试结果分析性能瓶颈,通过选代保证基本的指标等测试的环境。

(7)迭代进行全面的性能测试,完成计划中的性能测试用例的执行。

(8)完成性能测试评估报告。 


功能测试

(1)链接测试。链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些未知地址的页面的主要手段。链接测试可分为3个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证 Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,亦即在整个Web应用系统的所有页面开发完成之后进行链接测试。

(2)表单测试。当用户通过表单提交信息的时候,都希望表单能正常工作。如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册完成后应返回注册成功的消息。如果使用表单收集配送信息,应确保程序能够正确处理这些数据,最后能让用户收到信息。要测试这些程序,需要验证服务器是否能正确保存这些数据,而且后台运行的程序能否正确解释和使用这些信息。当用户使用表单进行用户注册、登录、信息提交等操作时,必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果使用默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。

(3)Cookie测试。Cookie通常用来存储用户信息和用户在某些应用系统的操作,当一个用户使用Cookie访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookie的形式存储在用户端计算机上,这可用来创建动态和自定义页面或者存储登录等信息。如果Web应用系统使用了Cookie,就必须检查Cookie是否能正常工作。测试的内容可包括Cookie是否起作用、是否按预定的时间进行保存、刷新对Cookie有什么影响等。如果在Cookie中保存了注册信息,应确认该Cookie能够正常工作而且已对这些信息加密。如果使用Cookie来统计次数,需要验证次数累计是否正确。

(4)数据库测试在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。在使用了数据库的Web应用系统中,一般情况下可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。 


性能测试

(1)连接速度测试。用户连接到Web应用系统的速度根据上网方式的变化而变化,或许是电话拨号,或许是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5s),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还来不及浏览内容,就需要重新登录了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

(2)负载测试。负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。

负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为对于一个企业,其内部员工数量总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。

(3)压力测试。压力测试的区域包括表单、登录和其他信息传输页面等。进行压力测试是指实际破坏一个Web应用系统,测试系统的反应。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。在Internet上黑客攻击常采用的方式是:提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。因此,对应用系统的压力测试很有必要。 [1] 

用户界面测试


(1)导航测试。导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。

在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致,确保用户能快速了解Web应用系统中是否还有内容以及内容的位置。Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。

(2)图形测试。在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框颜色、字体、背景、按钮等。图形测试的内容有:

1)确保图形有明确的用途,图片或动画必须排列有序以节约传输时间。Web应用系统的图片尺寸要尽量小,并且能清楚地说明某件事情,一般都链接到某个具体的页面。

2)验证所有页面字体的风格是否一致。

3)背景颜色应该与字体颜色和前景颜色相搭配。

4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩,最好能使图片的大小减小到30KB以下。

5)需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。

(3)内容测试。内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的。信息的准确性是指是否有语法或拼写错误,这种测试通常使用一些文字处理软件来进行。信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓“相关文章列表”。

(4)整体界面测试。整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。对所有的用户界面测试来说,都需要有外部人员的参与,最好是让最终用户参与。 


兼容性测试

(1)平台测试。市场上有很多不同的操作系统类型,最常见的有WindowsUNIX,Macintosh,Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,在Web系统发布前,需要在各种操作系统下对Web系统进行兼容性测试。

(2)浏览器测试。浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,JavaScript,ActiveX,plug-ins或不同的HTML规格有不同的支持。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不同。测试浏览器兼容性的一个方法是创建兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。

(3)组合测试。最后需要进行组合测试。600像素×800像素的分辨率在MAC机上可能不错,但是在IBM兼容机上却很难看。在IBM机器上使用Netscape能正常显示,但却无法使用Lynx来浏览。如果是内部使用的Web站点,测试可能会轻松一些。如果公司指定使用某个类型的浏览器,那么只需在该浏览器上进行测试。如果所有的人都使用T1专线,可能不需要测试施加的下载。有些内部应用程序,开发部门可能在系统需求中声明不支持某些系统而只支持那些已设置的系统。但是,理想的情况是,系统能在所有机器上运行,这样就不会限制将来的发展和变动。 


安全测试

安全测试是检验在系统中已存在的系统安全性、保密性措施是否发挥作用。它主要包括以下几个方面:

(1)目录设置:正确设置目录。

(2)SSL:使用SSL进行安全传送,确定是否有相应的替代页面。

(3)登录:验证系统阻止非法的用户名/口令登录。

(4)日志文件:注意验证服务器日志是否正常。

(5)脚本语言:脚本语言是常见的安全隐患。 


接口测试

(1)服务器接口。第一个需要测试的接口是浏览器与服务器的接口。测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。测试人员还可以查询数据库,确认事务数据已正确保存。

(2)外部接口。有些Web系统有外部接口。例如,网上商店可能要实时验证信用卡数据以减少欺诈行为的发生。测试的时候,要使用Web接口发送一些事务数据,分别对有效信用卡、无效信用卡和被盗信用卡进行验证。如果商店只使用Visa卡和MasterCard卡,可以尝试使用Discover卡的数据(简单的客户端脚本能够在提交事务之前对代码进行识别。

(3)错误处理。最容易被测试人员忽略的地方是接口错误处理。通常我们试图确认系统能够处理所有错误,但却无法预期系统所有可能的错误。可以尝试在处理过程中突然中断事务,看看会发生什么情况,看订单是否完成;或是尝试中断用户到服务器的网络连接,或者尝试中断Web服务器到信用卡验证服务器的连接,在这些情况下,系统能否正确处理这些错误,是否已对信用卡进行收费。如果用户自己中断事务处理,在订单已保存而用户没有返回网站确认的时候,需要由服务提供商致电用户进行订单确认。 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值