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

· 重复机械式的测试有时让你觉得工作是如此的枯燥乏味!
· 只增不减的测试用例让你下班越来越晚!
· 请求老板招人,人却永远不够用!

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

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

——————————————————————————————————————

面对自动化测试这些痛苦,北京信而泰科技股份有限公司推出一个非常方便的功能——智能脚本(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软件正在按照某多个命令运行的一个示例图。

接下来举几个简单应用示例:

场景一:实现流量定时启停
使用智能脚本完成发流固定时间后停止流量,也可使用控制命令配置循环次数,订阅统计,检查统计是否有丢包错包,保存测试结果等。

场景二:路由震荡
使用智能脚本运行BGP/ISIS/OSPF协议,通告路由,一段时间后再撤销路由,也可使用控制命令配置循环次数等。

场景三:实现端口上下线
使用智能脚本连接机箱,预约端口,使用智能脚本配置端口循环上线和下线。

——————————————————————————————————————

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

一、明确目的
端口1每隔10秒向端口2发送一次流量,每次发流10秒,然后停止,重复10000次

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

三、具体配置

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

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

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

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

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

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

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

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

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

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

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

智能脚本工具(Smart scripts)测试应用的更多相关文章

  1. ArcGIS使用Python脚本工具

    在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用.在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了.这里用按要素裁剪栅格的Python来 ...

  2. 2015 GOOGLE I/O大会看点总结:新的开发工具及云端测试工具

        http://ask.android-studio.org/?/article/48 尽管凌晨开始的主题演讲略显晦涩并继承了谷歌一贯的东一句西一句想起啥说啥的混乱风格,但期待用技术改变世界的技 ...

  3. 开始你的第一个npm脚本工具

    在实际开发中,一般刚开始一个项目或者刚接手一个项目,我们会运行 npm install 下载安装所有依赖, 在实际开发中,可能也会使用各种命令行-- 来提高我们开发的效率. 与它相处了这么久,你真的了 ...

  4. JShell脚本工具

    JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具.启动 ...

  5. 列车网络智能诊断工具链—MVB智能诊断仪

    由于MVB网络采用分布式网络结构,各组网设备分布在不同电气柜,甚至是在不同车辆上,各组网设备往往来自于不同供应商,这给MVB网络调试及诊断带来了很大的难度.目前MVB网络调试及故障排查,主要是通过仪器 ...

  6. Java基础---JavaJShell脚本工具

    JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具. 启 ...

  7. 使用2种python脚本工具将2个txt文档中的文字进行比较,并计算出Corr, WER正确率,准确率

    一.准备: linux服务器,src2mlf.py   rec2mlf.py   HResults文件,1份源文件和1份需要对比的文件.文件放置于本人云盘 二.使用方法: 1. 对比工具 HResul ...

  8. Jmeter(二十八) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy1(详解教程)

    1.简介 在使用jmeter自动录制脚本时会产生很多无用的请求,所以推荐使用badboy录制脚本之后保存为jmx文件,在jmeter中打开使用.因此宏哥在这里介绍一下Badboy这款工具,本来打算不做 ...

  9. ;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk

    ;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk;~ 2019年10月10日;~ 徐晓亮(aahk6188);~ 操作系统测试环境: Windows 7 专业版 3 ...

随机推荐

  1. Solon Web 开发

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  2. MacBookPro2021 M1-MAX电脑问题锦集

    MacBook2021 M1-MAXPro电脑问题锦集 问题1: 开启硬盘加密,开机闪屏 问题详述: 在系统偏好设置中,打开安全与隐私,在弹出窗口中切换到第二个页签(文件保险箱),启用文件保险箱功能, ...

  3. 分享一个学习cesiumjs的中文社区

    在cesiumjs中文社区的时间线中我写到: 2018年10月10日 注册用户数51,日uv破100 Mark截图 2018年06月22日 上线测试 2018年06月19日 获得cesiumcn.or ...

  4. Ajax_axios发送ajax请求

    Ajax_axios发送ajax请求 这篇笔记主要讲一下axios基本的发送ajax请求的方法 axios在当前的前端行业里面是用的比较热门的一个 下面给大家分享一下它axios的一个基本用法 这段代 ...

  5. CSS设置标签、图片放大、缩小、旋转、移动(tranform)

    CSS设置标签.图片放大.缩小.旋转.移动(tranform) 1.缩小和放大属性(scale) 格式:tranform:缩小类型(数值): 注意:缩小和放大都是 scale : 其中的值(0~1)代 ...

  6. FHQtreap(我有个绝妙的理解方法,但课的时间不够[doge])

    FHQtreap板子(P1486 [NOI2004] 郁闷的出纳员) 会了FHQ,treap什么的就忘了吧...... #include<bits/stdc++.h> using name ...

  7. golang中的RPC开发-2

    RPC简介 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 如果 ...

  8. gorm链接mysql的初始化配置和连接池的使用

    1.  mysql的初始化配置 dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?%s", user, passwd, host, port, db, ...

  9. golang中文件和路径用法

    package main import ( "fmt" "io/fs" "io/ioutil" "os" "p ...

  10. 元编程 (meta-programming)

    元编程 (meta-programming) 术语 meta:英语前缀词根,来源于希腊文.中国大陆一般翻译成"元". 在逻辑学中,可以理解为:关于X的更高层次,同时,这个更高层次的 ...