新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > TCL嵌入式测试技术在数通领域的应用

TCL嵌入式测试技术在数通领域的应用

作者:时间:2016-09-12来源:网络收藏

(Tool Command Language)是一种解释执行的脚本语言(Scripting Language),是业界主流自动化语言,修改后不需重新编译,解释器直接执行。在传统的黑盒中,也有大量应用,模型如图1所示

本文引用地址:http://www.eepw.com.cn/article/201609/303578.htm

11.jpg

原有自动化测试模型,是在PC上运行自动化测试脚本,通过TCL解析器,向设备发送命令行配置、控制仪器打入流量验证等测试手段完成自动化测试。

TCL测试是将TCL语言解释器植入Comware V7系统中,并且通过TCL扩展命令调用cOmware V7系统模块内部接口,以构成测试条件达到测试的目的。从测试类型看,它属于灰盒测试。从测试阶段看,它类似集成测试,介于单元测试和系统测试之间。从测试手段看,利用TCL语言编写测试脚本进行更为细致的模块接口功能、子模块功能测试。测试脚本开发出来后,可以用于自动化测试。

V7系统的测试在继承原有软件系统的自动化测试技术基础上,通过TCL测试技术,把TCL解析器植入到V7系统中,并根据测试需求封装了一系列的模块接口扩展函数。开发的TCL测试脚本可以调用命令行配置命令和扩展函数进行更为细致的功能测试,并自动获取运行结果,自动解析功能是否正常,从而实现了很多模块功能点的自动化测试,提升了V7系统的自动化测试比例。

TCL嵌入式测试技术作为一种灰盒测试技术,在V7测试实践过程中,有如下的几个典型的测试模型及应用。

模型一:模块接口测试

系统由各大组件组合而成,组件特性一般包括路由组件、MPLS组件、组播组件等(如图2 所示),其中组件又是由各大模块组成(比如路由组件一般包括OSPF模块、BGP模块等),每个模块又是由一系列的函数组合实现其功能。

通用的业务模块的测试,比如OSPF模块、BGP模块等,都有提供给用户的命令行接口,黑盒测试通过这些命令行能够去测试这些模块的功能。系统中也有些模块,比如路由管理模块(RM模块),这些模块完全是厂商自己实现的内部的模块,其对用户来说,基本上是不可见的,但是他们又是连接OSPF模块和其它模块的桥梁。这些模块之间通过模块对外提供的接口函数进行交互。也就是说,如果通过黑盒测试,将无法直接测试到RM模块,只能通过BGP模块这些有用户接口的模块间接的去测试RM模块。这样会导致有些功能无法覆盖到,或者说覆盖到这些功能的条件很难构造。

22.jpg

而TCL嵌入式测试技术,把RM模块对外的接口函数通过TCL语言全部封装出来,使得测试人员可以通过TCL语言测试脚本调用这些接口函数,并利用内部集成的TCL解析器运行TCL测试脚本去完成这些模块的功能测试。通过TCL嵌入式测试脚本,我们就很容易遍历

模块对外接口的各种参数情况(包括边界值),特别是一些参数的异常值情况,这是黑盒测试的盲点。

一般来说BGP模块和路由管理模块都是不同的开发人员开发,他们之间有个契约,就是BGP模块调用RM外部接口时候,不会传入错误的参数。正常情况下,别的组件也的确不会传入一些异常参数,但是特殊情况下,上层模块也可能传入了错误的参数,这样情况RM模块需要做容错性处理,才能使整个系统更加的稳健。这种接口测试是黑盒测试的盲点,TCL嵌入式测试技术可以保障V7系统的各个模块提供的对外接口函数的健壮性和子模块功能的正确性。如图3所示。

33.jpg

模型二:测试各模块之间的交互过程细节

V7系统的各大组件模块在同一个系统下工作,他们之间不可避免的要传递一些数据和消息,这些消息和数据里面会携带一些模块之间约定的参数,这些参数必须是按照事先约定的内容和数据,整个系统的功能才能正确。但是如果在开发过程中,部分开发人员的出错,某些消息和数据没有遵循事先设计约定的内容,这样肯定会导致功能性错误。

但是并不是所有这些bug都立即能够表现出功能性错误来,就好像人中了某些毒,并不一定马上能表现出症状来一样,这些症状可能要有某些条件才能触发。这也是黑盒测试的一个困境。而TCL嵌入式脚本能够截获模块之间交互的消息和数据详细信息,并能够打印和解析出来,就如同在模块交互间打开了一扇观察的窗户,测试人员能够很方便的观察其参数是否携带正确;并及时发现这种bug。如图4所示。

44.jpg



关键词: TCL 嵌入式 测试

评论


相关推荐

技术专区

关闭