APP下载

通信软件的自动化测试及实现

2018-03-21刘素京

电子技术与软件工程 2018年2期
关键词:自动化测试模块化

摘 要 近年来随着信息化技术的不断发展,通信软件测试技术受到了越来越广泛的关注。通信软件测试技术是软件开发的基础,保障了软件的使用周期和计算机硬件系统稳定运行周期。本文依据通信软件的特点,将通信软件自动化系统模块化,对自动化测试与实现进行分析研究,期望为相关领域研究提供参考。

【关键词】通信软件 模块化 自动化测试

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

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

1.1 主要优点

软件的回归测试是一种具有较高重复测试行为系数的测试方法。而自动化测试则是结合回归测试通过执行回归模式对软件进行高效测试,效果明显。因此,自动化测试在应对测试量较大的情况时,能够充分体现其高效性,大幅降低了测试工作的成本。另外,对于一些测试难度大、测试条件难以通过人工方式实现的测试工作也均可通过自动化测试完成。

自动化测试只需要通过脚本编写就可以实现,它只需要小范围改动不同版本软件的程序脚本便可实现多数用例的自动化测试,有效降低了一些测试的工作量,提高了测试效率。

1.2 主要缺点

(1)自动化测试并不适用于所有软件测试工作,该方式只有在测试工作量大、难度高的条件下才能体现其优势。有些测试工作通过人工来完成可能效果会优于自动化测试。

(2)自动化测试的测试效果比较精准,对被测软件的要求相对人工测试更加严格,即便是版本的正常改变也可能造成测试脚本崩溃。因此,在开发软件时必须做好充分的维护工作,以防止此类情况发生,但这也就增加了测试的成本。

从整体而言,通信软件的自动化测试方法相对于传统人工测试方法来说确实具有一定的优势,但也不能完全取代传统人工测试。因此,将两者合理有效的结合在一起应对不同的情况,实现优势互补,从而达到更好的测试效果。

2 通信软件自动化系统功能模块构成

2.1 设备连接

为了完成合理的配置设计,需要参照设备的必要信息和一些文件的环境变量,因此,依据相关参数的设置,测试软件要配置相应的服务器链接。

2.2 公共包封装

一般的,利用拓展包完成一些程序的功能拓展。脚本是开源社区,功能多样,可用于帮助拓展包功能拓展,解决很多功能的拓展问题。

2.3 收发包

软件测试人员通常通过对协议状态的验证以检查协议状态机转化的一致性,依靠信息资源来驱动协议状态的转换,通过报文类型编写提升测试质量和效率,因此,信息资源的内容和报文类型至关重要。

2.4 日志信息处理

在软件测试工作中,通常要设定几组状态检测次数以应对测试程序和场景可能产生的复杂问题。日志信息处理模块则就是将信息进行详细记录、反馈和处理等响应状态检测,帮助测试人员对软件故障进行定位。

2.5 测试脚本

脚本测试作为通信软件测试过程中的重点,其功能实现与设计配套非常重要。因为测试过程中出现异常,不能及时的终止,很有可能对整个测试环境造成不良影响。另外,测试人员为了避免此类问题发生,通常需要增加测试的工作量,但这样会降低测试效率。因此,在进行脚本测试时应当事先分析测试环境状态、检查脚本自身的不足等,提前做好处理。

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

3.1 测试设计功能实现

软件自动化测试工作应满足系统设计目标的普遍应用性、支持扩展和操作便利等要求。

3.1.1 普遍应用性

系统设计采用Tcl数据库适合脚本测试工作,因而通过常用的Tcl类数据库进行分析,在执行测试工作时能够配备好基本的操作环境。由于该测试程序可以不依赖系统单独进行工作,所以如果系统中产生了新的被测试对象,测试人员可以通过接入新的测试端口进行针对性测试。另外,测试时也可能会出现差异化不同的系统,此事数据化不能对特定程序展开识别,也应当重新设计测试系统,然后再展开对象测试。

3.1.2 易扩展性

考虑到Tcl类数据库的良好的扩展性能,因而在确保接口不影响测试程序的前提下,建议在测试系统设计时根据需要应当多增设一些接口。如此,便可以参照不同的程序来选择不同的脚本完善接口的设计,实现自动化脚本测试。

3.1.3 操作便利

在设计测试系统时,为了方便操作,应当设计一套易操作管理的模板和管理系统,以便于后续的大部分测试工作人员可以针对该模板和Tcl类数据库继续完成相应的脚本测试。当然,系统设计人员也可利用自身权限进入该管理系统开展相应的测试工作。

3.2 测试系统的实现

该系统主要通过Agent端、系统类库、系统控制模块、测试资源、测试脚本等方面构成,如图1所示。

3.2.1 Agent端

Agent端作为客户服务端的节点,包含了Tcl中的一些重要的解释程序。因此,当客户端将需求命令转送至Tcl時,执行命令就能迅速被Agent端解析并输出结果。

3.2.2 系统类库

系统类库拥有多种设计测试的接口,具有较高扩展性,应当灵活应用于软件的测试设计和功能的实现。在系统设计过程中,建议将Tcl中的某些对象功能和系统类库功能对接,以增强系统类库的扩展性和复用性。另外,将类库的文件放置在NFS中,可以实现服务端与Agent端的共享。

3.2.3 系统控制模块

系统控制模块参照数据与关键词相结合驱动的方法进行自动化测试。利用Tcl创建线程组,借用测试脚本对其展开进行控制。另外,线程组也可在Agent端利用映射链接实现通信。测试人员发出Tcl执行指令,Agent端接收指令,从而使测试结果在服务器端口的协调下储存到数据库中。

3.2.4 测试脚本管理

测试脚本的管理决定了系统测试的效率。在编写脚本时,测试系统应当根据一些脚本功能展开设定并且根据某些测试需要完善拓展脚本功能。当然,即便一个测试过程结束,也应当对测试需求重新考虑,不断对脚本进行优化。

3.2.5 日志报表

日志报表的主要功能是对测试结果的反馈进行分析,测试人员借此为依据提高判断的准确性,完成相应的测试工作。

4 结束语

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

参考文献

[1]冯伟,李波,何倩.软件测试自动化应用分析[J].制造业自动化,2011,33(02):42-44.

[2]易小芸.Tcl Access Excel实现方法及在软件自动化测试中的应用[J].电脑知识与技术:学术交流,2007,2(08):181+226.

[3]陈琪.自动化测试平台的设计与实现[D].西安:西安电子科技大学,2014.

[4]梁月圆.软件自动化测试方法研究及系统开发[D].西安:长安大学,2013.

作者简介

刘素京(1984-),女,研究生学历。工程师,目前主要从事软件和计算机方面的工作。

作者单位

中兴通讯股份有限公司 江苏省南京市 210000

猜你喜欢

自动化测试模块化
模块化自主水下机器人开发与应用
基于模块化控制系统在一体化教学中的应用
模块化住宅
ACP100模块化小型堆研发进展
从模块化中得到的二氧化碳
模块化VS大型工厂
浅谈空调控制器自动化测试