What is Fuzzing?
Fuzzing (fuzz testing) sends malformed, unexpected, or randomly generated inputs to the system under test to find crashes, hangs, and unexpected behaviours. In automotive ECU testing, fuzzing applies to two layers:
- CAN fuzzing: send frames with random IDs, random data, boundary values, and protocol violations to test the ECU message filter and error handling
- UDS fuzzing: send malformed diagnostic requests (invalid service IDs, wrong lengths, invalid session sequences) to verify the ECU rejects them gracefully without crashing or entering an undefined state
SOTIF and ISO 21434 both require robustness testing: the ECU must not exhibit hazardous behaviour in response to any input from the network, valid or otherwise.