基于Web系统的测试技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WEB系统的相关测试技术

一、WEB测试的内容与目的

在很多时候都是把测试的目的定位与寻找软件的BUG和漏洞,测试人员需要做的事情就是找软件毛病,只要找出毛病就可以了,这样很容易带来一系列的问题。比如测试人员给某系统做完测试后,提交一份测试报告说“当使用某项功能时,重复执行某一项操作若干次以后系统出先死机”。对于测试人员来说,他已经完成了自己的任务,找出了BUG,但是,这样的测试报告对于开发人员和项目管理者却毫无用处。因为报告中并没有提到造成失败的原因。比如:硬件资源不足、网络问题、支撑软件参数设置错误还是应用开发问题等。

测试的目的是证伪,但不能片面理解为简单的找BUG。系统性的软件测试应该经历以下下四个步骤:、

1、测试人员详细描述发现的问题(BUG)。

2、测试人员详细描述是在什么情况下测试发现的问题,包括:测试的环境、输入的数据、发现问题

的类型、问题的严重程度等。

3、测试人员协同开发人员一起去分析问题原因,找出软件缺陷所在。

4、测试人员根据解决的情况进行分类汇总,以便日后进行软件设计的时候提供参考,避免以后出现

类似软件缺陷。

二、制定WEB测试计划

明确了测试目的之后,当开始针对一个WEB应用程序进行测试的时候,需要定制详细的测试计划,这样才能顺利的完成所有测试内容,计划总体归纳如下:

1、首先需要对被测的WEB应用程序需求进行分析,包括描述测试的目标和范围、所测试的目标要

实现什么样的功能等。

2、写出测试策略和方法(测试用例),包括测试的环境条件、测试的类型、测试开始的标准以及所

测试的功能。测试通过或不通过的标准、结束测试的条件(测试过程中遇到什么样的情况可以终

止测试)、下一次测试需要达到的要求等。

3、确定测试环境要求(包括软件盒硬件),选择匹配的测试软件。

4、详细描述你测试的细节,包括测试用例、错误等级、测试过程会出先的风险分析等。

三、测试的类型

WEBc测试的类型包括:内容测试、界面测试、功能测试、性能测试、兼容性测试、安全测试。其中内容、界面和兼容性方面的测试相对简单,与现在的系统测试判别方法类似。

WEB的功能测试与我们现在的软件测试区别不大,主要区别在于连接测试方面,数据的传递方面相对复杂。由于WEB软件都是采用B/S结构,客户端所需的服务都是由服务器提供的,所以主要是测试服务器上软件运行的性能。

WEB性能测试

WEB应用程序的测试包括客户端连接速度方面的测试和压力测试两方面。

1、链接速度测试

用户链接到Web应用系统的速度根据上网方式的变化而变化。当下载一个程序时,用户可以等较

长时间,但是仅仅是访问一个页面就不会这样了。如果Web系统响应时间太长(5秒以上),用户就会因没有耐心等待而离开。

另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容就需要从新登陆了。而且连接速度太慢还可能引起数据丢失,使用户得不到真实的页面。

2、负载测试

负载测试时为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内正常工作。

负载级别可以使某时刻同时访问Web系统的用户数量,也可以是在线数据处理的数据量。

例如:Web应用系统能允许多少个用户同时在线?如果超过了允许数量会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求等。

3、压力测试

负载测试应该安排在Web系统发布以后,在实际网络环境中测试。如果是在项目组人员有限,而一个Web系统能同时处理的请求数量远远超出这个限度,最好能够放在Internet上,接受负载测试,其结果才是正确可信的。

进行压力测试是指实际破坏一个Web应用系统,测试系统的反应。压力测试是测试系统限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。

压力测试的区域包括表单、登陆和其他信息传输页面等。

当我们在进行性能测试的时候,需要收集一些有效的性能指标,如下:

1、通用指标(WEB应用服务器、数据库服务器必需测试项)

1)Processor Time:服务器CPU占用率,一般平局达到70%时,服务就接近饱和状态了。

2)Memory Available Mbyte:内存可用数。

3)Physicsdisk Time:物理磁盘读写时间状况。

2、WEB服务器指标

1)Avg Rps:平均每秒钟响应次数=总请求时间/秒数。

2)Avg time to last byte per terstion:平均每秒业务脚本的失代次数。

3)Successful Rounds:成功的请求。

4)Failed Rounds:失败的请求。

5)Successful Hits:成功的点击次数。

6)Failed Hits:失败的点击次数(由于同时访问连接过多导致页面打开失败,刷新或多次刷

新后打开成功)。

7)Hits per second:每秒点击次数。

8)Successful hits per second:每秒成功的点击次数。

9)Failed hits per Second:每秒失败的点击次数。

10)Attempted Connections:尝试连接数。

3、数据库服务器指标

1)User 0 Connections:用户连接数(也就是数据库的连接数量)。

2)Number of Deadlocks:数据库死锁。

3)Butter cache hit:数据库Cache的命中情况。

WEB功能测试

1、链接测试

链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面:

1)测试所有链接是否按指示那样确实链接到该链接的页面。

2)测试所链接的页面是否存在。

3)保证Web应用系统上没有孤立的页面(指没有链接指向该页面,只有知道正确的URL地

址才能访问)。

链接测试可以自动进行,目前网上已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说在整个Web应用系统的所有页面开发完成之后进行链接测试。

2、表单测试

当用户给Web应用系统管理员提交信息时,就需要使用表单操作(如:用户注册、登陆、信息提交等)。在这种情况下,我们必须测试提交操作的完整性,以检查提交给服务器的信息的正确性。

例如:用户填写的信息是否符合填写规定。使用系统默认值时,还需要检测默认值的正确性。对于特别字符的容错能力也需要验证,看系统是否都能够正确报错。

3、Cookies测试

Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户的计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。

如果Web系统使用了Cookies,就必须检查Cookies是否能正常工作,测试的内容包括,Cookies 是否起作用、是否按预定的时间进行保存、刷新对Cookies的影响等。

4、设计语言测试

Web设计语言本本的差异可以引起客户端或服务器端严重问题。例如使用那种版本的HTML等。

当在分布式环境中开发时,开发人员都不在一起,这个问题就尤为重要,除了HTML的版本问题外,不同的脚本语言(如:java、java script、perl 等)也要进行验证。

5、数据库测试

在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求邓提供空间。在Web应用中最常用的数据库类型是关系型数据库,可以使用Sql 对信息进行处理。

在使用了数据库的Web应用系统中,一般情况下可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的。输出错误主要是由于网络速度或程序设计问题引起,针对这两种情况可分别进行测试。

WEB可用性测试

1、导航测试

导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?

在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,

相关文档
最新文档