Page 100 - 《软件学报》2020年第9期
P. 100
张雯雯 等:SDN 数据平面软件一致性测试用例生成方法 2721
Table 2 Test case automatic generation tool test data table
表 2 测试用例自动生成工具测试数据表
预期结果 实际结果
测试用例 命令 表名 动作 匹配域 参数 命令 表名 动作 匹配域 参数
合法 不合法 不合法 不合法 不合法 合法 不合法 不合法 不合法 不合法
table_add 3 3 3 3 3 3 3 3 3 3
table_delete 1 1 1 1 1 1 1 1 1 1
demo1
table_modify 3 3 3 3 3 3 3 3 3 3
table_dump 1 1 1 1 1 1 1 1 1 1
table_add 6 6 6 6 6 6 6 6 6 6
table_delete 3 3 3 3 3 3 3 3 3 3
demo2
table_modify 6 6 6 6 6 6 6 6 6 6
table_dump 3 3 3 3 3 3 3 3 3 3
table_add 7 7 7 7 7 7 7 7 7 7
table_delete 2 2 2 2 2 2 2 2 2 2
demo3
table_modify 7 7 7 7 7 7 7 7 7 7
table_dump 2 2 2 2 2 2 2 2 2 2
4.5 测试工具界面
测试用例生成工具的界面如图 18 所示,在用户选定.p4info 文件的后,点击 Write In 按钮,则生成.p4info 文件
对应的全部测试用例.在选定.p4info 文件后,依次选择 table、actions 下拉框,随后读取 match_field 和 action_
params,点击 Generate entry 按钮,即在下方空白处显示表项的信息.
Fig.18 Test case generation tool interface
图 18 测试用例生成工具界面
5 总 结
面向 P4 编程语言的一致性测试本质上是在将测试用例发送给 P4 网络设备,通过比较实际输出和预期输出
的一致程度,保证了 P4 网络设备在错综复杂的网络环境中的表现与预期表现一致性.测试用例是执行一致性测
试的载体,传统的人工构造测试用例是一项繁琐耗时费力的工作.本文介绍了 SDN 架构、P4 编程语言特性,调
研了 SDN 领域一致性测试现有工作情况,设计了用于面向 P4 编程语言的 SDN 数据平面软件一致性测试用例
生成方法,实现了面向 P4 编程语言的 SDN 数据平面软件一致性测试用例自动生成工具.实验结果表明:该测试
工具能够由用户自己选择或编辑生成单条测试用例,也可以按照预期生成任意 P4 程序的测试用例集.