TestOS: окружение для тестирования ПО


Скачать сборник технологий

TestOS: окружение для тестирования ПО

TestOS — окружение для модульного тестирования программного обеспечения на целевой аппаратуре. Позволяет проводить отработку программного обеспечения для ответственного применения в целях выполнения сертификационных и иных мероприятий на архитектурах AArch64, ARM, PowerPC, MIPS, RISC-V и x86.

Особенности и преимущества

С помощью TestOS обеспечивается выполнение тестов на целевой аппаратуре и производится генерация отчётов с трассой по каждому тесту, с информацией по составу и статусу прохождения тестового плана и c покрытием кода тестируемой системы как для одного теста, так и для всего тестового плана. Для разработки модульных тестов для функций на языке С (поддерживается С18 с GNU-расширениями GCC и Clang) предоставляется среда генерации заглушек и обёрток с удобным механизмом написания тестовых сценариев. Построение отчётов осуществляется в формате HTML и TXT. Доступна отладка кода на целевом вычислителе как с использованием, так и без использования JTAG.

С использованием плагинов поддерживаются:

  • сбор покрытия функций, операторов и ветвей с помощью GCOV и LLVM Coverage;
  • сбор покрытия по MC/DC с помощью COVERest;
  • проведение статического анализа с помощью статических анализаторов:
    • Clang Tidy;
    • Clang Static Analyzer;
    • Svace.
  • динамическое инструментирование кода с помощью санитайзеров LLVM:
    • AddressSanitizer (выявление ошибок работы с памятью);
    • MemorySanitizer (выявление ошибок доступа к неинициализированной памяти);
    • UndefinedBehaviorSanitizer (выявление ошибок арифметики, операций с плавающей точкой и иных проблем, вызванных неопределённым поведением).

Системные требования

GNU/Linux дистрибутив на архитектуре x86_64 (например, Ubuntu 22.04), а также Apple macOS 10.12 или новее в качестве инструментальной машины.

Целевой вычислитель с ОЗУ не менее 2 МБ на архитектурах:

  • AArch64 (Cortex-A53, Cortex-A55);
  • ARM (Cortex-A7, Cortex-A9, Cortex-M4), в частности, процессоры i.MX6 или STM32F429;
  • PowerPC (e500mc, e500v2, 476FP), в частности, процессоры p1010 или p3041;
  • MIPS (MIPS Release 1, MIPS Release 2 / MIPS32, КОМДИВ), в частности, процессор 1892ВМ15АФ;
  • RISC-V (RV32 IMA);
  • x86 (Intel Prescott и новее).

При необходимости окружение адаптируется к оборудованию заказчика.

Опыт внедрения

TestOS разрабатывается с 2019 года. Успешно применяется для модульного тестирования программного обеспечения для аэрокосмической отрасли.

Разработчик/участник

Технологии программирования

Перейти к списку всех технологий