SigmationTF自动化测试实验手册SigmationTFSupportTeam2008(C)SigmaResources&TechnologiesInc.SigmationTF自动化测试实验手册目录1.摘要............................................................................................32.基本操作......................................................................................43.文件及脚本了解............................................................................124.了解脚本中每个段的具体作用...........................................................145.渐进方式完成脚本.........................................................................175.1.单DUT..............................................................................175.2.DUT+PC...........................................................................185.3.DUT+多PC+简单流量.........................................................195.4.DUT+多PC+复杂流量.........................................................195.5.WebGUI的基本操作............................................................205.6.WebGUI+Traffic...............................................................216.Top和Address的可重用性............................................................247.脚本的可重性和可扩展性.................................................................268.控制库设计..................................................................................279.综合实验.....................................................................................289.1.日志服务功能测试.................................................................289.2.安全审计功能测试.................................................................299.3.流量控制功能测试.................................................................309.4.NAT并发连接数测试..............................................................319.5.基于源地址的访问控制列表(ACL)测试........................................329.6.基于策略的访问控制列表(ACL)测试...........................................3310.自动化测试工程设计.....................................................................3410.1.Suite的使用和设计.............................................................3410.2.控制库规划........................................................................3410.3.自定义库的设计与规划..........................................................3410.4.第三方工具的集成...............................................................3410.5.适应产品线测试..................................................................3511.参考文献...................................................................................3612.参考答案...................................................................................372SigmationTF自动化测试实验手册1.摘要本实验手册供SigmationTF教程实验使用,实验参加人员须具备一定TCP/IP网络协议知识、交换机和终端服务器等网络设备的使用经验、熟悉Windows和Linux操作系统的管理与Shell编程知识、并且熟练掌握ITCL与EXPECT脚本语言。本实验手册中测试用例中所提供的参考配置命令可以视具体设备情况调整,涉及的设备操作部分需要参考相关操作系统和设备操作手册。3SigmationTF自动化测试实验手册2.基本操作(2课时)实验内容以已经完成的演示测试任务脚本为基础来完成所有的操作,包括提交Job、查看Job状态、理解Job队列、查看实时日志,查看Report和log。根据系统配置画出完整的物理拓扑。实验步骤(1)使用系统默认用户名admin,密码admin登陆MC管理页面,见图1MC管理页。(2)按图2-图12操作步骤添加自动化测试任务,熟悉SigmationTFJob的添加、调度、运行、报告生成、日志管理的整个过程。(3)待测试任务运行完毕,根据系统配置画出完整的物理拓扑并写出实验报告。图1MC管理页面4SigmationTF自动化测试实验手册图2添加任务(addjob)图3添加计划任务(addcronjob)图4等待调度5SigmationTF自动化测试实验手册图5任务运行图6任务结束图7任务报告6SigmationTF自动化测试实验手册图8任务日志-测试用例执行过程7SigmationTF自动化测试实验手册图9任务日志-步骤1-初始化待测设备8SigmationTF自动化测试实验手册图10任务日志-步骤2-配置待测设备9SigmationTF自动化测试实验手册图11任务日志-步骤3-发生测试流量10SigmationTF自动化测试实验手册图12任务日志-步骤4-检验结果实验报告(1)JOBID和测试报告;(2)根据测试日志画出拓扑图和地址配置参数;(3)参考测试脚本并根据测试日志还原测试用例。11SigmationTF自动化测试实验手册3.文件及脚本了解(2课时)实验内容通过阅读已经完成的演示脚本了解文件之间的关系,能够被修改的参数,Suite文件和脚本文件,能够修改脚本预设的错误。通过日志来了解TF的运行机制。实验步骤在MC上调试下面的演示脚本,修改脚本中存在的错误。JobFile:MC:/home/demo/jobs/demo2.job?xmlversion=1.0encoding=UTF-8?JobFilename=demo2priority=P2!--任务名称,优先级--Submittername=root/Submitter!--提交任务用户名--Paths/home/demo//Paths!--脚本根目录路径--Suitedemo2.suite/Suite!--suite文件名--/JobFileSuiteFile:/home/demo/suites/demo2.suite?xmlversion=1.0encoding=UTF-8?Suitename=demo2comment=Demotestcases!--suite名--!--脚本文件名运行测试用例名参数1参数2参数3…参数n--Testsdemo2.tcltestcase24/Tests/SuiteScriptFile:/home/demo/scripts/demo2.tcl#包含SigmationTFPC控制库packagerequiretf_pc#定义测试用例2testcase:testcase2{#测试用例描述description:Demotestcase#定义测试用例所使用的拓扑文件名,可缺省。top:demo2.top12SigmationTF自动化测试实验手册#定义测试用例所使用的地址文件名,可缺省。addr:demo2.addr#定义测试用例私有变量列表variable:pc1_eth1_ippc2_eth1_ipret#定义初始化步骤,获取pc1,pc2测试接口IP地址。init:{setping_counter$::case(args)setpc1_eth1_ip[pc1get_ipeth1]setpc2_eth1_ip[pc2get_ipeth1]}#定义测试用例步骤1,输出pc1,pc2测试接口IP地址日志。test:userlog{userlogINFO“PC1eth1IP:$pc1_eth1_ip”userlogINFO“PC2eth1IP:$pc2_eth1_ip”returnPASSED}#定义测试用例步骤2,PC1.eth1pingPC2.eth1。test:pc1_ping_pc2{#获取case运行参数#调用sync_call方法在pc1上执行命令,该调用阻塞直到命令进程退出,#返回值列表为:{pca_exit_codeproc_exit_codestart_timeexit_timeoutput}#pca_exit_code:pc客户端状态,1-成功,0-错误。#proc_exit_code:命令进程退出值,0-成功,非0–错误码。#start_time:进程启动时间#exit_time:进程退出时间#output:进程标准输出与标准错误输出setret[pc1sync_call“ping–c$ping_counter$pc2_eth1_ip”]userlogINFO“PC1.eth1pingPC2.eth1\n$ret”if{[lindex$ret0]==0||[lindex$ret1]!=0}{userlogERROR“PC1pingPC2failed”returnFAIL}userlogNOTICE“PC1pingPC2passed”returnPASSED}#定义测试步骤3,匹配命令输出结果。test:verify_result{setoutput[lindex$ret4]setret[regex