Web服务测试与传统软件测试的对比分析及技术介绍

上一篇 / 下一篇  2012-04-11 09:06:24 / 个人分类:杂谈

在淘宝干了这么长时间的高性能web服务器测试及其相关Web服务测试之后,心里总会想,Web服务测试与传统软件测试有什么不同吗?Web测试的难点在哪里呢?对于这些难点有啥解决技术不?在查阅相关资料之后,做个总结吧。51Testing软件测试网:sW[5{ y-J$]I#^

  介绍:51Testing软件测试网jh T1\|0U

M*Af;u)YPq+_0  Web服务与传统软件的不同点:51Testing软件测试网9_2G~F3k?

51Testing软件测试网4\q2q-n4ItB

  1、Web服务的应用环境与其开发环境存在较大的不同:

6NjG R(l1D5C o/R-k051Testing软件测试网 J ceXzZ Ew

  Web服务的应用环境存在极大的不确定性,如访问的用户类型、并发用户数量、Web服务调用的装载模式和访问方式等;

)QkR T0c#BL0

*r&aqu5n0  对传统软件相对来说,其应用环境更可控一些;

#p v#H^IvJ,y051Testing软件测试网 ? oU+k,k4m c,\9| {U

  2、自动化测试方法应用程度:

TFJ/O}*sq a051Testing软件测试网$Z/X`5y~

  Web服务测试主要基于服务接口进行设计和实现,因此可以更多的采用自动化测试方法;

+\1q}f:Vm[d2\051Testing软件测试网 z Sc'b H

  而传统软件则更加依赖于大量人工干预;51Testing软件测试网JoEE]2d-E1X

nYG!m#BF0  3、对性能和可扩展性的要求程度:

G$f?bW051Testing软件测试网ki Z g4aa

  Web服务测试需要面对大量用户通过不同环境进行访问的场景,因此对性能和可扩展性的要求非常高;

A~ c;_S0\ |0

M)u1F)sgk!KJ|0  而传统软件,特别是单机版的软件如:Office、Adobe Reader等,对性能的要求就没有那么高了;51Testing软件测试网a nDd5\m$PG+I

h2lz],}0  4、不确定及不可见因素的差别:51Testing软件测试网Q$Bb^V4q5W[3KT

51Testing软件测试网$vx3V i&K

  对于Web服务的发布、展现和绑定都是动态完成的,具有很高的不确定性和不可见性;51Testing软件测试网s+Kb6D\

51Testing软件测试网.B7E t;Hi$E

  而传统软件可以将这些逻辑固定化,降低不少风险;51Testing软件测试网Qo+^-qRq(v-ll

51Testing软件测试网%L._ `o7[

  5、安全隐患:51Testing软件测试网1u?4G5S(h T^

2L/?9?S wJ-}.gS0  对于Web服务来说,每发布一个访问的接口或方法都会提高一份被攻击的机会。特别是对于那些所调用的分散和异构的外部Web服务的安全隐患更大;

^Q"t(y'v z&x5h051Testing软件测试网Z*t3v ^ ldA6F

  而传统软件由于不具备太多的分布访问的特点,可以降低相应的安全隐患;51Testing软件测试网sfl]E(YKQ

Pr?H A7X.X+q0  Web服务测试的主要难点:

j+S%x2g/|y0E$]~7@$T0

v9u$F:gPa+w0  由于上文提到的Web服务与传统软件的不同点及现在普遍采用的一些不同于传统软件的Web服务开发方式所印出来的各种测试难题。51Testing软件测试网5|+S"O y`

3g G6r?|-tk/D0  如:51Testing软件测试网d:Z8v P~*k~"u

hM`#L3oT E@B(_&a0  对于相对独立的各个环节,如何规范和管理测试过程(如缺陷跟踪过程)?51Testing软件测试网1M4p M3M1pE

51Testing软件测试网? y C `"w(a

  在多方并行参与的结构下,如何组织测试并统一和度量测试结果?51Testing软件测试网 O8^ Cy'd Y6UXF ya

51Testing软件测试网C7Q3U#t? bC D

  在分布式的环境中,如何测试远程的服务?51Testing软件测试网+|w9Hlu q#JPE3j

51Testing软件测试网1YoE)eI DG+^h

  在用户环境不确定的情况下,如何定义并检验服务的质量?51Testing软件测试网QHK l8^z!m

51Testing软件测试网+s6_ RI9h#| {

  在服务软件演化的过程中,如何进行回归测试?等等。

;K VD4V8u%P ?0

/e,D_+oOg0  可将这些问题归结为以下几个方面:51Testing软件测试网X!]*Qf6ApNN

51Testing软件测试网Un(I5Z^8m

  1、Web服务的基本功能测试51Testing软件测试网5T4C@d?*JBK

51Testing软件测试网jaX1ou!H7]9L

  2、Web服务协议的测试;51Testing软件测试网xl*yN,e5x3{

9uZ0mw!?0~ _+V0  3、面向服务体系结构的发布、查找和绑定的能力测试;51Testing软件测试网 l0fp Y$J^`

*Q bD ?"J i0  4、Web服务的集成能力测试;

5X&\4gL {Es)k P051Testing软件测试网$XF2s'[3l-o

  5、Web服务的服务质量测试;

h#Oy'Gf!Tg ` cR%s051Testing软件测试网C G$~3^Ee ^2H M

  6、Web服务的性能与负载测试;51Testing软件测试网\ @o(p^1a2FUU

51Testing软件测试网'S1\Z@.| ]4M

  7、Web服务的安全性测试;51Testing软件测试网'G3T(Q0p.W5T

51Testing软件测试网/P&eb.a}'L,?

  解决上述测试难点的一些技术介绍:51Testing软件测试网P7@+K4F A n$O"Et8a5^

i1R} e4GPq0  想要解决以上的测试问题,需要有相关的技术支持,如:51Testing软件测试网cwY @K$rV

51Testing软件测试网Vw.wJ2G%Gm f

  1、能够建立Web服务测试过程模型,以便在分布式的环境下,有效地、系统地组织各个相对独立的测试环节;

s'g2fd?5z$bYj||051Testing软件测试网8Mq$` C$H

  2、能够有效验证各种协议及各层之间通信信息的正确性、完整性和一致性;51Testing软件测试网.tXTfE

&x `3Y%Hkg7P8w0  3、测试自动化技术,包括基于规格说明的测试用例自动生成技术、测试脚本技术、远程测试执行、分布式环境下测试的调度和规划、测试结果的分析和度量;51Testing软件测试网 rf Gp4^*U#i3g)G4P)^

51Testing软件测试网.x)e!I7ty

  4、Web服务用户使用模式的捕捉、分析和预测,这是测试模拟的基础。尤其是对于性能测试,需要模拟典型的用户行为,以及高峰期的用户数、数据量和并发链接数;

$cJ/B)[ ZLQ0J051Testing软件测试网I\#kUt {

  5、CASE工具的研发,以支持Web服务测试的管理、自动化、调度和监控;

}h"O+jn4dU7lLV&Q0

mtn.F@n0  结论:51Testing软件测试网"O8j|U Y1h

51Testing软件测试网oRc.u)I#WP4T8M

  Web服务测试之路任重而道远,与大家共勉,一起努力。51Testing软件测试网F\:L#e9Ir8u$W

51Testing软件测试网d'YzRaS

  OK,Web服务测试与传统软件测试的对比分析及技术介绍介绍完毕,欢迎拍砖。51Testing软件测试网O[-? ? {


TAG:

 

评分:0

我来说两句

Open Toolbar