智能脚本工具(Smart scripts)测试应用

  

如果您是一位网络测试人员,您的工作中是否有出现过以下困扰呢?

u 重复机械式的测试有时让你觉得工作是如此的枯燥乏味;

u 只增不减的测试用例让你下班越来越晚;

u 请求老板招人,人却永远不够用。

 

但值得庆幸的是,自动化测试技术终于到来。它可以减少重复性劳动,提高测试效率,节约人力成本,是不是很棒!

 

不过自动化测试也有一些弊端,首先它要求测试人员熟悉编程语言和语法,还要花费大量时间编写测试例。测试用例变多了,写代码真的对测试工程师友好吗?能手工的可不可以不要用天书一样的代码解决?有没有什么办法能够让测试更简单一些呢?

 

面对自动化测试这些痛苦,北京信而泰科技股份有限公司(以下简称“信而泰”)推出一个非常方便的功能——智能脚本(Smart scripts)。

智能脚本简介

Smart scripts是无代码的自动化测试用例编写和执行的解决方案,它支持循环语句和条件语句,不需要用户熟悉编程语言语法就可以轻松上手。灵活使用Smart scripts能够让测试工程师更方便地在图形界面上完成自动化测试,提高测试效率。

 

智能脚本功能

智能脚本编辑器拥有强大的命令功能,包括8大类:硬件类、控制类、流量类、协议类、统计类、抓包类、工具类、其它基本命令。其中每一大类都包含丰富的操作命令。

1、硬件类Hardware):支持的命令主要有连接/断开/关闭/重启机箱、预约/释放端口、端口上线/下线/自协商。

2、控制类Control):主要用于控制运行脚本的流程,包括Break 、Continue 、Else 、Else If 、Goto 、Group 、If 、Loop 、While 。

3、流量类Stream):主要是与流量相关的操作命令,包括导入流、发送流、停止流等。

4、协议类:包括Access协议、Carrier Ethernet协议、Routing协议和Switch协议。其中Access支持的协议有DHCPv4、DHCPv6 。Carrier Ethernet支持的协议有802.1ag 、802.3ah 。Routing支持的协议有BFD 、BGP 。Switch支持的协议有OVSDB。而每一种具体的协议又包括多种操作命令,比如BGP协议里的操作命令包括建立/断开BGP连接、通告/撤销BGP路由等。其它协议里的各种操作命令这里不再一一列举。

5、统计类Result):主要用于统计结果。

6、抓包类Capture):是关于捕获报文的操作命令,包括所有端口或指定端口上开始抓包、在所有端口或指定端口上停止抓包、终止捕获下载、下载pcap数据到指定的路径。

7、工具类Tool):支持的命令主要包括Sleep、验证统计值以确定命令成功或失败等。

8、其它基本命令Core:支持的命令主要包括开始/停止学习ARP、保存结果、保存配置文件、收集日志信息等。

 

 

通过对智能脚本里的不同命令进行组合可以实现客户复杂测试需求,下图是Renix软件正在按照某多个命令运行的一个示例图。

 

QQ图片20191011164007

 

 

接下来举几个简单应用示例:
使用场景一:实现流量定时启停。使用智能脚本完成发流固定时间后停止流量,也可使用控制命令配置循环次数,订阅统计,检查统计是否有丢包错包,保存测试结果等。
使用场景二:路由震荡。使用智能脚本运行BGP/ISIS/OSPF协议,通告路由,一段时间后再撤销路由,也可使用控制命令配置循环次数等。
使用场景三:实现端口上下线。使用智能脚本连接机箱,预约端口,使用智能脚本配置端口循环上线和下线。

本文我们以周期性发送流量为例,介绍如何灵活使用智能脚本(Smart scripts)功能。

目的

端口1每隔10秒向端口2发送一次流量,每次发流时间持续60秒,然后停止,重复10000次

准备

预约两个端口,Port_1发送流量给Port_1流量,新建一条普通的RAW流,修改名称为TestStream,其它可以保持默认

img2

 

配置

1.       在软件的右上方点击智能脚本,并且固定

img3

2.       点击 编辑智能脚本打开智能脚本编辑器,切换到Stream的分类,将Start Streams命令加入到右边的方框(或者直接搜索start)

img4

3.       双击Start Stream1,并且选择之前建立好的TestStream流量

img5

4.       切换到Tool,将sleep命令加入脚本序列中,双击sleep,填写等待时间60秒

img6

5.       停止流量操作:可以搜索stop,将stop加入脚本序列中,双击stop,选择要停止的TestStream流量

img7

6.       每隔10秒再发送流量,需要再添加一个sleep

img8

7.       全部选中这4条命令,添加到一个loop里做成循环模式,双击loop,填写循环次数

img9

img10

8.       点击确定,就会自动生成一个智能脚本,点击运行,就会按照设置的内容运行,下图表示循环到了第7次

img11

9.       可以通过编辑智能脚本非常容易地进行修改配置,例如,保存最终的测试结果,如下图是将测试结果保存到目录C:\Users\zkk\Desktop\result\1.db,文件名是“1.db”

img12

10.脚本运行完成后,使用ResultAnalyzer软件打开“.db”的测试结果文件

img13

img14

通过上面的方法,用户就可以使用智能脚本完成一个完整的测试,省去大量手动重复性的发流停流操作。不用写一行代码,就可以完成脚本开发,大家有没有觉得很nice呢?另外,通过将命令列表进行组合,还可以衍生出更丰富的测试用例。

  

2020年4月9日 11:08