分布式文件系统(DistributedFileSystem)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。
现在开源的或是商用的分布式文件系统有很多,比如hadoop、GFS、mogileFS以及淘宝本身的Tair、TFS。这些所有的系统都有一些共同的要求:支持数据的增删改查,分布式的服务部署方式、具有高可扩展、高可用、高性能的共性。这些共性也是分布式文件系统的主要的测试需求。
首先,支持数据的读写删。该点为系统的基本功能。测试需要对提供给用户的所有的基本功能(接口)进行测试,保证基本功能的正确。以tair为例,实现了增删改查的所有接口的功能测试。
其次,分布式的服务部署方式。对于分布式文件系统支持多种的部署方式,比如32位、64位机,不同的服务部署、配置测试、不同的数据分配策略的测试等等。
第三,高可扩展性,分布式系统支持服务的热插拔,测试需要根据本身系统的特性设计相应的扩展的功能或是容灾用例,比如增加节点,或是节点的删除,需要保证数据的完整性和高一致性,不能影响数据的正常的操作。
第四,高可用行,也是高稳定性。需要增加稳定性压力测试,保证各种情况下服务的正常。增加异常的容灾用例,比如不同节点的异常、以及服务的关起等测试。
***,高性能,测试需要对系统进行性能测试和调优,根据不同分布式文件系统的特点设计相应的测试场景进行性能测试。