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 程序的测试用例集.
   95   96   97   98   99   100   101   102   103   104   105