OpenThread Network Simulator (OTNS) is used to run stress tests to improve the robustness of OpenThread.
Test Purpose --- Make sure different number of nodes can form a single partition within a reasonable time limit.
- Topology
- NxN Routers, for n in 1 to 7.
- Procedure
- Boot up NxN Routers.
- Wait for them to form a single partition.
- Fault Injections
- None
- Pass Criteria
- Network forming time is less than the time limit.
Test Purpose: Ensure that a large number of nodes can form a single partition within a reasonable time limit.
- Topology
- 8x8 Routers.
- Procedure
- Boot up 8x8 Routers.
- Wait for them to form a single partition.
- Fault Injections
- None.
- Pass Criteria
- Network forming time is less than the time limit.
Test Purpose: Make sure Nodes have connectivity to the Border Router's ML-EID under a harsh environment.
- Topology
- 20 Rout`ers (one BR)
- 20 FEDs
- 10 MEDs
- 10 SEDs`
- Procedure
- Boot up Nodes.
- Ping BR's ML-EID from other Nodes and measure the connectivity.
- Fault Injections
- Nodes are constantly moving.
- Nodes constantly fail for a short period.
- Packet loss radio set to 20%.
- Pass Criteria
- Max Delay (of all nodes) <= 3600s
Test Purpose: Make sure Nodes have connectivity to the Border Router's ALOC under a harsh environment.
- Topology
- 20 Routers
- 20 FEDs
- 10 MEDs
- 10 SEDs
- Procedure
- Boot up Nodes.
- Ping BR's Service ALOC from other Nodes and measure the connectivity.
- Fault Injections
- Nodes are constantly moving.
- Nodes constantly fail for a short period.
- Packet loss radio set to 20%.
- Pass Criteria
- Max Delay (of all nodes) <= 3600s
Test Purpose: Measure the ping delay for different hops and different data sizes.
- Topology
- 6 Routers forming Circle 1
- 6 Routers forming Circle 2
- Procedure
- Boot up Nodes.
- Wait for them to form a single partition.
- Ping Nodes within 1 hop.
- Ping Nodes within 2 hops.
- Ping Nodes without 3 hops.
- Fault Injections
- None
- Pass Criteria
- Max ping latency < 100ms
Test Purpose: Make sure Joiners can join a Thread network by Commissioning.
- Topology
- 5x5 Nodes, with Commissioner at the center.
- Procedure
- Boot up Nodes.
- Start the Commissioner.
- Start Joiners (2 Joiners joins concurrently).
- Wait for all Joiners to join successfully.
- Fault Injections
- Packet loss ratio set to 20%
- Pass Criteria
- All Joiners joined successfully
- Join process success rate >= 90%
- Average Join duration <= 20s
Test Purpose: Make sure CoAP multicast messgaes can reach all nodes with reasonable coverage and delay.
- Topology
- 8 Routers (one BR)
- 8 FEDs
- 8 MEDs
- 8 SEDs
- Procedure
- Boot up all Nodes.
- BR sends CoAP multicast to all Nodes.
- Measure the coverage and delay.
- Fault Injections
- Packet loss ratio set to 50%
- Pass Criteria
- Average coverage >= 70%
- Average delay < 200ms for non-SEDs
- Average delay < 2000ms for SEDs
Test Purpose: Make sure OTNS can run large-scale simulations efficiently.
- Topology
- 4x8 Routers
- Procedure
- Boot up 4x8 Routers.
- Wait for them to form a single partition.
- Simulate for 1 hour.
- Measure the program execution time.
- Fault Injections
- None.
- Pass Criteria
- Execution time <= 30s