分布式系统设计和测试总结

上一篇 / 下一篇  2012-08-29 09:05:58 / 个人分类:杂谈

!r%G*it y6}5XA0  序言:在当今,有一门技术很是热门,那就是分布式技术,也许很多人对分布式技术很疑惑,但是实际上,你总是与分布式技术打交道,我们若想更好的把握住以后的测试机遇,那么则要让自己不断的对这些系统基础知识了解,这样才能去创新。有不对的地方请指教,谢谢啦

do7FA*S~)j4R0

(ZNj&E-ay|0  一、分布式系统和编程

A0Q `E,U4P0

B w[U(|6q h0   1、分布式计算:将一个大型的高难度的计算拆分成若干个子进程进行计算,然后计算完毕后,回收结果。这个需要区分的是并行计算,并行计算是指并发执行, 分为空间和时间的并行,空间则是我们常说的多核,而时间则是利用了流水线,错开时间。他们的共同点是解决对象上,都将大任务化为小任务,这是他们共同之 处。区别在于前者的每个任务具有独立性,并且更关注的是任务间的通信。后者的任务包是一个划分,之间的联系很大。51Testing软件测试网*}R {#vh+[|Q(^(U

1fPDAYH5k)U0  2、分布式操作系统:一个分布式系统是若干个计算机操作系统组成,但是对于用户而言,就像一个巨型计算机一样。

"O9lD0U-D?2L z051Testing软件测试网B)e`fl(r s&NI

  3、分布式编程:简单而言,,其主要特征是分布和通信。即将一个大型软件系统,分割成若干个模块,然后模块之间利用规范好的接口进行通信。

)F9UZm;VM051Testing软件测试网:s nx3Qn

  例如:我常用的是Java的分布式编程,包括:RMI、Corba以及SOAP

H?6W"D j5K8Gub7Sf0

G/Q&Wwtz0  RMI是java虚拟机模块之间的通信。

3elm4gzp"YO``051Testing软件测试网a1C;A%v\6qTT9E)a

  Corba是通过IDL描述接口,不同编程语言模块之间可通过Cobra服务进行通信。51Testing软件测试网P4NQ-dJ~H`

*})wh]W l4L v7k0  SOAP是靠XML来描述接口,通过HTTP协议进行通信。51Testing软件测试网$fmS!v,O`kCyT

51Testing软件测试网` \ ^-NJp jc

  4、分布式存储:将一个大型计算机资源可以分配到不同的存储系统上,整体可以看做一个大型存储系统。例如:现在很火的Hadoop的HDFS就提供了这么一个功能。

G$ET'Ks1?l)d?H0

NP#NH7O|0  所以,总之,分布式重点就在于:能够统一管理和分配资源,协调好各个分布式模块之间的通信。

*g*[8w:?{nb N9}0

Hl'h7s{M FO\\0  二、分布式应用51Testing软件测试网t.`ygTV2R

51Testing软件测试网p H$M8yU'^&Y:f:]

  举几个简单的例子说说分布式51Testing软件测试网0|0Tij@ Sr

51Testing软件测试网.@)H4X'tn`

  1、我们常用的web也是分布式的,浏览器和服务器之间的交互是通过http协议,而可以将各个资源分配到各个服务器,而我们常说的云计算就是这么来的。51Testing软件测试网)LF YUg#JX)G

9j;T g4_)x0  2、在一些C/S系统中,也利用了分布式,将计算和资源进行分配,互相之间利用接口进行通信。

Y,c%T A~![ q7tvJ0

D[+S]w]$xM0  三、分布式测试和应用

(@UtB^E"R,F051Testing软件测试网AZ2h(mw

  常见的测试范围51Testing软件测试网O v1Yt]6Oa n|4h

8Je$\$i])W:N0  1、模块测试;对分布式系统中的单个模块进行测试。因为分布式模块中的模块有一定独立性,所以先保证每个模块的功能。这部分可以考虑用白盒测试来实现一部分测试。

NX!q~)b|3be1Q0

X SY9t@yL0  2、接口测试;因为分布式系统之间的通信主要应用接口,所以专门针对接口进行测试。这方面可以考虑用通过自动化进行请求和相应实现一部分测试。

S4Oy,oN051Testing软件测试网rYEB6f:o

  3、系统测试;全面将各个模块进行部署,按照功能需求进行测试。这部分的话,可以依靠一些上层的自动化测试,例如:WEB的话可以是ui级别的自动化测试。51Testing软件测试网2C:l k|jRnGt

51Testing软件测试网 `[([C1B7|

  4、性能压力测试;高压力和高并发下测试,各个模块之间的响应速度和接收程度等。例如:web系统的高并发测试,C/S系统的多个客户端同时请求服务器。51Testing软件测试网h?%im.u vQ7j

P&Ud ZjX@?0  5、模拟测试;即尽可能真实模拟应用环境。如果系统太过庞大,也可计算比例进行模拟。

D JjIfq&v1m0

yXTj~P6b0  四、分布式自动化测试平台

5WGO L9Z+y9t0

+^ x:luz0  1、测试资源可以分配到各个执行端进行测试。51Testing软件测试网8uO+kP9j*Na

oj_)Pj8by0  2、测试结果可以统一收取集中到服务器上进行查看。51Testing软件测试网_n4t)}}k?3i

51Testing软件测试网-n1`9Z7FaH

  3、可以多个服务器保存测试资源。

&v,v1S{+G.y051Testing软件测试网7|ed'X-xNR

  4、可以监控和跟踪自动化测试过程51Testing软件测试网3TZ0?4w;b

51Testing软件测试网4J CNY-Lm)Oz#c*d

  总之,即测试执行资源可以进行分配、测试数据可以分配、测试结果可以分配。但是对于整个外界而言却是一个整体系统。

U#|Mk N051Testing软件测试网s6z uR/I!M"g!Q3r&ri

   总结:不同的软件系统有不同的测试方法,我们如果要对一个系统能够充分进行测试,一定要了解其运作原理、然后从原理出发,合理划分其测试类型和测试需 求,根据测试类型和测试需求然后找到具体的测试方法,这样才能一步一步提高我们的测试效率。不能做其然而不知其所以然吧。

5}I.q.wO%c2B7x:l ~0

&O.d6H!w6pg%L0版权声明:本文出自 散步的SUN 的51Testing软件测试博客:http://www.51testing.com/?382641

/wCjMV2l9}0

TAG:

 

评分:0

我来说两句

Open Toolbar