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

上一篇 / 下一篇  2012-08-27 20:40:33 / 个人分类:自动化测试—云端测试

 

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

 

一、分布式系统和编程

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

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

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

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

RMIjava虚拟机模块之间的通信。

Corba是通过IDL描述接口,不同编程语言模块之间可通过Cobra服务进行通信。

SOAP是靠XML来描述接口,通过HTTP协议进行通信。

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

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

 

二、分布式应用

举几个简单的例子说说分布式

1、 我们常用的web也是分布式的,浏览器和服务器之间的交互是通过http协议,而可以将各个资源分配到各个服务器,而我们常说的云计算就是这么来的。

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

 

三、分布式测试和应用

常见的测试范围

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

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

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

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

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

 

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

1、 测试资源可以分配到各个执行端进行测试。

2、 测试结果可以统一收取集中到服务器上进行查看。

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

4、 可以监控和跟踪自动化测试过程

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

 

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

                         ——散步的SUN

 


TAG:

xin_晴的个人空间 引用 删除 xin_晴   /   2012-08-28 10:33:38
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/28/n-822528.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
文青山 引用 删除 wolaizhinidexin   /   2012-08-28 09:20:00
5
 

评分:0

我来说两句

Open Toolbar