RFC2889转发性能測试用例设计和自己主动化脚本实现

一、203_TC_FrameRate-1.tcl

set chassisAddr 10.132.238.190

set islot 1

set portList {9 10} ;#端口的排列顺序是port1, port2

set ipList {10.0.0.3 20.0.0.3} ;#ip列表与port的排列顺序相相应

set macList {00-00-00-00-00-01 00-00-00-00-00-02}

set gwList {10.0.0.1 20.0.0.1}

set iFramelen 256

set streamLoad 100

if { [catch {

cd ../Source

#载入HLAPI Lib

source ./CSTC.tcl

SetLogOption -Debug Enable

# 開始连接机器

TestDevice chassis1 $chassisAddr

# 開始预留两个port

for {set i 0} {$i <[llength $portList]} {incr i} {

chassis1 CreateTestPort -PortLocation $islot/[lindex $portList $i] -PortName port[expr $i+1] -PortType Ethernet

}

port1 CreateTraffic -TrafficName traffic1

traffic1 CreateProfile -Name profile1 -TrafficLoad 100 -TrafficLoadUnit fps

traffic1 CreateStream -StreamName stream1 -FrameLen 500 -ProfileName profile1 \

-L2 ethernet -L3 IPv4 -L4 Udp -IpSrcAddr 192.168.0.1 -IpDstAddr 192.168.5.7 -udpsrcport 2000 -udpdstport 3000

traffic1 ConfigStream -StreamName stream1 -L2 ethernet -L3 IPv4 -EthDst 00:00:10:E1:01:08 -EthSrc 00:00:11:E1:00:09

#创建统计和分析对象Statistics1,Statistics2,Analysis2

port1 CreateStaEngine -StaEngineName Statistics1 -StaType Statistics

port2 CreateStaEngine -StaEngineName Statistics2 -StaType Statistics

port2 CreateStaEngine -StaEngineName Analysis2 -StaType Analysis

#SaveConfigAsXML "c:/framerate.xml"

puts "配置捕获模式,将数据报capture到指定文件,可用于数据包的分析"

Analysis2 ConfigCaptureMode -CaptureMode allpkt -CaptureFile "c:/Framerate.pcap"

# 開始捕获报文

puts "開始捕获报文"

for {set i 0} {$i < 1} {incr i} {

traffic1 ConfigProfile -Name profile1 -TrafficLoad [expr 100 + $i * 100] -TrafficLoadUnit fps

Analysis2 StartCapture

puts "配置捕获模式,将数据报capture到指定文件"

Analysis2 ConfigCaptureMode -CaptureMode allpkt -CaptureFile "c:/Framerate[expr 100 + $i * 100].pcap"

port1 StartStaEngine

port2 StartStaEngine

port1 StartTraffic

# 等待5秒

after 5000

# 在txport停止流量发送

port1 StopTraffic

after 5000

array set stats1 [Statistics1 GetPortStats ]

parray stats1

array set stats2 [Statistics2 GetPortStats ]

parray stats2

# 基于流,获取stream1,stream2,stream3,stream4的统计值,存储在stats数组并打印出来

array set stats3 [Statistics1 GetStreamStats -StreamName stream1]

parray  stats3

#array set stats4 [Statistics1 GetStreamStats -StreamName stream2]

#parray  stats4

#array set stats5 [Statistics1 GetStreamStats -StreamName stream3]

#parray  stats5

port1 StopStaEngine

port2 StopStaEngine

Analysis2 StopCapture

}

#清除測试过程中所作的全部配置和释放測试过程中占用的全部资源

chassis1 CleanupTest

}  err ] } {

puts "脚本执行中出现错误: $err"

#清除測试过程中所作的全部配置和释放測试过程中占用的全部资源

chassis1 CleanupTest

}

二、203_TC_FrameRate-2.tcl

set chassisAddr 10.132.238.190

set islot 1

set portList {9 10} ;#端口的排列顺序是port1, port2

set ipList {10.0.0.3 20.0.0.3} ;#ip列表与port的排列顺序相相应

set macList {00-00-00-00-00-01 00-00-00-00-00-02}

set gwList {10.0.0.1 20.0.0.1}

set iFramelen {64 128 256 512 1518}

set streamLoad 100

if { [catch {

cd ../Source

#载入HLAPI Lib

source ./CSTC.tcl

SetLogOption -Debug Enable

# 開始连接机器

TestDevice chassis1 $chassisAddr

# 開始预留两个port

for {set i 0} {$i <[llength $portList]} {incr i} {

chassis1 CreateTestPort -PortLocation $islot/[lindex $portList $i] -PortName port[expr $i+1] -PortType Ethernet

}

port1 CreateTraffic -TrafficName traffic1

traffic1 CreateProfile -Name profile1 -TrafficLoad 100 -TrafficLoadUnit fps

traffic1 CreateStream -StreamName stream1 -FrameLen 500 -ProfileName profile1 \

-L2 ethernet -L3 IPv4 -L4 Udp -IpSrcAddr 192.168.0.1 -IpDstAddr 192.168.5.7 -udpsrcport 2000 -udpdstport 3000

traffic1 ConfigStream -StreamName stream1 -L2 ethernet -L3 IPv4 -EthDst 00:00:10:E1:01:08 -EthSrc 00:00:11:E1:00:09

#创建统计和分析对象Statistics1,Statistics2,Analysis2

port1 CreateStaEngine -StaEngineName TxStatistics1 -StaType Statistics

port2 CreateStaEngine -StaEngineName RxStatistics1 -StaType Statistics

port2 CreateStaEngine -StaEngineName Analysis2 -StaType Analysis

#SaveConfigAsXML "c:/framerate.xml"

puts "配置捕获模式,将数据报capture到指定文件。可用于数据包的分析"

Analysis2 ConfigCaptureMode -CaptureMode allpkt -CaptureFile "c:/Framerate.pcap"

# 開始捕获报文

puts "開始捕获报文"

for {set i 0} {$i < 3} {incr i} {

traffic1 ConfigProfile -Name profile1 -TrafficLoad [expr 100 + $i * 100] -TrafficLoadUnit fps

traffic1 ConfigStream -StreamName stream1 -FrameLen [ lindex $iFramelen $i ]

Analysis2 StartCapture

puts "配置捕获模式,将数据报capture到指定文件"

Analysis2 ConfigCaptureMode -CaptureMode allpkt -CaptureFile "c:/Framerate[expr 100 + $i * 100].pcap"

port1 StartStaEngine

port2 StartStaEngine

port1 StartTraffic

# 等待5秒

after 5000

# 在txport停止流量发送

port1 StopTraffic

after 5000

set TxStats1 [TxStatistics1 GetPortStats ]

puts "-------------------------------"

puts $TxStats1

puts "-------------------------------"

set txFrameIndex [lsearch $TxStats1 -TxSignature ]

set txFrameRateIndex [lsearch $TxStats1 -TxSignatureRate]

set txFrameNum [lindex $TxStats1 [expr $txFrameIndex + 1]]

set txFrameRate [lindex $TxStats1 [expr $txFrameRateIndex + 1]]

#array set RxStats1 [RxStatistics1 GetPortStats ]

set RxStats1 [RxStatistics1 GetPortStats ]

puts "-------------------------------"

puts $RxStats1

puts "-------------------------------"

set rxFrameIndex [lsearch $RxStats1 -RxSignature ]

set rxFrameRateIndex [lsearch $RxStats1 -RxSignatureRate ]

set rxFrameNum [lindex $RxStats1 [expr $rxFrameIndex + 1]]

set rxFrameRate [lindex $RxStats1 [expr $rxFrameRateIndex + 1]]

puts "TxFrame=$txFrameNum"

puts "RxFrame=$rxFrameNum"

port1 StopStaEngine

port2 StopStaEngine

Analysis2 StopCapture

}

#清除測试过程中所作的全部配置和释放測试过程中占用的全部资源

chassis1 CleanupTest

}  err ] } {

puts "脚本执行中出现错误: $err"

#清除測试过程中所作的全部配置和释放測试过程中占用的全部资源

chassis1 CleanupTest

}

时间: 2024-10-27 03:42:22

RFC2889转发性能測试用例设计和自己主动化脚本实现的相关文章

【金阳光測试】大话Android自己主动化測试--Android自己主动化系列(1)--金阳光于2013年4月份

Android自己主动化測试框架和工具在四年多的发展日趋成熟. 从五年前的第一代自己主动化架构演进到眼下第四代(本系列讲座第7篇后将具体剖析第三代和第四代自己主动化框架)从曾经最早谷歌推崇的monkey随机測试工具到点触流自己主动化工具monkeyrunner.MonkeyTalk.基于元素识别的自己主动化框架sikuli.seeTest.iTest.基于控件识别的Robotium.SL4A.这三种技术各有千秋.基本上如今做出的自己主动化框架都是整合或者改动了以上这些免费的自己主动化框架:比方中

測试设计及自己主动化全景图

为了量化说明測试和自己主动化对特性的覆盖情况.我们能够採用[思维导图--表格--全景图]的方法来进行測试设计:

Tcl脚本调用高层API实现仪表使用和主机创建配置的自己主动化測试用例

#设置Chassis的基本參数,包含IP地址.port的数量等等 set chassisAddr 10.132.238.190 set islot 1 set portList {11 12} ;#端口的排列顺序是port1, port2 if { [catch { #载入STC API Lib cd ../Source #载入HLAPI Lib source ./CSTC.tcl SetLogOption -Debug Enable # 開始连接机器 TestDevice chassis1 $

Selenium2 Python 自己主动化測试实战学习笔记(五)

7.1 自己主动化測试用例 无论是功能測试.性能測试和自己主动化測试时都须要编写測试用例,測试用例的好坏能准确的体现了測试人员的经验.能力以及对项目的深度理解. 7.1.1 手工測试用例与自己主动化測试用例 手工測试用例是针对手工測试人员.自己主动化測试用例是针对自己主动化測试框架.前者是手工測试用例人员应用手工方式进行用例解析,后者是应用脚本技术进行用例解析. 前者具有较好的异常处理能力,并且可以基于測试用例,制造各种不同的逻辑推断,并且人工測试步步跟踪,可以仔细定位问题.后者全然依照測试用例

带有机器人框架的.NET自己主动化測试

Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg and Misys担任QA经理.同一时候他还是Sogeti的自己主动化測试顾问.Clayton对自己主动化測试超迷恋,还见识了怎样亲自成功实施測试自己主动化. ? 測试自己主动化的优点我们都非常清楚,更快地反馈问题,降低手工測试,持续集成就是当中随口可举的.測试团队成员越多,公司使用自己主动化越多

软件安全性能測试(转载)

近来,在我负责的公司某软件产品的最后測试工作,经常被问到这样一个问题:在做測试过程中,我们的软件产品在安全性方面考虑了多少?应该怎样測评一个软件究竟有多安全? 这个软件因为涉及客户商业上重要的信息资料,因此用户关心的核心问题始终环绕“这个软件安全吗”.一个因为设计导致的安全漏洞和一个因为实现导致的安全漏洞,对用户的终于影响都是巨大的.我的任务就是确保这个软件在安全性方面能满足客户期望. 一.什么是软件安全性測试 (1)什么是软件安全 软件安全属于软件领域里一个重要的子领域.在曾经的单机时代,安全

Mock+Proxy在SDK项目的自己主动化測试实战

项目背景 广告SDK项目是为应用程序APP开发者提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包.提供的功能主要有以下几点: - 为APP请求广告内容 - 用户行为打点 - 错误日志打点 - 反作弊 团队现状 在项目推进的过程中.逐渐暴露了一些问题: 1. 项目团队分为上海团队(服务端)和北京团队(client),因为信息同步,人力资源等其它原因.服务端与client的开发进度非常难保持同步,经常出现client等着和服务端联调的情况 2. 接口文档不稳定,理解有偏差

android 性能測试CTS篇

CTS介绍 一.CTS简单介绍 CTS 全称Compatibility Test Suite兼容性測试工具. 当电子产品开发出来.并定制了自己的Android系统后,必需要通过最新的CTS检測.以保证标准的android应用能执行在该平台下. 通过了CTS验证.须要将測试报告提交给Google,已取得android market的认证 二.为什么须要CTS測试? watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTYyNDczMTE4Ng==/font/

2.pytest用例设计及运行

pytest测试用例可以存在函数级别,也可以存在类级别.只需要按照内部的规则设计用例,它可以自动去发现测试用例,不需要像unittest框架测试类需要继承TestCase: 在运行时可以在命令行窗口运行,也可以在pycharm中直接运行,下面会详解两种运行方式: 1.pytest用例设计规则 所有的测试脚本存放在python的包中.python的包中带有__init__.py文件 模块名设计规则:test_*.py 或者 *_test.py 类名设计规则:   Test* 以Test开头的类 方