Abstract
Computing networks integrate systems, services, and users around the world. Hundreds of protocols contribute to making such process flawless. A fault in protocol design or implementation can impact many users and interrupt their tasks' workflows. Testing network protocols, whether static or dynamic, can take several approaches. Driven by the expansion of applications in different domains, in this paper, we evaluated fault-based testing techniques in testing network protocols. Out fault-based testing requirements are extracted based on network protocols' specifications. Our main goal is to test whether faultbased testing techniques can find faults or bugs that cannot be discovered by classical network protocols' testing techniques.
One of the significant functional testing areas that fault-based techniques can work well in is conformance testing. They can test whether the network protocol is robust enough to validate test cases that conform with protocol specification and, on the other hand, invalidate test cases that do not show such conformance. We showed through several experiments that fault-based testing can prove conformance with less effort required through other testing approaches. Generated test scenarios serve as input for the network simulator. The quality of the test scenarios is evaluated based on three perspectives: (i) code coverage, (ii) mutation score, and (iii) testing effort. We implemented the testing framework in NS2. Experiments can be recreated using other simulation environments.