一种网络应用场景的自动化测试系统及方法与流程

文档序号:18072306发布日期:2019-07-03 03:55阅读:204来源:国知局
一种网络应用场景的自动化测试系统及方法与流程

本发明涉及自动化测试领域,具体涉及一种网络应用场景的自动化测试系统及方法。



背景技术:

目前自动化测试主要集中在功能测试和性能测试方面,对于应用场景的自动化应用还不是很成熟,且由于数据通信领域中客户应用场景的复杂和庞大,很多正在进行的“场景自动化测试”也是按照功能测试的方式进行开展的,并没有结合场景本身的特点进行,因而并不能发挥最大的作用。而越来越复杂的综合环境和越来越多的场景特性需求使得投入到场景测试中的人力物力不断增加,为了能达到所有的产品发布都可以在各种场景下以最快的方式完成覆盖测试,自动化测试成为不可替代的方式。

数据通信类客户网络应用场景环境复杂,基础配置庞大的特性导致实现自动化脚本的困难性。如何在繁杂的环境中提取相关的信息,如何适应某一段网络节点的设备变化,都成为场景自动化发挥效果的关键因素。

目前的一些场景自动化测试都不能很好的解决以上问题,只是按照常规的功能测试的方法实现:

1)将场景测试的环境构建到自动化测试系统中,即将原来通过拓扑交换机自动构建多种网络的环境换成固定直连的方式,并将网络中的每一条连接写入配置文件中供脚本选择使用。由于场景环境是相对庞大的,一旦发生变化,配置文件都需要逐一修改,带来的维护工作量较大;

2)功能测试的执行设备都是出厂配置,即脚本执行时设备上仅需要配置本测试点相关的信息,然后做相应的检查即可。若场景测试也按照这样去实现,会导致场景的意义不复存在,即,设备之间只有连接,没有关键配置存在,不能真正做到场景基础上的验证;

3)由于功能测试的设备没有初始的配置,或者只有搭建环境之后简单的配置,因此在脚本中没有专门从环境中获取信息的操作,但是对于真实的场景环境来说,网络繁杂庞大,基于该环境去执行脚本,最关键的是如何高效的去获取有效的网络关系和相关的配置信息以便于测试中使用,这一点也是基于功能测试的场景测试不能做到的。

综上,传统的场景自动化测试只是按照功能特性的方法实现,完全将场景连接固化到基础自动化环境中,导致脚本完全的依赖于环境,不灵活,没有很好的适应性;没有基于环境的配置进行测试导致测试单一,不能真正起到场景测试验证的作用。



技术实现要素:

本发明所要解决的技术问题是:提出一种网络应用场景的自动化测试系统及方法,解决传统技术中场景自动化测试方案存在的场景变化时维护工作量大,测试效率低,无法做到真正的场景覆盖测试的问题。

一方面,本发明的实施例提出了一种网络应用场景的自动化测试系统,包括:

任务执行调度模块,用于对提交的脚本任务进行资源分配,并按照一定优先级进行调度执行,在执行完成之后调用环境检测恢复模块对环境进行恢复;

数据存储分析模块,用于通过对整个网络应用场景的解读,提取整网相关数据信息并存储至整网数据文件库,根据测试需求完成整网相关数据信息的解析处理,提供给被调度的脚本任务使用;

环境检测恢复模块,用于在脚本任务执行前对当前网络环境进行检测,以及在脚本任务执行完成后,结合数据存储分析模块存储的整网相关数据信息恢复测试前的网络环境;

整网数据文件库,包括用于存储应用场景中的设备登录信息的场景设备集和用于存储整网相关数据信息的整网数据信息关系库。

作为进一步优化,所述数据存储分析模块对整个网络应用场景解读,具体包括:从场景设备集中获取设备信息进行设备登录,通过读取场景设备集中每台设备上直连配置描述,完成整个场景的设备连接关系解析;通过读取各设备的协议配置并结合设备连接关系,获得场景中设备上协议的逻辑关系。

作为进一步优化,所述环境检测恢复模块,还用于在环境检测失败时,根据场景中设备的初始配置还原场景。

作为进一步优化,所述环境检测恢复模块还用于定期进行网络环境的检查,当发现网络环境相对于数据存储分析模块存储的整网相关信息发生变化时,触发所述数据存储分析模块更新存储的整网相关数据信息。

作为进一步优化,所述环境检测恢复模块在脚本任务执行前对当前网络环境进行检测,具体包括:检测当前网络环境的连通性以及基础配置的正确性和协议可达性。

此外,基于上述系统,本发明的实施例还提出了一种网络应用场景的自动化测试方法,其包括以下步骤:

a.对任务列表中的待测试任务进行调度;

b.检测当前网络环境,若检测通过,则进入步骤c,若检测未通过,则进入步骤e;

c.读取整网数据文件信息,执行测试任务;

d.测试任务执行完成后恢复测试前的网络环境;

e.根据整网数据文件库中设备的初始配置还原场景。

作为进一步优化,在步骤a之前还包括步骤:

a0.通过对整个网络应用场景的解读,提取整网相关数据信息并存储;所述整网相关数据信息包括:设备连接关系、协议配置信息和协议逻辑关系。

作为进一步优化,所述提取设备连接关系的方法具体为:

a01.从场景设备集中获取一台设备的设备登录信息;

a02.登录到该设备中,获取本设备上所有的接口连接信息;

a03.判断本设备在整网数据信息关系库中是否有信息记录,若有,则进入步骤a05,若无,则进入步骤a04;

a04.将本设备的信息写入整网数据信息关系库,再进入步骤a05;

a05.从步骤a02得到的信息中获取本设备的一台对端设备;

a06.判断该对端设备在整网数据信息关系库中是否已经有信息记录,若有,则进入步骤a07,若无,则进入步骤a08;

a07.将该对端设备和本设备的连接信息写入整网数据信息关系库,返回步骤a05,直至本设备与所有对端设备的连接信息均写入整网数据信息关系库,返回步骤a01;

a08.将对端设备的信息写入整网数据信息关系库,然后将该对端设备和本设备的连接信息写入整网数据信息关系库,返回步骤a05,直至本设备与所有对端设备的连接信息均写入整网数据信息关系库,返回步骤a01。

作为进一步优化,步骤b具体包括:

b1.从场景设备集中获取一台设备的设备登录信息;

b2.登录到该设备中,获取本设备上所有的接口连接信息;

b3.读取一条连接信息;根据该连接信息的类型进行相应连通性验证;

b4.判断验证是否通过,若是,则返回步骤b3,读取下一条连接信息进行验证,直至本设备的所有接口连接均验证完成,返回步骤b1;

若验证失败,则记录验证失败消息,返回步骤b3,读取下一条连接信息进行验证,直至本设备的所有接口连接均验证完成,返回步骤b1。

作为进一步优化,步骤b3中,根据该连接信息的类型进行相应连通性验证,具体包括:

若该连接信息的类型为三层连接,则进行ping验证;若该连接信息的类型为二层连接,则进行关闭与打开操作验证。

本发明的有益效果是:

1)考虑到场景特性,所有的测试都基于场景原有的配置基础上进行,保证了场景自动化测试的有效性;真正达到场景测试的标准;

2)脚本执行所有依赖的连接关系以及配置信息均通过系统中的数据存储分析模块完成,脚本进行测试时通过该模块获取相应的信息进行操作即可,免去了复杂环境下各个脚本去获取该信息的重复性以及时间花费代价;

3)通过环境检测恢复模块定期检测场景环境,以便在检测到环境变化时,及时触发更新;并且,在任务执行完成后,对环境进行恢复,保证原始场景配置不变。

附图说明

图1为实施例中的网络应用场景的自动化测试系统应用示意图;

图2为实施例中的网络应用场景的自动化测试方法流程图;

图3为客户网络应用场景中获取整网连接关系的流程图;

图4为对整网环境检测流程图。

具体实施方式

本发明旨在提出一种网络应用场景的自动化测试系统及方法,解决传统技术中场景自动化测试方案存在的场景变化时维护工作量大,测试效率低,无法做到真正的场景覆盖测试的问题。本发明使用的是网络场景的原始环境,即将整个场景环境连接到自动化环境中;整个环境的连接关系处理则不按照常规的方式写入配置文件,避免环境变化带来的二次维护;考虑到场景特性,所有的测试都基于场景原有的配置基础上进行,保证了场景自动化测试的有效性;针对场景环境庞杂,配置繁多的特性,脚本执行所有依赖的连接关系以及配置信息均通过系统中的数据存储分析模块完成,脚本进行测试时通过该模块获取相应的信息进行操作即可,免去了复杂环境下各个脚本去获取该信息的重复性以及时间花费代价。

下面结合附图及实施例对本发明的方案做进一步的描述:

如图1所示,本实施例中的网络应用场景的自动化测试系统包括:

任务执行调度模块,用于对提交的脚本任务进行资源分配,占用资源并按照一定优先级进行调度执行,在执行完成之后调用环境检测恢复模块;

数据存储分析模块,用于通过对整个网络应用场景的解读,提取整网相关数据信息并存储至整网数据文件库,根据测试需求完成整网相关数据信息的解析处理,提供给被调度的脚本任务使用;

环境检测恢复模块,用于在脚本任务执行前对当前网络环境进行检测,以及在脚本任务执行完成后,结合数据存储分析模块存储的整网相关数据信息恢复测试前的网络环境;

整网数据文件库,包括用于存储应用场景中的设备登录信息的场景设备集和用于存储整网相关数据信息的整网数据信息关系库。

在上述系统中,数据存储分析模块通过对网络应用场景的解读将整网相关信息提取到整网数据文件库中,并根据需要完成相应的解析和处理。该模块与任务执行调度模块和环境检测恢复模块进行交互,任务被调度前,完成环境信息的解析处理,提供给被调度的脚本任务使用,在任务执行完成后,环境检测恢复模块结合存储到整网数据文件库中的整网数据信息完成环境的恢复。此外,环境检测恢复模块也会定时启动任务去进行环境的连通性检查,检查的依据也来自于整网数据文件库。当环境检测恢复模块根据原整网数据文件库中信息进行检查发现当前网络环境连接变化时,会触发数据存储分析模块更新整网数据信息。

在通过上述系统执行测试时,将整个客户网络应用场景,不做任何改动的加入到自动化环境中,在测试前的准备工作中,通过数据存储分析模块读取场景中每台设备上直连配置描述,完成整个场景网络连接关系解析;通过读取各种协议的配置并结合网络连接关系,得出场景中设备上关键协议(如ospf)的逻辑关系;以上信息均是通过命令动态获取,获取出的信息可以根据测试需要进行二次解析和处理,生成脚本中可以直接使用的数据变量。获取的信息被存储至整网数据文件库中供整个场景的全部测试用例使用。

其中,整网中的设备连接关系的获取步骤如图3所示:

1)从场景设备集中获取一台设备的登录连接信息;

2)登录到该设备中,通过执行命令获取本设备上所有的接口连接信息;

3)读取整网数据信息关系库中的整网连接信息数据;

4)判断本设备是否在整网数据信息关系库中有信息记录;

5)如果没有记录,则将该设备信息写入整网数据信息关系库中;

6)如果有记录,则直接跳转至步骤7);

7)从步骤2通过命令得到的信息中获取本设备的一台对端设备;

8)判断该对端设备在整网数据信息关系库中是否已经有信息记录;

9)如果有该对端设备的记录,则将该对端设备和本设备的连接信息补充填入整网数据信息关系库中;

10)如果没有该对端设备的记录,则先将该对端设备的信息填入整网数据信息关系库中,再将该对端设备和本设备的连接信息补充填入整网数据信息关系库中;

11)重复执行步骤7)-10),直至本设备与所有对端设备的连接关系均填入整网数据信息关系库中;

12)重复执行步骤1)-11),直至所有设备与对应对端设备的连接关系均填入整网数据信息关系库中。

整网环境中的基础协议配置信息关系的获取方式同上。

在测试前的准备工作完成后,进入如图2所示的测试步骤:

a.任务调度:

本步骤中,通过任务执行调度模块对任务列表中的待测试任务进行调度;调度时,按照任务优先级进行。

b.环境检测:

本步骤中,通过环境检测恢复模块在执行测试前检测整个场景网络的连通性以及基础配置的正确性和协议可达性;检测流程如图4所示:

1)从场景设备集中获取一台设备的登录连接信息;

2)登录到该设备中,通过执行命令获取本设备上所有的接口连接信息;

3)获取一个连接信息,判断该连接类型为三层还是二层;

4)根据连接类型进行验证,三层通过ping操作验证,二层通过对端口的关闭(shutdown)和打开(noshutdown)操作验证;

5)如果验证通过则继续获取连接信息进行检查;

6)如果验证不通过,则记录不通过的连接信息到环境验证失败信息文件中;

7)重复步骤3)-6)直至本设备上的所有连接均验证完成;

8)重复步骤1)-7)直至所有设备上的对应连接均验证完成。

c.读取整网数据文件信息;

本步骤中,读取整网数据数据文件库中的整网数据文件信息,根据测试需求进行二次解析和处理,生成任务脚本中可以直接使用的数据变量。

d.执行测试任务;

本步骤中,按照自动化任务脚本执行测试任务。

e.环境恢复;

在任务执行完成后,通过环境检测恢复模块对原始环境进行恢复,保证场景环境原始配置不变。若环境检测失败,也根据场景中设备的初始配置通过环境检测恢复模块还原场景。

所述环境检测恢复模块还用于定期进行网络环境的检查,当发现网络环境相对于数据存储分析模块存储的整网相关信息发生变化时,触发所述数据存储分析模块更新存储的整网相关数据信息。

因此,本方案中,任务执行调度模块在执行任务所使用的数据和环境检测恢复模块对于环境的检测和恢复的依据都来源于整网数据文件库中的整网数据文件信息。

而整网数据文件信息是通过预先对整网信息的解析获得,使得庞杂的网络环境转化为有序的数据供测试使用,通过这种将繁杂信息动态读取和解析存储到数据库的方式,使得信息的获取不再重复冗余,使得测试的效率更加高效。

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