Software testing

Fuzz testing

Fuzz testing for model-based embedded control software and vehicle software programs.

Fuzz testing services

Fuzz testing validates software against a wider range of inputs and sequences than engineers can usually create by hand. At a high level, it sends randomised data to an embedded system over an extended period to uncover unexpected behaviours and edge cases.

When the system response changes, the fuzz testing harness examines the output to determine whether the system reacted correctly. Over time, this process can uncover unexpected behaviours and hard-to-find bugs.

Although the input sequences may appear completely random, fuzz testing often produces reproducible test cases that expose real bugs. Once identified, these cases can be generalised and added as unit tests.

We help teams to:

  • build fuzz testing harnesses for vehicle software.
  • orchestrate and run fuzz testing.
  • analyse and generalise the results.
  • convert fuzz testing failures into labelled regression tests.

Although fuzz testing may seem unstructured, it is rarely wasted effort. In our experience, it almost always uncovers at least a few bugs.

Related content