Verification and validation of the TCP/IP stack is a very important subject for many reasons (conformance, security, performance, etc.), but how do we test the stack on embedded devices? Especially in the MCU world, where we typically have no operating system, just a bare-metal application/scheduler or an RTOS. This contribution will elaborate on these three basic techniques, compare and contrast them: 1) Compile the TCP/IP stack on the host machine and test the standard way 2) Test with an emulator 3) Test on the actual embedded device
Then will share some practical notes about: * TCP protocol conformance testing using ttcn3 engine * Fuzzer testng of the lwIP stack