feat(docs): Hugo
[csit.git] / docs / content / introduction / test_naming.md
1 ---
2 title: "Test Naming"
3 weight: 4
4 ---
5
6 # Test Naming
7
8 ## Background
9
10 {{< release_csit >}} follows a common structured naming convention for all
11 performance and system functional tests, introduced in CSIT 17.01.
12
13 The naming should be intuitive for majority of the tests. Complete
14 description of CSIT test naming convention is provided on
15 [CSIT test naming wiki page](https://wiki.fd.io/view/CSIT/csit-test-naming).
16 Below few illustrative examples of the naming usage for test suites across CSIT
17 performance, functional and Honeycomb management test areas.
18
19 ## Naming Convention
20
21 The CSIT approach is to use tree naming convention and to encode following
22 testing information into test suite and test case names:
23
24 1. packet network port configuration
25    * port type, physical or virtual;
26    * number of ports;
27    * NIC model, if applicable;
28    * port-NIC locality, if applicable;
29 2. packet encapsulations;
30 3. VPP packet processing
31    * packet forwarding mode;
32    * packet processing function(s);
33 4. packet forwarding path
34    * if present, network functions (processes, containers, VMs) and their
35      topology within the computer;
36 5. main measured variable, type of test.
37
38 Proposed convention is to encode ports and NICs on the left (underlay),
39 followed by outer-most frame header, then other stacked headers up to the
40 header processed by vSwitch-VPP, then VPP forwarding function, then encap on
41 vhost interface, number of vhost interfaces, number of VMs. If chained VMs
42 present, they get added on the right. Test topology is expected to be
43 symmetric, in other words packets enter and leave SUT through ports specified
44 on the left of the test name. Here some examples to illustrate the convention
45 followed by the complete legend, and tables mapping the new test filenames to
46 old ones.
47
48 ## Naming Examples
49
50 CSIT test suite naming examples (filename.robot) for common tested VPP
51 topologies:
52
53 1. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P**
54    * *PortNICConfig-WireEncapsulation-PacketForwardingFunction-
55      PacketProcessingFunction1-...-PacketProcessingFunctionN-TestType*
56    * *10ge2p1x520-dot1q-l2bdbasemaclrn-ndrdisc.robot* => 2 ports of 10GE on Intel
57      x520 NIC, dot1q tagged Ethernet, L2 bridge-domain baseline switching with
58      MAC learning, NDR throughput discovery.
59    * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrchk.robot* => 2 ports of 10GE on
60      Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain baseline switching
61      with MAC learning, NDR throughput discovery.
62    * *10ge2p1x520-ethip4-ip4base-ndrdisc.robot* => 2 ports of 10GE on Intel x520
63      NIC, IPv4 baseline routed forwarding, NDR throughput discovery.
64    * *10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot* => 2 ports of 10GE on Intel
65      x520 NIC, IPv6 scaled up routed forwarding, NDR throughput discovery.
66    * *10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot* => 2 ports of 10GE on
67      Intel x520 NIC, IPv4 baseline routed forwarding, ingress Access Control
68      Lists baseline matching on destination, NDR throughput discovery.
69    * *40ge2p1vic1385-ethip4-ip4base-ndrdisc.robot* => 2 ports of 40GE on Cisco
70      vic1385 NIC, IPv4 baseline routed forwarding, NDR throughput discovery.
71    * *eth2p-ethip4-ip4base-func.robot* => 2 ports of Ethernet, IPv4 baseline
72      routed forwarding, functional tests.
73 2. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC,
74    P2V2P, NIC2VMchain2NIC, P2V2V2P**
75    * *PortNICConfig-WireEncapsulation-PacketForwardingFunction-
76      PacketProcessingFunction1-...-PacketProcessingFunctionN-VirtEncapsulation-
77      VirtPortConfig-VMconfig-TestType*
78    * *10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 ports
79      of 10GE on Intel x520 NIC, dot1q tagged Ethernet, L2 bridge-domain switching
80      to/from two vhost interfaces and one VM, NDR throughput discovery.
81    * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2
82      ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain
83      switching to/from two vhost interfaces and one VM, NDR throughput discovery.
84    * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc.robot* => 2
85      ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain
86      switching to/from four vhost interfaces and two VMs, NDR throughput
87      discovery.
88    * *eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot* => 2 ports of
89      Ethernet, IPv4 VXLAN Ethernet, L2 bridge-domain switching to/from two vhost
90      interfaces and one VM, functional tests.
91 3. **API CRUD tests - Create (Write), Read (Retrieve), Update (Modify), Delete
92    (Destroy) operations for configuration and operational data**
93    * *ManagementTestKeyword-ManagementOperation-ManagedFunction1-...-
94      ManagedFunctionN-ManagementAPI1-ManagementAPIN-TestType*
95    * *mgmt-cfg-lisp-apivat-func* => configuration of LISP with VAT API calls,
96      functional tests.
97    * *mgmt-cfg-l2bd-apihc-apivat-func* => configuration of L2 Bridge-Domain with
98      Honeycomb API and VAT API calls, functional tests.
99    * *mgmt-oper-int-apihcnc-func* => reading status and operational data of
100      interface with Honeycomb NetConf API calls, functional tests.
101    * *mgmt-cfg-int-tap-apihcnc-func* => configuration of tap interfaces with
102      Honeycomb NetConf API calls, functional tests.
103    * *mgmt-notif-int-subint-apihcnc-func* => notifications of interface and
104      sub-interface events with Honeycomb NetConf Notifications, functional tests.
105
106 For complete description of CSIT test naming convention please refer to
107 [CSIT test naming wiki page](https://wiki.fd.io/view/CSIT/csit-test-naming>).