APP下载

网络设备自动化测试设计与实现

2018-09-26辜彬何舒陈颜

数字技术与应用 2018年5期
关键词:自动化测试测试环境测试工具

辜彬 何舒 陈颜

摘要:本文对网络设备测试需求进行分析,提出一种自动化测试框架,并对具体实現进行阐述。

关键词:网络设备;自动化测试;测试框架;测试设计;测试工具;测试环境

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2018)05-0174-03

网络设备是当今网络社会的重要组成部分,其功能、性能、稳定性直接关系到网络是否能正常运转。针对网络设备的测试技术、仪器已经非常成熟,通过自动化测试技术来整合这些方法和资源,可以大大提升网络设备测试效率和质量。

1 网络设备测试需求分析

网络设备的发展史是一个集设计、制造、测试、失败、修改、再设计、再制造、再测试的迭代过程,是一个不断摸索和反复完善的过程。实践表明,要研制出高性能高可靠性的网络设备,没有大量的测试工作是不可能实现的。勿庸置疑,测试在网络设备研制过程中起着举足轻重的作用,它直接关系到研制的成功与否。

网络设备功能明确而单一,即根据通信策略完成业务数据的通信处理。与之对应的测试需求也相对固定,利于开展自动化测试。

1.1 网络设备工作原理分析

网络设备基本工作原理如图1所示。

网络设备一般由接口单元、业务单元和管理单元组成。

接口单元实现不同网络、设备间的物理互联功能,依据需求的不同接口形态呈现多样性,如承载用户数据接收和发送的业务数据接口;完成安装调试和维护接入功能的维护测试接口;提供人机交互界面的状态显示接口等。

业务单元主要包括网络处理模块、协议处理模块和策略库,实现按策略库提供的规则对业务数据进行处理功能。业务单元与通信速率匹配,性能和可靠性要求最高。

管理单元主要包括策略管理、状态管理、系统日志、权限管理等模块,根据管理方式不同还需提供本地管理和远程管理功能。

1.2 测试需求分析

网络设备测试需求分析需从网络设备的工作原理和实现机制两个方面进行分析,分别侧重于实际业务处理和设备内部设计实现,综合形成完善的网络设备测试需求。

从工作原理方面来分析,网络设备的核心测试内容为业务数据处理单元测试和管理单元测试。业务数据处理测试包含各类协议的处理功能,性能和业务处理稳定性等方面;管理单元测试涉及到人机界面功能和易用性,管理配置功能准确性和稳定性等。

从实现机制方面来分析,网络设备的实现包含了硬件平台设计实现、基础软件设计实现和业务软件设计实现等环境,测试需求遵从信息系统的一般规律。

某网络设备测试需求如表1所示。

2 自动化测试框架

从网络设备的测试需求分析可以看出网络设备测试涉及到了硬件、软件、协议、代码、整机等不同维度的测试技术,相应的测试方法和工具也不同,自动化测试并不能适应所有的测试类型,对于网络设备而言,我们选取回归测试内容多、工作量大,测试方法和工具成熟的部分开展自动化测试设计和实现。

形成的自动化测试框架如图2所示。

自动化测试框架分为控制台、自动化测试平台和被测对象三个部分。

控制台是测试人员的日常操作环境。通过对被测对象的分析和研究,形成测试设计的输入,并对测试结果进行分析;控制台还提供测试环境配置操作和测试工具分析调试功能。

自动化测试平台是框架的核心部分,包含了测试辅助设计、测试结果收集、输入输出脚本化、执行引擎和测试工具集等部分。实现从测试设计、测试用例输入、测试执行和测试结果收集整个测试执行过程的自动化。网络设备测试需要灵活的测试环境部署能力,所以自动化测试平台还提供测试环境配置能力,便于模拟各类通信场景。

实际被测对象在测试人员进行产品配置过后,可以接入自动化测试平台,开展测试实施。

该自动化测试框架具备可扩展性,在测试需求不断增加和完善的过程中,特别是在新的测试方法和工具逐步成熟、固化过后,对其输入输出和运行方式按测试平台规范进行优化,可以很方便地加入到自动化测试工具集中,实现自动化测试框架可扩展。

3 自动化测试系统实现

网络设备自动化测试系统的建设涉及面广,是逐步积累和完善的过程,实现自动化测试框架规划的内容可按以下几个部分进行实施。

3.1 基础设施建设

基础设施是指支撑自动化测试系统运行和部署的网络和计算平台,主要为各类服务器和网络路由交换设备。

自动化测试系统中的服务器和网络设备的配置和管理不能成为测试实施时的负担和瓶颈,要有集中统一的配置管理方法来支撑。使用虚拟化技术对网络、服务器、存储进行虚拟化和统一集中管理是一种有效的方式,同时也能合理利用系统资源,便于资源的扩展。

网络设备测试会涉及到诸如串口、USB等难以进行虚拟化的低速物理接口,这类接口需提供便于接入虚拟化基础设施的方式,比如通过以太网进行管理和使用的串口服务器、USB服务器等。

3.2 接口规范建立

接口规范是指自动化测试平台中输入输出脚本化和执行引擎所遵循的格式及要求,是确保测试设计的结果能顺利驱动测试执行并返回可分析结果的前提。

3.2.1 输入输出脚本化

输入输出脚本化接口规范定义了测试设计输出的测试用例和测试结果返回的形式。

图3所示为采用execl表格作为输入输出接口规范的示例,execl表格访问方便,便于扩展,对execl表格的读写和分析可以固化为统一的软件模块,减少重复工作。输入输出脚本化模板分为测试用例、测试结果、测试项三个域。

域①为测试用例域,包括完整的测试用例输入和预期结果,可通过增加列来增加测试输入,每一行代表一条完整的测试用例,测试工具的输入参数名与测试用例表头描述一致。

域②为测试结果域,测试结果列反应测试通过或不通过,不通过则本行标红,返回信息摘要存储测试返回的精简摘要信息,其它可按具体测试内容进行填充,原则是便于后期问题定位。

域③为测试项域,通过增加exexl工作表来增加测试项。

3.2.2 执行引擎

执行引擎既是自动化测试执行模块,也是测试工具集成接口。网络设备测试既需要使用软件测试工具进行的测试,也有开发的测试脚本,还有专用的测试仪器,要实现测试的自动化,就需要将这些分散的测试方法和工具集成到一个统一的执行平台上,执行引擎就界定了这些调用和返回的格式和方法。

执行引擎应具备如图4所示的功能模块。

执行引擎采用轻量级控制端模式,即控制端只对测试运行的基本场景进行設置,详细测试脚本、参数、程序等都在执行端实现和存储。执行端可以有多个,以适应不同运行环境。

在控制端选择的启动脚本为执行端测试运行的命令行指令。因此要求所有测试工具集中的测试程序、脚本等都能以简单的命令行方式启动,并带有运行时间和输入输出脚本化文件存储位置参数。

3.3 测试设计辅助工具

测试设计包括测试需求分析和测试用例设计,从项目需求分析出测试需求,再按测试需求设计出测试用例,整个过程主要依靠人来进行,同时也受制于人的能力水平、经验甚至是情绪等不可控因素。

测试设计辅助工具将测试需求分析和测试用例设计领域中成熟、可靠的分析设计方法模型化并用软件实现,用来帮助测试设计人员更可靠、更高效地完成测试设计工作,对输出的测试用例按输入输出脚本化接口规范进行保存,与测试工具对接。

测试需求分析主要包含继承分析、逐级细分分析、质量模型分析、功能交互分析、用户场景分析等测试需求分析方法,输出为测试项。

测试用例设计方法主要包括逐级细分、域测试、输出域分析、正交试验、业务流程分析、状态迁移法、因果图、判定表、错误猜测等方法,输出为可用的测试用例。

3.4 自动化测试工具集

自动化测试离不开有效的测试工具,网络设备测试工具多样,主要分为三大类,既测试仪器类、通用测试软件和定制化的测试软件,不同测试工具推荐的自动化测试框架也不尽相同,因此要达到工具间的集成和协作,需按3.2章节接口规范的要求进行改造,减少工具之间耦合,做到工具即能单独开展测试也能方便地集成到自动化测试框架当中。

3.4.1 测试仪器

测试仪器主要使用在网络设备性能和协议模拟测试等方面,具备完善的测试设置和自动化运行能力,与自动化测试框架集成,需使用其提供的二次开发接口进行二次开发,满足接入框架的要求。

3.4.2 通用测试软件

在功能测试,设备API接口测试、白盒测试等测试内容中采用了通用测试软件,通用测试软件都有自身的一套自动化测试框架,要与网络设备自动化测试框架相结合,需在深入研究通用测试工具使用和配置的基础之上,将其运行脚本化,避开工具操作界面对自动化运行的影响,通过命令行方式启动测试软件的运行。同时在测试环境中配置通用测试软件运行的条件,比如版本控制、数据库系统等,支撑测试软件的运行。

3.4.3 定制化测试软件

定制化测试软件是网络设备测试中业务功能测试应用最多的测试工具,以脚本语言编程为主,使用灵活,按接口规范进行设计开发,与自动化框架集成。

3.5 测试环境配置

测试环境配置在网络设备测试中尤为重要,不可信的测试环境往往导致测试结果不可信甚至错误,环境配置以满足测试需求、统一管理为原则,对于不影响测试结果的公共测试环境可以加入基础设施建设的虚拟化系统中,便于集中管理,比如版本管理、公用数据库等。

4 结语

自动化测试系统只是解决测试效率和重复测试的质量问题,目的是将人从重复的劳动中释放出来从事更具创新性、更需要人脑分析和研究的工作,在自动化测试开展越成熟的地方,人的价值体现就会越高,人在测试活动中的价值不会因为自动化程度越高而降低。

方法和工具的成熟度也是影响自动化测试开展的重要因素,自动化测试中往往选择那些测试方法和工具稳定,人在测试过程中重复操作频繁的部分进行自动化,典型的就是回归测试。

所以,自动化测试并不是解救测试人员的灵丹妙药,在开展自动化测试的过程中,需要不断地摸索和尝试才能最终形成一套有效的,适合组织需要的自动化测试系统。

猜你喜欢

自动化测试测试环境测试工具
Http并发连接测试工具
手车式真空断路器回路电阻测试电流线接头研究
浅谈空调控制器自动化测试
福禄克推出先进的连接式测试工具系统