30

文 / 帅丹文

分布式系统具有软硬件平台分布性、高稳定性、高可用性、高可扩展性、高可管理性、高并发性及数据一致性等多种特性。正是由于这些重要的特性,使得分布式系统的测试过程变得相对复杂和困难。本文主要从分布式系统测试的四个重要方面出发,探讨分布式系统测试过程中存在的一些难点问题并进行适当的分析。

分布式系统测试环境

一般来说,分布式系统是由一组服务器或者网络设备组成(如图1)。我们在部署测试环境的时候,所涉及的系统架构也会是比较复杂的,有以下几个方面:

  • 网络架构。在图1中,我们应该如何在本地测试实验室环境中模拟分别位于北京和纽约的两个数据中心呢?由于地理原因,北京和纽约之间网络的RTT(Round Trip Time)至少不会低于某个值。所以,在正式进行测试之前,我们需要构建出测试所需要的网络环境,模拟出这样的固定网络延时。
  • 硬件要求。例如,我们曾经测试过一个分布式的文件系统,数据服务器要求运行在裸盘设备上(数据的存储格式、寻址方式自定义以提高查找速度),所以,在安装操作系统时需要特别考虑这样的需求。同时,在测试前,我们需要按照系统设计的要求采购硬件设备。例如,硬盘的规格(SATA硬盘还是SAS硬盘)、内存的规格等。
  • 配置复杂。分布式系统涉及的软硬件平台较多,整个系统中需要设置的参数项非常多,系统配置过程会相应地变得复杂、困难和易错。例如,在图1中,我们需要配置的系统配置文件至少有十多个。

实践-1

图1  一个典型的分布式系统

如果条件允许的话,分布式系统的测试环境应该由测试工程师自己来搭建。系统管理员、网络管理员等都没有办法完全代替测试工程师来进行这些工作,因为他们并不清楚在实际的测试过程中,测试工程师对软硬件环境的具体需求是什么,尤其是不同的测试用例对于环境的要求可能是不一样的。 阅读全文 »

标签:
阅读:28,260 次
preload preload preload
京ICP备06065162