美文网首页软件测试
【软件测试】分布式测试系统

【软件测试】分布式测试系统

作者: 软件测试墨白 | 来源:发表于2018-07-05 11:04 被阅读45次

随着网络技术的不断发展,大量分布式系统被部署在网络中,常见的如Web应用、Web Service等。分布式系统不同于一般软件系统,它通常由物理分布的多个子系统组成,这些子系统通过相互间的协作完成计算任务,具有物理分布、并发访问、时序敏感、平台异构等特点。此外,分布式系统中的诸多子系统在触发方式、工作方式等方面往往也不属于同一类型,比如,通过网络协议传递消息的子系统和利用本地接口进行方法调用的子系统等。 因此,对分布式系统的测试也不同于一般软件系统的测试,需要采用分布式测试。

一、什么是分布式测试

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

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

分布式测试系统是传统网络化测试系统的进一步发展,具有以下主要特点:

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

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

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

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

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

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

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

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

(1)分布式环境

对分布式测试而言,测试过程是一种对流程控制要求很高的活动,因此系统需要适时地获取全局状态以正确地指导流程;其次,在测试过程中,系统要能够方便地监视和操纵测试过程。因此,分布式测试系统适合采用集中式的分布式策略,即,由一台中心计算机控制若干台受控计算机的执行,整个测试过程和资源管理由中心来完成,它掌握整个分布式测试环境的状态,从而发出控制命令。

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

分布式测试环境中的活动均带有很强的流程性,某一步操作的失败会导致整个测试流程的中断和异常,因此需要一个稳定的通信环境。同时,通信主要是在中心节点和执行节点之间进行,两种节点的主要工作都集中在测试活动并且在逻辑上中心节点和执行节点相互并发,具有一定的独立性。因此,分布式测试系统相对于提供服务的分布式系统而言,适合用基于消息通信的方式来实现。

(3)测试任务调度

分布式测试的优点是测试人员可以事先定制任务执行的时间表,如在指定时间、指定设备上执行指定的测试任务。但同时也面临一个问题,在硬件和软件资源有限的情况下,如何以最有效的方式完成测试任务?其中关键的问题就是测试调度。分布式测试调度是指把组成测试任务的一组测试用例,分配到分布式测试系统的不同执行节点上,并按照一定的测试时序调度执行,以满足事先制定的测试需求。分布式测试调度方法可分为静态调度、动态调度和混合调度三类。静态调度是指假设系统的拓扑结构和性能参数固定不变,设计调度算法时只考虑当前系统状况,并针对当前状况尽量优化调度性能。动态调度则是指在测试执行过程中,根据系统的运行状况(如执行节点加入或退出、执行节点资源使用情况等),动态地决定各个用例的执行节点和相应的执行时间。动态调度比静态调度更加灵活,但也会带来更多的调度开销,有可能影响最终的调度性能。混合调度是静态调度和动态调度二者的组合方法,一般来说,它根据测试用例和系统的特点,对部分用例采取静态调度策略,对另一部分用例则采取动态调度策略。这三种方法各有利弊,需要测试人员根据具体测试情况来选择使用哪种调度方法。

以上对分布式测试系统的特点和部分关键技术进行了简单分析。随着越来越多的领域活动依赖于分布式应用,分布式测试将受到人们更大的关注,测试系统实现技术也将不断发展成熟,以便快速高效地发现软件中存在的功能和性能缺陷。

end

相关文章

  • 项目开发中的文档的类型

    1:软件系统测试报告 2:软件系统测试计划 3:软件系统测试说明 4:软件版本说明 5:软件单元测试报告 6:软件...

  • 【软件测试】分布式测试系统

    随着网络技术的不断发展,大量分布式系统被部署在网络中,常见的如Web应用、Web Service等。分布式系统不同...

  • 软件测试方法和技术有哪些?

    软件测试方法和技术有哪些?包括软件测试基础、软件测试方法、软件测试流程和规范、单元测试与集成测试、系统测试、验收测...

  • 四、测试技术体系

    目录 软件测试分类 分层测试体系 一、软件测试分类 1、系统测试分类 2、验收测试分类 α测试:测试人员在开发环境...

  • 03软件测试方法[下]

    软件测试基础知识03—软件测试方法[下] 单元测试、集成测试、确认测试、系统测试、验收测试(测试策略和测试过程的角...

  • 软件测试读书笔记(佟伟光著)4

    软件测试过程 软件测试过程包括单元测试、集成测试、系统测试和验收测试。 单元测试 单元测试是对软件设计的最小单元—...

  • 2018-06-22

    测试文档 系统测试 测试流程 系统测试主要内容:*可用性测试:软件是否满足软件需求说明书中的需求,包括:界面和功能...

  • 软件测试阶段及方法

    软件测试阶段 1、单元测试 2、集成测试 3、系统测试 4、验收测试 软件测试阶段的划分: 1、单元测试 •单元测...

  • 面试问题2

    1、软件测试方法有哪些分类? 软件测试方法分类:白盒、黑盒、灰盒;单元测试、集成测试、系统测试、验收测试、回归测试...

  • 集成测试

    集成测试 基本概念:将软件集成起来后进行测试。集成测试又叫子系统测试、组装测试、部件测试等。集成测试主要是针对软件...

网友评论

  • 软件测试墨白:很多朋友咨询我找我要测试相关的文档,我就不一一的去发了,我都上传在我的群文件里,自行下载就可以了。387348767,记得备注一下“简书”,我给通过一下。
  • 软件测试墨白:需要测试书籍电子版的直接私信我或者给我留言,或者自行到群文件去下载,387348767,留的有,自行下载即可。相关的测试用例,测试计划,测试文档,简历模板,成套的入门视频,都可以免费送给你们,希望你们刚入行,少走一些弯路。测试相关的技术问题,百度不到的,直接在群里问大神好了。
  • 软件测试墨白:另外还有一些朋友经常会问到我测试的简历应该怎么写,面试官会问到什么样的问题,我可以抽时间给你们一些指点和帮助,到群里直接找我就行,387348767,我肯定会回复你。
  • 软件测试墨白:自学中最难的是什么,是难以对抗自己,一个是自己有自己的惰性,一个是自己有自己的思维误区,也就是牛角尖。也不是说自学不可以,但是耗费的时间和精力会很大。
  • 软件测试墨白:不轻易推荐自学,这个还是要看人,自学非常容易钻进牛角尖,见过太多的“从自学到放弃”
  • 软件测试墨白:认为软件测试就是写写测试用例,执行一下,汇总一下bug的,趁早清醒,否则只能一辈子点点点。你不主宰你自己,那就让别人主宰你
  • 软件测试墨白:所有接触到的认为测试容易的,结果过了几年还是老样子,身边做了五六年的还是功能测试的一大堆,在一线城市五六年的测试工程师起码也得成长到性能接口水平了。
  • 软件测试墨白:关于软件测试的认识,很多人的认识还是不够到位,仍然认为测试比较简单,当然软件测试入门比较简单,但不代表高级部分的内容
  • 软件测试墨白:手动点赞

本文标题:【软件测试】分布式测试系统

本文链接:https://www.haomeiwen.com/subject/crnuuftx.html