多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

自动化测试环境拓扑管理设计

更新时间:2022-02-21 09:34:13 作者:多测师 浏览:243

  不知道大家有没有对自动化测试环境拓扑管理方面有所涉及,但是这往往是自动化测试规模化一个难点,这也是作为自动化测试平台中的一个模块(服务),以下的解决方案更多的是不成熟,分享出来,希望大家能够帮助开动自己的想法,提出见解,当然,其实这些东西不一定受限于你的技术认知,相反,脱离了技术的束缚,你才能从更高的角度提出问题和建议,所以,希望大家提出应用的需求,帮助我开拓眼界,大家也许也能够提高思考能力。

  一、 自动化测试环境拓扑管理简介

  在电信项目中,自动化测试环境拓扑的管理往往是一个难点,刚开始进行自动化测试项目时,因为用例过少,所以环境信息一般都是硬编码在脚本中,后来随着项目的增多,就采用了脚本分层的方法,将经常变动的业务配置提了出来,写到了一个单独的脚本中,随着拓扑的越来越大,各种产品线都有各自的测试拓扑,而对于其都是测试人员去进行管理的,缺乏了一种部门级的统一管理这些拓扑的机制,并且对于单个项目来说,其项目的拓扑并没有抽象出来成一个连接关系,因而不方便后期的项目拓扑的维护和管理。

  而在软件测试中,其实原理也是一样,软件测试中有一个概念称为:自动化部署,这是持续集成中的概念,个人觉得,当然也适用于各个自动化测试,持续集成是脱离不了自动化测试的,部署是指将软件移动到它被测试的地方,或用户指定的某个位置,准备送给客户。最早前的部署都是手工过程,部署工程师从某处拿到部署文件,再把它放到目标机器上,然后开始正式的安装过程。然而,这种手工过程会比较慢,而且部署失败率也可能要高一些。自动化部署的目标是“持续部署”,即自动部署到生产环境中而无需手工干预:得到一个版本后,自动部署到一系列的测试环境中。经过整个构建管道中的所有阶段,并且能通过所有的测试后,自动部署该版本到生产环境中,而且具有自动回滚和相应的监控手段。

  与上述自动化部署类似,自动化测试环境拓扑管理也能够自动根据项目综合拓扑中的环境参数与设备信息自动的生成脚本所需的环境配置文件,脚本运行时会读取这些环境参数和设备信息调用相应设备进行测试。

自动化测试环境拓扑管理设计

  二、 自动化测试环境拓扑管理挑战

  1、 如何保证统一测试拓扑。

  2、 如何保证映射更新条件。

  3、 检测版本,进行版本的自动检测和升级。

  4、如何与设备进行联系,即拓扑中的节点如何与实际设备的控制信息关联起来。

  三、 自动化测试环境拓扑方案

  1、采用拓扑映射机制,即将项目的测试拓扑抽象出来,不具体表明端口,只是表明一种连接关系,然后采用映射匹配算法(匹配的条件可以根据自己需要进行设定,可以按设备的连接关系、设备型号、测试版本型号等进行匹配)。将标准拓扑中所需要用到的连接关系在综合拓扑中找到,然后生成一个设备匹配表。

  2、匹配到相应拓扑之后,则测试项目可以调用其拓扑关联生成一系列的配置信息。

  3、之前,一直思考如何将拓扑管理与设备关联起来,后来思考,即,采用软件工程中的思想,将一款共性的产品线作为一个高度抽象的类,然后下面派生成一系列的具体的产品类。产品线类拥有共性的属性(例如:设备的端口号等可以作为一个共性属性,还有一些共有的命令行),然后产品派生类拥有自己特性属性。当然,还有一个共享的基本类(里面包含拓扑中每个产品线共有的属性,例如,IP地址、串口号等)。

  4、拓扑中的产品节点可以依靠产品线类型与具体产品型号关联实际环境拓扑中的一款设备,当测试项目调用这款设备时,测试项目就可以找到相应的配置文件。

  5、配置文件相当于一个中间件,需要在每次映射时进行自动的更新。

  6、拓扑的表现形式可以用XML节点的形式或者UML图的形式进行表示,个人觉得,图的表现形式是个发展。

  7、软件自动化测试中的环境部署也可以应用此关联的方式,不过还是需要具体情况具体分析。

  四、 相关软件产品分析

  对一些相关的产品进行了使用研究:

  1、 1、FanFare的iTEST,现在被spirent收购,在其拓扑关联方面,提供了一个Topology功能。其应用Port连接来表示设备的互连关系,每个设备对应一个或者多个session,可以直接在拓扑图里,根据这个session,管理到设备,但是并没有与case关联起来,所以其主要功能在于拓扑的直观性。

  2、 2、IBM的RSA与RTC产品,其理念是模型驱动理念,用过UML的人应该知道,其将测试拓扑中的设备抽象成一个个模型,然后每个模型关联一个脚本模块,具体情况还没有过于去研究,有兴趣的人可以了解参考一下。还有一款软件Insight,是可以应用在智能数据分析,从而选取最佳的测试优先级,这个一直觉得好复杂,对数据存储和挖掘分析要求很高。

  3、 3、以上只是自己的一点简单总结,因为是很匆忙,所以不一定正确,需要自己去进行使用分析。

  4、4、个人觉得,以上工具,因为需要涉及到应用普遍性,再加上做自动化测试的特殊性,所以也许你能用到的少之又少,但是你可以根据自己需求,结合其工具的设计来得出适合自己的自动化测试方案。适合自己的才是最好的。

  总之,自动化测试拓扑解决方案很难有一个完美点的方案,所以如果对这方面有兴趣或者有研究的人,可以一起讨论下,提出一下想法,感激不尽。

  以上内容为大家介绍了自动化测试环境拓扑管理设计,希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/


联系电话

17727591462

返回顶部