基于Robot框架的软件自动化测试技术的研究与应用

2018-01-04 10:59生桂勇
电脑知识与技术 2018年28期
关键词:自动化测试测试用例

生桂勇

摘要:软件测试是保障软件开发质量的关键措施,应结合软件特点来合理选择测试手段。随着软件开发工序越加复杂化,使得自动化测试技术在软件检测中有重要应用。本文主要围绕自动化测试系统的开发及实现、自动化测试系统的运行等方面展开讨论,详细分析了在Robot框架基础上的测试系统研发及功能实现,以便为软件措施提供有效途径。

关键词:自动化测试;Robot框架;测试用例

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)28-0268-03

软件测试旨在提高产品运行质量,尤其在对软件质量要求不断提高的背景下,软件测试重要性逐渐显现出来。由于软件开发复杂程度的增加以及项目研发周期的延长,为软件测试带来了较大难度,这时手工检测已经不能适应软件开发要求。因此,有必要加强对自动化检测系统的建设与应用研究的重视,以便为软件质量提供保障,可以说自动化检测将是软件测试行业未来必然趋势。

1自动化测试系统的开发及实现

1.1Robot框架介绍

Robot框架指的是一种可调取关键字的自动化测试框架,能借助简单的测试脚本来执行测试操作。通常将该框架连接到及信号接收测试的设计开发中,具有一定的应用价值。Robot框架主要体现出以下特点:一是使用操作简单。可借助表格文件作用,利用统一测试用例进行软件测试;二是重复使用效果较好。能借助已有关键字发展得到更高级别的关键字,从而提升测试系统性能;三是系统开发平台和被测软件相对独立,不会对软件运行造成影响;四是能满足来自数据支撑的测试用例的检测。总的来说,Robot框架属于应用性较好的一种独立框架,而在启动这个框架时,则对应的测试数据文件将随之启动,在测试系统用例的过程中,将形成日志文件[1]。Robot框架使用性能的实现需要借助Jython或Python的作用,在进行软件检测操作时,要求在自动化检测系统中安装上述两种程序,进而为系统运行奠定基础条件。测试系统中的数据库主要由两部分构成,在借助Robot框架设计测试系统时,要合理利用各部分功能。

1.2系统总体架构

在进行自动化测试系统研发时,本文主要以Robot框架为系统开发基础来建立自动化检测改进系统。测试系统设计应满足利用cNB功能执行测试行为的自动化检测系统,要求符合以下条件:一是测试系统应面对GUI运行界面,有针对性的设计与研发,保证系统功能与界面显示内容的一致性;二是要求系统体现出独立性以及稳定性,以免出现由于系统运行故障而导致检测结果与实际情况有所偏差的现象,同时需要保证系统维修操作顺利开展;三是考虑到测试操作主要依靠录制好的脚本进行,为了提高系统在不同软件测试上的适应性,需要结合软件特征进行脚本的修正和管理。因此,要求系统能满足脚本编辑的需求。

对于自动化检测系统整体架构而言,应在系统内部设置对应数据库,使得测试脚本能存放在其中,方便对脚本信息的收集和储存。当实施自动化测试行为时,需要包括调取关键词及参数这个环节,以便为系统运行提供信息支持,促使系统能根据选取的测试用例合理开展软件质量测试。从测试系统功能角度出发,主要包括关键字调取、脚本录制及运行、日志生成等,只有在以上功能有效实现的条件下,才能保证软件测试各环节取得良好效果。

1.3界面驱动脚本设计及实现

界面测试脚本设计质量与测试系统运行效率有紧密联系,因此,有必要重视的界面驱动脚本的设计,是自动化系统建设阶段不可或缺的环节,是确保软件测试结果准确性的关键。为了实现测试脚本设计有效性,应合理选择测试工具,以便起到驱动系统运行的作用。一般来讲,需要测试脚本具有易于修改、方便调试、尽可能降低数据文件和脚本关联性等要求。在操作界面驱动系统设计及实现方面,应充分利用界面驱动有关算法,进行驱动代码的编写。代码中应体现关键字的调取环节,从而确定测试用例,在系统中输入需要运行的驱动脚本信息,当信息文件导入计算机系统中后,则可根据操作界面指示实行软件测试等相关操作。当测试脚本内包含关键字信息后,应在控制界面载入驱动脚本对应的测试信息,之后可对软件质量进行检测。

1.4关键字指令库的设计及实现

对于关键字指令库而言,由于关键字调取是实现测试系统功能的前提条件,因此需要加大对关键字指令库建设的重视,通过合理选择设计方法来建立满足测试要求的关键字指令库。测试系统已有模块可为指令库功能模块设计提供条件,使得关键字能在功能模块作用下正常调用[2]。要想保障系统各项功能的实现,应借助登陆主机、完善配置文件等行为来实施测试步骤,确保关键字数据信息储存在数据库中。在进行关键字指令库设计时,同样需要编写相关代码,并将代码信息储存在文件中,当执行检测操作时,可利用已有关键字调用文件,将其导入测试系统中,以便驱动系统实行软件检测操作。总的来讲,关键字调取对测试系统运行质量有显著影响,为了确保系统测试效果,需要结合测试用例来确定关键字的选取,与测试系统功能的实现有紧密联系。

1.5系统启动

自动化检测系统数一个较完整的系统,只有各模块功能的实现还不能保障系统测试质量的提高,在用户使用测试系统时,其内部不同功能模块将发生一个整合运作过程,在各个模块协调运作的前提下,实现整个系统的正常运转,发挥其在软件检测中的作用,从而保障软件检测工作的顺利完成。在该系统设计时,应将需要整合的模块写进一个函数中,在同一函数作用下,为各功能模块配合运作奠定基础,是实现系统功能的基础条件,同时是自动化检测系统设计阶段的主要内容之一。

2自动化测试系统的运行

2.1LTE系统简介

该系统能实现为人们网络行为提供基础条件的功能,在网络系统发展过程中,主要经历了模拟通信系统、数字通信系统以及3G通信等阶段,不同通信技术在协调作用下逐渐形成先进通信技术[3]。LTE是现阶段主要信息传递技术之一,能在结合已有系统优势的前提下,实现系统结构的优化。本文主要针对软件系统质量检测展开讨论,通过借助LTE网络中的cNB功能,可为自动化检测技术的实现提供帮助。对于cNB来讲,主要由RNC以及3GNB构成,具备以下功能:一是通信资源管理功能,可做到对无线资源载荷、信号接入控制等环节的有效管理。二是网络用户可将数据传输到SGM中,进行信号发送;三是IP头压缩处理及数据加密,可加强对数据信息的保护。将這类网络系统作为自动化检测系统开发平台,能保证在信息高效传递的条件下,为系统开发及功能实现提供基础条件。并且在对LTE网络应用需求进行分析时,可得出主要体现在性能需求、成本需求、容量需求等方面,在满足上述需求基础上,可进一步发挥LTE系统中cNB的功能。

2.2测试用例

为了确保自动化检测系统的正常运行,需要在完成系统设计操作后对系统功能性展开测试。这时要求能合理选择测试用例,本文主要从以下内容出发,来设置测试用例:一是项目背景,指的是考虑到数据传递过程中可能出现被破坏问题,这时需要采取加密技术来降低信息损失,即是应对cNB进行数据加密功能的设置;二是对加密通道的测试分析。当用户端和控制面板产生的数据在同一通道中传输,则应保证通道内数据包成功加密;三是针对加密技术加以检测。数据加密技术是基于传输通道实现的,需要在通道两端设置加密点,并只有在密钥作用下才能获取数据。加密技术运用成效对自动化检测系统运行质量有直接影响,因此,有必要将数据加密技术实施效果作为检测用例之一。

2.3自动化测试分析

在实际进行自动化检测时,应首先明确测试步骤。如测试人员将结合脚本结构来编制具体代码文件,尽可能做到涉及系统测试的各方面。在按照标准测试步骤进行测试软件性能检测时,需要注重的是在完成检测后,应记录删除信息的脚本,以便为之后的测试工作提供依据。测试用例具体自动化检测流程为:首先开始运行测试系统,之后记录测试脚本信息并调用有关数据库,再次结合测试用例来编制测试代码,进而实行测试操作并得到操作结果。

在测试文件设置方面,应明确文件由变量表格、关键词表格、设置表格以及检测用例表格等部分组成,上述构成内容分别对应不同的注释标识。以变量表格为例,主要强到显示关键字数量的作用,对这一构成来讲,需要包括变量名、标量以及列表变量等注释内容,在运行自动化检测系统时,可将文化中数据信息导入系统中。而在数据测试设计方面,是自动化检测设计中的主要环节之一。记录测试脚本时将涉及导入数据、输出数据以及验证数据等操作,这些数据有效性主要由测试数据设计决定[4]。独立设置数据文件主要考虑到以下原因:一是提升测试文件使用程度;二是减弱测试文件与数据文件的关联性。通过建立单独的数据文件,当需要修改测试参数时,只需要调整数据文件,而不影响原有脚本的使用。

2.4自动化测试实行

在完成自动化检测系统的脚本录制以及调试等环节后,可将测试文件中的参数信息储存在Data文件中,并对文件进行命名,通过将这一文件加载到计算机设备中,便能对软件系统进行运行质量的测试。测试文件运行过程中,应启动文件中关键字,以便确保测试的全面性。通常情况下,测试系统需要检测的测试用例存在对应的集合中,系统运行时,将按照设定的执行顺序依次检测各用例情况。实践操作显示,当实行结束测试用例操作后,系统将输出三类文件,其中日志文件能记录测试阶段的测试信息,从而为软件故障排查提供依据。

2.5测试结果分析

在按照上述步骤执行软件测试操作后,可对自动化测试技术优势有所了解。首先,从测试时间来讲,一般情况下,自动化测试用例花费时间在30分钟左后,并且有10分钟为打造检测环境,因此总的用例检测时间约为20分钟。而人为开展软件检测时,在忽视外界环境干扰下的用时约为60分钟。并且在进行手工测试时,容易受到外部因素影响而降低测试效率,将一定程度增加检测时间,而自动化检测功能的实现主要依靠测试脚本作用,当脚本录制完成后,将在系统内稳定执行,由此可得出,自动化检测具有可靠性好和效率高的优势。其次,从关键字调取时间和操作角度出发,当手工检测软件执行质量时,不仅需要等待信息反馈时间,还要求用户结合检测项目自行输入测试条件。以辅助软件Wireshark措施为例,关键字调取时间上,自动化检测手段相较于手工测试而言有明显优势,并且操作行为能满足测试系统运行需求。

在对自动化检测特点进行分析时,首先,发现其具备操作流程简化的特点,在测试脚本录制完成后,可根据系统内部指令来重复使用,不仅简化了测试准备工作,还提升了脚本利用率。其次,Robot这一框架具有操作简单的特点,只需要利用关键字驱动作用,便能自动执行检测用例过程,直至输出测试报告,有助于软件排错环节的进行。最后,自动化测试可按照测试顺序来具体分析检测用例,做到检测用例信息的充分掌握,进而实现检测脚本的优化设计,在软件测试中体现出较强的应用潜力。

3 结论

综上所述,软件行业目前已经取得了显著的发展成果,软件系统逐渐朝着大规模化发展,为了充分发挥软件功能,需要加大对软件的测试力度,是保证软件质量的关键。本文主要是在基于Robot框架的条件下,结合软件系统特点,具体分析了软件检测系统总体框架以及功能模块等,进而为软件测试环节提供应用效果较好的测试系统,发挥其在保障软件质量上的积极作用。

参考文献:

[1]李全. 基于Robot Framework的移动端自动化测试方案设计与实现[D].东华大学,2017.

[2]朱韶松. 基于Robot Framework的自动化测试系统的设计与实现[D].东南大学,2016.

[3]梁思秋. 基于Robot Framework的MVC GUI模块自动化测試框架的设计与实现[D].东华大学,2015.

[4]刘娟娟. 基于Robot框架的软件自动化测试技术的研究与应用[D].浙江理工大学,2013.

【通联编辑:梁书】

猜你喜欢
自动化测试测试用例
基于SmartUnit的安全通信系统单元测试用例自动生成
基于MBD模型自动生成测试用例的软件测试方法
基于混合遗传算法的回归测试用例集最小化研究
浅谈空调控制器自动化测试
基于需求模型的航天软件测试用例生成方法
基于依赖结构的测试用例优先级技术
软件回归测试用例选取方法研究