基于Robot Framework的5G基站自动化测试系统的设计研究

2022-08-17 08:40候春辉孙敬伟康志杰
通信电源技术 2022年7期
关键词:测试用例关键字基站

候春辉,孙敬伟,康志杰

(河北远东通信系统工程有限公司,河北 石家庄 050200)

0 引 言

5G是继4G之后的又一次技术革新,具有高速率、低时延以及大连接等特点,是实现万物互联的网络基础[1]。随着移动通信技术的快速发展,无线通信设备更新换代的速度也在逐步加快,在设备版本不断更新迭代的过程中,传统手工测试的效率已无法满足新型无线通信设备的测试需求,采用自动化测试手段来提高测试效率已经成为业界共识[2,3]。

自动化测试是将以人为驱动的测试行为转化为机器执行,以程序测试程序,以脚本运行代替手工测试[4]。通过软件设置测试的前置条件和其他控制条件,控制测试执行过程,自动收集测试结果,比较实际结果和预期结果是否一致后输出测试报告[5]。

1 Robot Framework框架

Robot Framework(以下简称RF)是一个基于Python的开源自动化测试框架,拥有大量内置测试库、第三方测试库以及测试工具等,具备丰富的生态系统和良好的可扩展性,如图1所示。此外,该框架可以与Jenkins等持续集成工具进行融合应用,构建强大灵活的自动化测试解决方案[6]。

图1 Robot Framework框架

测试用例(Test Date)由用户根据测试需求遵循RF语法编写,RF框架解析并执行测试用例,调用测试库(Test Libraries)的关键字接口,实现对被测系统(System Under Test)的操作,以达到测试目的。框架本身对被测系统一无所知,一般通过测试库与其交互。测试库可以直接使用被测系统的应用程序接口,也可以使用其他底层的测试工具(Test Tools)作为测试驱动。

2 5G基站自动化测试系统设计

2.1 总体架构

5G基站自动化测试系统由测试系统、被测系统(即5G基站)以及其他测试工具组成,如图2所示[7]。

图2 5G基站自动化测试系统总体架构

测试系统是自动化测试的核心,由配置参数、测试用例、测试日志、测试报告,RF框架以及测试库等部分组成。其中,配置参数为自动化测试系统提供测试执行的必要信息,例如测试设备IP地址、测试报告存储位置等。测试用例分为关键字驱动型测试用例和数据驱动型测试用例。关键字驱动型测试是针对特定工作流的测试,由若干关键字组成。数据驱动型测试则仅使用一个高级别的用户关键字来完成测试,适用于相同测试流程下具有多个不同测试输入或输出的场景。测试日志提供测试用例执行过程的记录,可以通过配置参数设置日志级别。测试报告用于展示测试用例执行结果的统计信息。测试库则提供了底层测试系统和测试工具的操作接口,为测试系统提供测试控制和测试反馈的方法。

被测系统即5G基站(gNB),由集中单元(Centralized Unit,CU)、分布单元(Distributed Unit,DU)以及无线单元(Radio Unit,RU)组成[8]。其中,CU负责5G基站的无线资源控制和分组数据汇聚等功能;DU负责处理实时性需求较高的无线链路控制层(Radio Link Control,RLC)、介质访问控制层(MediaAccessControl,MAC)以及部分物理层的功能;RU负责将来自DU的数字信号转换为射频信号并传送到天线,同时将天线的射频信号转换为数字信号并传送到DU。

其他测试工具包括数据网络(Date Network,DN)服务器、5G核心网(5G Core,5GC)以及5G用户设备(5G User Equipment,5G UE)。DN服务器负责测试过程中业务数据的收发;5GC提供5G网络的核心服务;5G UE接入gNB,负责验证gNB功能的正确性及其他性能是否满足测试要求。

2.2 测试流程设计

测试用例的执行需要遵循一定的流程,包括测试初始化、测试执行、测试记录、验证比较以及环境恢复等,如图3所示[9]。

图3 自动化测试流程

测试初始化实现测试用例配置信息读取、日志目录创建、基站软件版本检查以及被测系统的初始状态保存等工作。测试执行是根据测试用例要求逐步执行测试关键字,自动化测试的执行过程与手工操作的测试过程基本相同。测试记录主要对测试执行过程中被测系统的运行日志以及测试输出结果进行记录。在手工测试中,测试者会将测试结果与预期结果进行对比,以验证系统行为的正确性。而自动化测试必须将系统的输出记录下来,才能完成测试的比较工作。此外,被测系统的运行日志为研发人员进行问题回溯提供了便利。验证比较主要检验被测系统是否产生正确输出,可以是大量数字、字符输出或任何数据类型的对比。若验证成功,则继续执行后续测试步骤;若某一步验证失败或测试执行完成,则进入环境恢复阶段。环境恢复是在完成测试用例后将被测系统恢复至初始状态,提高了自动化测试过程的可复现性。

以终端附着为例,阐述了5G基站自动化测试用例的基本过程,如图4所示。

图4 终端附着的自动化测试流程

首先,检查基站软件版本与待测版本是否一致,如果不一致则需要先从版本服务器拉取指定版本的软件安装包,执行基站版本升级;其次,保存系统初始状态,检查基站状态是否满足测试要求,根据测试场景修改基站的配置参数,按需重启基站设备,并等待基站设备启动完成;再次,连接终端设备,开启基站信令跟踪功能,控制终端发起附着流程,待终端附着成功后执行Ping包业务,保存Ping包测试结果;最后,收集下载测试日志、信令抓包等,分析附着过程中的NGAP、F1AP信令,恢复系统至初始状态后即完成终端附着的自动化测试。

2.3 测试库设计

测试库提供RF框架与被测系统交互的接口,RF本身已内置了一些常用的测试库,例如Collections、Operating System等[10]。同时,RF框架也提供了扩展测试库的方法,即通过组合已有关键字来创建高层次的关键字和通过Python或Java语言编写自定义测试库。下面详细阐述5G基站自动化测试系统中主要测试库的设计。

2.3.1 基站管理库

基站管理库是自动化测试系统与5G基站的交互接口,其通过超文本传输协议(HyperText Transfer Protocol,HTTP)接口与基站操作维护管理(Operation Administration and Maintenance,OAM)交互实现对基站各单元的配置管理、状态查询以及版本升级等功能,可以支持不同工作模式下的基站测试。基站管理库关键字及其功能如表1所示。

表1 基站管理库关键字

2.3.2 终端管理库

终端管理库为自动化测试系统提供终端管理的接口。在测试过程中,终端管理库控制终端发起附着流程,查询终端网络状态,并发起各类业务的测试。终端管理库关键字及其功能如表2所示。

表2 终端管理库关键字

2.3.3 公共接口库

公共接口库提供对被测设备的通用操作接口,例如设备的远程连接与登录、执行特定的Shell指令、被测系统的状态保存与恢复以及信令分析等。公共接口库关键字及其功能如表3所示。

表3 公共接口库关键字

3 设计验证

本测试系统的自定义测试库实现了对5G基站的配置管理、状态查询以及操作维护等功能,通过接口库实现对被测系统和测试工具的测试控制和测试反馈结果获取。根据5G基站系统的测试需求,选取易于采用自动化测试实现的测试用例,设计自动化测试脚本,将自动化测试系统部署到实际测试环境中进行测试。本次自动化测试形成的测试报告如图5所示,共执行25个测试用例,测试时长87 min。依据测试经验,一个熟练的5G系统测试工程师完成这些测试工作大约需要480 min。通过对比,自动化测试有效减少了产品回归测试的时间,提高了测试效率,缩短了产品的迭代周期。

图5 5G基站自动化测试系统的测试报告

4 结 论

基于RF框架研究了5G基站自动化测试系统的设计方案,实现了5G基站系统的自动化测试。通过对比手工测试与自动化测试的测试效率,证明了5G基站自动化测试系统设计的可行性和有效性。完善的自动化测试系统并非一蹴而就,随着5G基站设备的更新迭代,未来需要不断将手工测试中的自动化部分融入到自动化测试,从而持续优化完善自动化测试系统的功能。

猜你喜欢
测试用例关键字基站
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
基于NETMAX的基站网络优化
基于LDA模型的测试用例复用方法*
基于路径关键状态变量的测试用例约简
5G基站辐射对人体有害?
成功避开“关键字”
5G基站辐射对人体有害?
5G辐射比4G小
智能垃圾箱
测试用例集的优化技术分析与改进