TestOS: software testing environment


Download catalogue of technologies

TestOS: software testing environment

TestOS is an environment for unit testing of software on target hardware. It allows to debug software for critical applications on ARM, PowerPC, MIPS and x86 architectures to perform certification and other activities.

Features and advantages

TestOS makes it possible to replace such critical systems verification tools as LDRA, since it is a more flexible tool with active support for domestic products.

Using TestOS ensures running tests on target hardware and generating reports with the trace for each test, with information about the composition and passing status of the test plan and with the coverage of the tested system code both for one test, and for the whole test plan. Reports are generated in HTML and TXT formats. Debugging of the code on the target computer is available both with and without use of JTAG.

With plugin application, the following is supported:

  • collecting function, operator, and branch coverage using GCOV and LLVM Coverage;
  • collecting coverage by MC/DC using COVERest;
  • performing static analysis with static analyzers:
    • Clang Tidy;
    • Clang Static Analyzer;
    • Svace.
  • Dynamic code instrumentation with LLVM sanitizers:
    • AddressSanitizer (detecting memory handling errors);
    • MemorySanitizer (detecting errors of accessing uninitialized memory);
    • UndefinedBehaviorSanitizer (to detect arithmetic, floating-point, and other undefined behavior errors).

System Requirements

GNU/Linux distribution on x86_64 architecture (such as Ubuntu 22.04), and Apple macOS 10.12 or newer as the target machine.

Target machine with at least 2MB RAM on architectures:

  • ARM (Cortex-A7, Cortex-A9, Cortex-M4), including i.MX6 or STM32F429 processors.
  • PowerPC (e500mc, e500v2, 476FP), including the p1010 or p3041 processors.
  • MIPS (MIPS Release 1, MIPS Release 2 / MIPS32, COMDIV), including the 1892VM15AF processor.
  • x86 (Intel Prescott and newer).

If necessary, the environment is adapted to the customer's equipment.

TestOS deployment stories

TestOS has been in development since 2019. It is successfully applied for modular software testing for the aerospace industry.

Developer/Participant

Software Engineering

Back to the list of technologies of ISP RAS