Curated list of tools and resources for testing Embedded and Low-level software
- embedded-test Rust test harness and runner for embedded devices
- Ceedling/Unity – Popular C-based unit testing and build framework, great for small to medium-sized embedded projects.
- GoogleTest (gtest) – Widely used and highly customizable C++ testing framework, commonly adopted in embedded C++ projects.
- CppUTest – Flexible testing framework tailored specifically to embedded software, emphasizing memory safety and simplicity.
- Catch2 – Modern C++ testing framework known for ease of use and expressive assertions, lightweight enough for embedded targets.
- CMock – Generates mock objects automatically for C, ideal for testing interactions with hardware-dependent code.
- Fake Function Framework (FFF) – Lightweight, simple mocking framework for C-based embedded software.
- Renode – Powerful framework for hardware simulation and testing, allowing execution and debugging of embedded binaries without actual hardware.
- QEMU – Widely adopted open-source emulator, very useful for full-system simulation of embedded platforms during testing.
- embedded-hal-mock – Mocks for testing embedded-hal based drivers without hardware access.
- PlatformIO – Cross-platform build tool and package manager, ideal for automating builds and tests for embedded projects.
- Embench – Open-source benchmarking suite specifically targeting IoT-class embedded systems.
- Robot Framework – Generic acceptance-test automation framework, commonly used for higher-level integration and system tests.
- Cppcheck – Popular static analysis tool specifically tailored for C and C++ codebases.
- Valgrind – Dynamic analysis tool useful for memory leak detection and error tracking.
- Clang Sanitizers – Effective runtime debugging tools for detecting memory safety errors in embedded C/C++ applications.
- Embedded Artistry's Embedded Testing Guides – Curated resources and examples for best practices in embedded software testing.
- Tracealyzer (Commercial with free tiers) – Real-time trace visualization for debugging and performance analysis of embedded systems.
- Labgrid – Automation framework for hardware-in-the-loop testing, integrates smoothly with continuous integration.
- OpenHTF – Hardware testing framework from Google designed for automated manufacturing tests and HIL testing.
- Nasa JPL's F Prime – NASA's open-source flight software framework, extensively tested and validated.
- LittlevGL – Embedded GUI library extensively using unit tests and automated integration testing.