一种基于SecureCRT的自动化测试系统及方法与流程

文档序号:12271198阅读:640来源:国知局
一种基于SecureCRT的自动化测试系统及方法与流程

本发明涉及计算机软件工程领域,具体涉及一种基于SecureCRT的自动化测试系统及方法。



背景技术:

目前,在各种产品开发过程中,经常需要利用自动化测试平台(The Automated Test Platform)进行回归测试,回归测试是通过积累测试用例,然后在测试平台上进行回放,获取测试结果的一种测试方式。传统的商用自动化测试平台存在价格高、测试用例积累(Test Case Accumulation)困难、操作复杂以及不利于使用者二次开发等问题。

因此,急需设计一种新型自动化测试平台,降低测试用例积累难度,提高使用者二次开发的便捷度。

中国发明专利“CN104598370A”公开了一种复现BUG的系统及方法,主要是利用SecureCRT对软件故障出现的记录和回放。在该发明专利中,仅仅利用SecureCRT脚本录制/回放功能,将故障出现时使用者的操作步骤记录下来,并在需要复现时,使用该登录下的VBScript(Visual Basic Script)、JScript(Java Script)、Python或PerlScript等secureCRT支持的语言进行重现,虽然在一定程度上解决了测试用例积累困难和操作复杂等问题,但是并没有考虑故障的多样性,仅适用于解决每次必现的BUG,致使该BUG复现系统缺乏灵活性,不具有通用性,无法批量下发。



技术实现要素:

本发明所要解决的技术问题是现有解决自动化测试平台测试用例积累难、操作复杂以及不利于使用者二次开发的方案,没有考虑故障的多样性,致使自动化测试系统缺乏灵活性以及通用性的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种基于SecureCRT的自动化测试方法,包括以下步骤:

步骤S10、快速录制使用者对测试对象的测试步骤,并在线下以脚本形式对录制的测试步骤进行编辑,生成不同测试用例的测试配置文件;

步骤S20、构建批量测试脚本,脚本内容包括自动分时切换SecureCRT远程管理模块上与多个测试对象对应的标签页、向每个测试对象下发测试用例对应的测试配置文件进行测试和收集每个测试对象的测试结果;

步骤S30、建立SecureCRT远程管理模块与各个测试对象建立远程连接;

步骤S40、SecureCRT远程管理模块通过其ActiveX Scripting技术支持接口调用批量测试脚本,自动切换到各个标签页,分别向每个标签页对应的测试对象下发相应的测试用例测试配置文件,对测试对象进行批量测试,并返回测试结果;

步骤S50、分别结合各个测试对象的测试结果与对应的测量仪表,对测试对象的功能或性能做出测试结论。

在上述方法中,选择不同的测试用例,循环执行步骤S30至步骤S50,批量运行多个测试用例,完成多项功能或性能的验证。

在上述方法中,在执行步骤S30之前,SecureCRT远程管理模块会进行测试环境初始化,设置测试环境参数,具体包括:

设置测试对象的业务或其功能模块的配置数量;

设置每个测试对象同一测试用例拟进行的测试次数及每次测试之间的等待时间;

设置本次测试用例覆盖的测试对象个数。

在上述方法中,步骤S10和步骤S20中的脚本为secureCRT远程管理模块支持的语言,包括:VBScript、JScript、Python或PerlScript。

在上述方法中,在批量测试脚本中,自动分时切换SecureCRT远程管理模块上与多个测试对象对应的标签页、向每个测试对象下发测试用例对应的测试配置文件进行测试的具体程序代码如下:

在上述方法中,在批量测试脚本中,收集每个测试对象的测试结果的具体程序代码如下:

Dim result

objCurrentTab.Screen.Send"测试指令"&chr(13)

result=objCurrentTab.Screen.WaitForString"预期结果1","预期结果2","预期结果3",10)

If result=3Then

‘预期结果3

End If

If result=0Then

‘处理超时

End If。

在上述方法中,利用SecureCRT远程管理模块的SSH、Telnet和Serial协议,通过网线或串口线物理连接,建立与各个测试对象的远程连接;其中,

SSH协议包括SSH1或SSH2协议,是通过网线与测试对象建立物理链路,并通过SSH1或SSH2协议验证后与测试对象进行相互通信;

Telnet协议是通过网线与测试对象建立物理链路,并使用明文通讯方式与测试对象进行相互通信;

Serial协议是通过串行通信接口数据线与测试对象建立物理链路。

本发明还提供了一种基于SecureCRT的自动化测试系统,包括:SecureCRT远程管理模块、测试用例生成模块、批量测试模块和测试结论生成模块;

所述测试用例生成模块快速录制使用者对测试对象的测试步骤,并在线下以脚本形式对录制的测试步骤进行编辑,生成不同测试用例的测试配置文件;

所述SecureCRT远程管理模块通过其ActiveX Scripting技术支持接口调用所述批量测试模块,执行自动切换到各个SecureCRT界面的多个标签页,分别向每个标签页对应的测试对象下发相应的测试用例的测试配置文件,开始对测试对象进行批量测试,并返回测试结果;

所述测试结论生成模块结合每个测试对象的测试结果与对应的测量仪表,做出测试对象的功能或性能测试结论,并将测试结论返回所述SecureCRT远程管理模块。

本发明是一种基于商用远程管理工具SecureCRT开发的新型自动测试系统,具有以下优点:

(1)提高测试用例积累快捷方便性,使用SecureCRT远程管理软件的“录制”功能,快速录制使用者的测试动作,再经过编辑生成测试用例;

(2)简化了测试者的操作过程,测试者只需要选择一个测试用例,在批量测试脚本中运行该测试用例,该测试用例涉及的所有测试对象上自动运行;测试结束后,在日志中显示测试结果,操作步骤的简化有助于解放使用者的维护代价。

(3)有效降低自动化测试系统的构架成本,本发明不仅以远程登录软件SecureCRT为核心,充分利用了其自带功能,而且测试用例在线下以VBScript/JScript等secureCRT支持的脚本形式编写,在windows操作系统下常用文本编辑器上即可编辑,为二次开发提供方便;

(4)本发明使用过程简单,步骤清晰,维护思路一目了然,大大降低了维护成本;

综上所述,本发明不仅可以提高测试用例积累的快捷性和方便性,且简化测试者的操作过程、有效降低自动化测试系统构架成本,从而降低自动化测试系统的使用和维护成本;同时本发明可适用于不同测试用例,并对多个测试对象进行批量测试,具有较好的灵活性和通用性。

附图说明

图1为本发明提供的一种基于SecureCRT的自动化测试方法的流程图;

图2为本发明提供的一种基于SecureCRT的自动化测试系统的结构框图。

具体实施方式

本发明基于广泛使用的SecureCRT远程管理软件(SecureCRT远程管理模块)作为测试实施主体,利用其(收、发配置指令)统一控制测试对象和仪表的测试进度,将测试配置步骤的修改放在线下完成,然后依次切换各设备的SecureCRT登录界面,完成设备批量下发测试配置和收集测试结果处理,不仅具有很大的通用性和灵活性,而且有效降低使用者的专业要求,操作简便,有利于二次开发。

下面结合说明书附图和具体实施例对本发明做出详细的说明。

如图1所示,本发明提供的一种基于SecureCRT的自动化测试方法,包括以下步骤:

步骤S10、利用SecureCRT远程管理模块快速录制使用者对测试对象的测试步骤,并在线下以脚本(VBScript、JScript、Python或PerlScript等secureCRT远程管理模块支持的语言),且在windows操作系统下常用文本编辑器上即可编辑)形式对录制的测试步骤进行编辑,生成针对不同性能进行测试的不同测试用例的测试配置文件。

步骤S20、建立自动分时切换SecureCRT远程管理模块的多个标签页、并分别对每个标签页对应的测试对象下发测试用例对应的测试配置、测试对象开始进行测试和收集每个测试对象测试结果的批量测试脚本(VBScript、JScript、Python或PerlScript等secureCRT远程管理模块支持的语言),以便实现测试用例的统一调配、测试对象的批量管理,其中,利用标签页特性,通过VBScript/JScript依次分时切换SecureCRT界面的多个远程登录页(多个测试对象)是批量管理的重要组成部分。

在批量测试脚本中,自动分时切换SecureCRT远程管理模块的多个标签页、并分别对每个标签页对应的测试对象下发测试用例对应的测试配置、测试对象开始进行测试的具体程序代码如下:

在批量测试脚本中,收集每个测试对象测试结果的具体程序代码如下:'指令下发/预期结果判断机制

Dim result

objCurrentTab.Screen.Send"测试指令"&chr(13)

result=objCurrentTab.Screen.WaitForString"预期结果1","预期结果2","预期结果3",10)

'参数说明:对应数值为1,2,3,超时时间为10秒

If result=3Then'得到"预期结果3"

'根据预期结果3,继续执行

End If

If result=0Then'如果结果为0,处理超时

'超时退出,中断

End If

步骤S30、SecureCRT远程管理模块与各个测试对象建立远程连接。

在本发明中,利用SecureCRT自带的SSH、Telnet和Serial等协议,通过网线或串口线等物理连接,建立与各个待测试设备(测试对象)的远程连接,为自动化测试系统和测试对象之间提供可靠的物理链路;其中,

SSH1/SSH2协议是通过网线与待测试设备(测试对象)建立物理链路,并通过SSH协议(SSH1/SSH2协议)验证后与测试对象进行相互通信;

Telnet协议是通过网线与待测试设备(测试对象)建立物理链路,并使用明文通讯方式与测试对象进行相互通信,安全性低;

Serial协议是通过串行通信接口数据线与测试对象建立物理链路,相对网线来说,串行通信接口更容易损坏。

步骤S40、SecureCRT远程管理模块通过其“ActiveX Scripting技术”支持接口执行批量测试脚本,自动切换到各个SecureCRT界面的多个设备标签页(对于有多个测试对象的测试),分别向每个测试对象下发相应的测试用例测试配置,开始进行测试对象批量测试,并返回测试结果。

步骤S50、分别将各个测试对象的测试结果与对应的测量仪表结合,对测试对象的功能或性能做出测试结论。

选择不同的实例,循环执行步骤S30至步骤S50,可批量运行多个测试用例,完成多项功能或配置的验证,构成自动化测试系统。

在本发明中,执行步骤S30之前,SecureCRT远程管理模块会进行测试环境初始化,设置测试环境参数,控制测试用例的实施,具体包括:

(1)设置测试内容,测试内容具体为测试对象的业务或其功能模块的配置数量;

(2)设置每个测试对象的同一功能(测试用例)拟进行的测试次数及每次测试之间的等待时间;

(3)设置本次测试用例覆盖的测试设备(测试对象)个数。

本发明还提供的一种基于SecureCRT的自动化测试系统,包括:SecureCRT远程管理模块10、测试用例生成模块20、批量测试模块30和测试结论生成模块40。

测试用例生成模块20快速录制使用者对测试对象的测试步骤,并在线下以脚本(如VBScript、JScript、Python或PerlScript等secureCRT远程管理模块支持的语言)形式对录制的测试步骤进行编辑,生成不同测试用例的测试配置;SecureCRT远程管理模块10通过其“ActiveX Scripting技术”支持接口控制批量测试模块30,执行自动切换到各个SecureCRT界面的多个设备标签页,分别向每个测试对象下发相应的测试用例测试配置,开始进行测试对象批量测试,并返回测试结果;测试结论生成模块40结合各个测试对象的测试结果与对应的测量仪表,做出测试对象的功能或性能测试结论,并返回SecureCRT远程管理模块10,实现测试结论输出。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1