天天看点

分布式系统测试

一、什么是分布式测试

    分布式测试是指通过局域网和Internet,把分布于不同地点、独立完成特定功能的测试计算机连接起来,以达到测试资源共享、分散操作、集中管理、协同工作、负载均衡、测试过程监控等目的的计算机网络测试。

二、分布式测试系统的特点

1)网络化。网络化的目的是实现多个测试节点间基本的互连、互通功能,实现资源共享,是分布式测试系统的底层支撑结构。

(2)分布性。分布式测试系统不仅在地域上分布,而且在计算上也应是分布的。这对测试系统提出了一些更高的要求,如测试子系统间协同工作、整体视图、负载均衡、具有可扩展性和高可用性等。同时,分布式测试系统对用户具有位置透明性,测试信息“唾手可得”。

(3)开放性。开放性包含四个方面的特征,即可移植性、可互操作性、可伸缩性、易获得性。分布式测试系统能够采用各种COTS(Commercial-Off-The-Shelf,商业上现成的产品和技术)软/硬件模块,给系统的构造带来诸多便利。

(4)实时性。分布式测试系统本质上是一个实时系统,任务间协同工作处理各种测试信息都必须是实时的,对过程之间的同步、操作的时限有着严格要求。

(5)动态性。测试系统可以动态地运行操作,支持测试过程中的所有的管理和测试活动,能灵活地根据测试实施方案,进行测试过程对象和活动的映射。

(6)处理不确定性。分布式测试环境的初始状态是确定的、已知的,但随着系统的运行,各种动态实体在环境中变化,同时对环境产生影响,使得环境也发生某些变化,这种动态变化带来了不确定性,分布式测试系统必须具有处理这种不确定性的能力。

(7)容错能力强,可靠性高、安全性好。         

三、分布式测试系统关键技术

    (1)分布式环境

        分布式测试系统适合采用集中式的分布式策略,即,由一台中心计算机控制若干台受控计算机的执行,整个测试过程和资源管理由中心来完成,它掌握整个分布式测试环境的状态,从而发出控制命令。

 (2)分布式环境下的节点通信

    分布式测试环境中的活动均带有很强的流程性,分布式测试系统相对于提供服务的分布式系统而言,适合用基于消息通信的方式来实现。

(3)测试任务调度

    分布式测试调度方法可分为静态调度、动态调度和混合调度三类。静态调度是指假设系统的拓扑结构和性能参数固定不变,设计调度算法时只考虑当前系统状况,并针对当前状况尽量优化调度性能。动态调度则是指在测试执行过程中,根据系统的运行状况(如执行节点加入或退出、执行节点资源使用情况等),动态地决定各个用例的执行节点和相应的执行时间。动态调度比静态调度更加灵活,但也会带来更多的调度开销,有可能影响最终的调度性能。混合调度是静态调度和动态调度二者的组合方法,一般来说,它根据测试用例和系统的特点,对部分用例采取静态调度策略,对另一部分用例则采取动态调度策略。这三种方法各有利弊,需要测试人员根据具体测试情况来选择使用哪种调度方法。

版权声明:本文为CSDN博主「weixin_34295316」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_34295316/article/details/92462654