51Testing软件测试论坛

标题: 对Web服务进行压力测试方法 [打印本页]

作者: rachel504    时间: 2007-6-24 09:13
标题: 对Web服务进行压力测试方法
Web 服务处于分布式计算的核心位置,它们之间的交互通常很难测试。分布式开发、大型的开发者团队以及对代码日益组件化的期望都有可能使 Web 服务的开发变得越来越容易隐藏错误。这些类型的错误极难检测出来。压力测试是检测这类代码错误的一种有效方法,但是只有在压力系统设计得比较有效的情况下才能发挥作用。本文将让您深入了解一下这种压力系统的基本要求。
测试方法

传统的测试方法包括某种形式的简单 单元测试 ,通常由开发人员执行。设计这些测试需要了解软件的内部知识,并且这些测试几乎总是针对产品的非常小的、特定的部分。这些类型的测试非常适合与其他代码组件极少交互,甚至没有交互的简单 Web 服务。


功能验证(Functional Verification) 也 是一种测试过程,在这个过程中,对产品源代码了解有限的设计者进行测试以确认产品或服务的核心功能。设计这种测试是为了证明这个核心功能符合某个规范。举个例子,我的在线拍卖显示的是输入的正确出价吗? 我的保险经纪人系统找到最便宜的报价了吗?如果这些测试失败,通常就意味着检测到了产品的一个基本问题(这个问题通常是可以直接修复)。这种测试也是适合简单的 Web 服务,使您可以检查服务是否能够正确执行它的各个功能。


系统测试(System Test) 通常是在功能验 证阶段完成,验证了核心功能后进行。它倾向于把整个系统作为一个整体来查找问题 — 弄清 Web 服务作为系统的一部分怎样运作,以及 Web 服务相互之间如何交互。由于系统测试是在开发生命周期快结束时才进行,所以通常不能给它分配足够的时间来完成。又因为紧张的发行日程安排以及开发的各个重要阶段的后移,系统测试阶段经常被忽略,并且一些通常都可以发现的、少见的错误都不能被检测到。即使发现了这种错误,这时也来不及确定错误的原因并设法修 复它们了。因此,在查找代码错误时,必需把系统测试应用设计得尽可能高效。系统测试通常由三部分组成,它们是:

从检测代码错误这方面来说,可以证明这三个系统测试组件中效率最高的是 压力测试 部分。但由于这个过程经常跟系统的其他要素或功能测试混淆在一起,所以这个过程涉及到的方法还没有被正确着手处理或实现。
压力下的错误

使用压力测试,您有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是:

现有的压力测试工具

有许多声称能够对 产品进行压力测试的可用工具目前正在开发中。被广泛应用的是针对 Web 服务的那些工具。然而,这些工具中有许多只是简单的 HTML/SOAP 生成器,它们模拟许多客户机连接,并因此对 Web 服务器生成高负载(这对于查找 Web 服务器的问题很有用,但对于查找 Web 服务的问题就没那么有用了)。这些工具对基本的压力测试比较有用,但它们经常是仅仅扩展功能验证阶段来重复地执行相同的功能任务。如果足够的时间和资源可用,就可以通过创建定制构建的压力测试系统来实现更有效的测试。由于压力系统的设计者通常对要测试的产品和 Web 服务有更多的了解,所以他们将能够确保压力系统可以用于哪些具体的代码区域。

设计压力应用

设计试图对 Web 服务进行压力测试的压力测试系统时,要让它们以某种特定的方式运行代码。这些风格超越了功能验证,目的是要弄清楚被测试的 Web 服务是不是不仅能做我们认为它能做的事,而且在被施加了某些高强度压力的情况下仍然继续正常运行。压力测试必须对 Web 服务应用四个基本条件。许多已建立的压力系统应用了这些条件。有效的压力测试系统将应用以下这些关键条件:


作者: rachel504    时间: 2007-6-24 09:13
一个压力测试通常会结合上述的所 有原则,并且在允许的范围内尽可能长时间地运行。测试被允许的执行时间越长,就可以遍历越多的代码路径,并且发现的错误也越多。当然,一旦找到错误就必须诊断并修复它。由于一个代码错误可以在压力测试运行多日以后自己显示出来,所以系统必须保证当出现错误时所有可用的调试信息都被生成 — 否则可能就必须花费同样多的时间来重现这个错误。
作者: xiyufenfei    时间: 2007-6-26 09:22
不错的学习了
作者: Jessica_whsljj    时间: 2007-6-26 09:49
sdlkfj2
作者: rachel504    时间: 2007-7-2 18:38
欢迎大家到我的空间小坐 :)   http://www.51testing.com/?76388
作者: linmi_010    时间: 2007-8-11 16:11
学习
作者: changlang530    时间: 2007-8-14 14:33
了解
作者: chinatesting    时间: 2007-8-17 12:24
学习
作者: chinatesting    时间: 2007-8-17 12:24
顶了
作者: chinatesting    时间: 2007-8-17 12:24
路过
作者: storm    时间: 2007-8-20 14:19
学习了
作者: 119139107    时间: 2007-8-20 15:02
不错  说的很正确
学习了。。。。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2