通信软件的自动化测试研究

(整期优先)网络出版时间:2022-04-19
/ 2

通信软件的自动化测试研究

梁璠 付天有

中国联合网络通信有限公司哈尔滨软件研究院 黑龙江 哈尔滨 150004

摘要:通信软件项目正式应用前需要经过相应的评审,测试人员一般会通过实际试用测试来展示软件测试的效果,传统的测试方式往往通过人力测试的办法,该方式费时费力,而且难以保证测试的准确性。自动化测试技术是利用机器来检测软件性能的一种技术,该技术可以替代传统的人力测试方式,大大提高软件测试的效率和准确性。

关键词:通信软件;自动化测试;模块化;

引言

伴随着我国经济的长期向好发展,网络技术整体水平也得到了显著的提高,各类移动通信网络软件出现在了国内市场当中。因此,了解移动通信网络的相关概念,认识当下常见的移动通信网络软件测试工具,熟练掌握移动通信网络软件开发的集成测试流程,是相关行业从业者必须要重点关注的课题。

1通信软件自动化测试的特征

软件回归测试是一种反复测试行为系数较高的测试方法。自动化测试是通过结合回归测试运行回归模型有效地测试软件,结果显而易见。因此,自动化测试可以充分反映大型测试的效率,从而大大降低测试成本。此外,还可以对某些难以手动执行的复杂测试进行自动化测试。自动化测试只能通过脚本来执行,从而通过对软件版本的脚本稍作修改来实现大多数使用情形的自动化,从而减少某些测试的工作量并提高测试效率。

2通信软件自动化测试系统

2.1系统架构

软件定义网络的主要特点是将控制功能从网络设备中提取出来,网络的控制平面在控制器上,转发平面在网络设备上,实现了控制层与数据转发层的分离。从上往下分为应用层、控制层以及数据层。应用层包含了匿名通信服务等相关网络应用。控制平面负责网络控制,主要功能为协议处理与计算。控制器获取系统中网络设备之间的连接信息,并对连接信息进行处理,通过OpenFlow协议定期获取网络中主机的剩余带宽等信息,根据这些信息挑选最优转发节点来建立最优转发路径。数据平面搭建网络拓扑,交换机根据控制平面下发的流表完成数据的转发和处理。系统可以看作是由一个控制器和多个交换机及主机组织起来的覆盖网络,将网络中的主机划分为多个集群,每个集群中有一个主机作为该集群的管理员。其中,SDN控制器负责维护网络中交换机节点的相关信息,建立匿名通信路径以及指挥网络中的数据包转发。各集群管理员负责维护该集群中普通成员的地址映射关系,为该集群中普通成员请求并建立匿名通信。

2.2平台软件的主要组成

自动测试平台的构成由界面层,功能层,传输层构成。界面层是自动测试平台的显示与控制,是用户控制系统的接口。功能层则是测试平台最为核心与基础的构成,包含了6个主要的模块。主要有仪器仪表的控制模块、测试数据管理模块、测试数据生成模块、测试脚本管理模块、接口管理模块以及自动化执行模块。传输层则统一管理与电台和仪器仪表的通信总线,处理平台与电台和仪器之间的数据交互。

2.3测试设计功能实现

软件自动化测试必须满足系统设计目标的一般应用、支持扩展和操作方便性要求。(1)普遍适用。该系统设计采用Tcl数据库进行脚本测试工作,因此通用Tcl类数据库分析可以配备基本操作环境进行测试工作。由于测试程序可以独立于系统运行,因此如果系统中创建了新的测试对象,则测试程序可以通过访问新的测试端口来执行目标测试。此外,在测试过程中可能会出现不同的系统,因此无法识别特定程序。在测试对象之前,还需要重新设计测试系统。2)易于扩展由于Tcl数据库扩展性能良好,建议在设计测试系统时根据需要添加更多接口,同时确保接口不会影响测试程序。因此,您可以使用不同的程序来选择不同的脚本,以改进界面设计并自动执行脚本测试。(3)操作方便。在设计测试系统时,需要设计一组易于管理的模板和管理系统,以便大多数后续测试程序能够继续对Tcl类模型和数据库执行相应的脚本测试。当然,系统设计者也可以使用自己的权限访问和测试管理系统。

2.4软件的实现

1)接口管理模块。ICD(接口控制文件)文件里包含了平台与电台通信的规范。其内容除开数据本身,还包括了信令码、数据长度及校验和。这3者对电台的任意一个测试功能都是必备的。因此用户在创建一条完整数据时,都需要进行选择与设置。数据位则较为复杂,该数据可以为整型、浮点型、枚举型,还可以为数组。或者将数据进行封装,将多个基本类型的数据进行组合。因此,用户在编写接口时,可以在一条接口中创建子接口,将多个类型的数据进行组合,设定好先后顺序,并且设定数据长度为所有子接口数据长度的总和。那么一条复杂的接口即可编写完成。2)用例的编辑与消息提示。平台中提供了测试用例代码的编辑与消息提示功能。同任何软件开发平台相同,用户可以自主地进行测试用例的编写。编写的内容只需要符合Python语法即可,并提供了消息提示,将测试用例的输出语句,或者是编写时的语法错误等提示信息重定向后进行打印,用户可以根据提示内容进行修改。其实现方法,则主要使用了PyQt提供的文本控件,并向其中添加各种菜单按钮,最后为其注册响应函数,完成用户操作到底层数据的逻辑处理。3)智能辅助编写工具。该模块是基于接口管理模块。在整个测试用例的编写中,大部分的代码与逻辑是使用定义好的接口,按照一定的顺序或者一定的取值,将数据发送至电台。因此,提供智能辅助编写工具。首先解析出接口管理模块生成的XML文件。将其转换为模板字符串,并利用Python能够生成代码的特色,将模板语句插入到测试用例中。生成好的模板语句风格统一,并且通俗直白,即使测试人员不具备代码功底,也可以进行编辑并实现测试。4)测试脚本管理测试脚本管理决定了系统测试的有效性。编写脚本时,测试系统必须根据某些脚本功能分布参数,并根据某些测试的需要细化开发脚本功能。当然,即使在测试过程结束时,也必须审查测试需求并不断优化脚本。

2.5软件级测试

当你到达移动通信网络软件级测试阶段时,你正式将移动通信网络软件投放市场,但还有一个测试和使用阶段。为使消费者能够进行有效的前期测试,测试软件在实际使用过程中的总体效果,并为员工优化软件提供坚实的数据基础。此测试阶段非常必要,因为结果将直接影响用户的使用体验。因此,只有在绝大多数客户满意用户体验的情况下,移动通信网络软件才能上市。如果客户的使用体验不好,则需要进一步的软件优化调整。

结束语

通信软件自动化测试具有可操作性强、易扩展等特点。通信软件的自动化测试在优化类似于Tcl脚本语言时,不仅应可以从开发设计方法上强化对其研究,而且还要有利于对指令的管理,这样才能有助于解决在测试中二层API的脚本语言功能实现等情况。当然,软件测试工作人员在开展测试工作时既要重视功能特性的测试,也要保障功能特性测试的稳定,这样才可以根据不同的需要在脚本编写的过程中加入所需要的内容,从而持续优化通信软件测试的功能。

参考文献

[1]张佐宇.大数据时代下计算机软件的应用分析[J].中国新通信,2021,23(06):116-117.

[2]谭海中.基于模糊故障树的通信软件可靠性测试方法研究[J].信息通信,2020(12):152-153.

[3]熊纪海.融合应急通信软件实现与模拟测试[D].华中科技大学,2018.

[4]刘素京.通信软件的自动化测试及实现[J].电子技术与软件工程,2018(02):49-50.

[5]谷红枫.通信软件的自动化测试及实现研究[J].信息技术与信息化,2015(04):43-45.