Институт системного программирования им. В.П. Иванникова РАН


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

TestOS: окружение для тестирования программного обеспечения

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

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

TestOS позволяет заменить такие средства верификации критических систем, как LDRA, являясь более гибким средством с активной поддержкой отечественных изделий.

С помощью TestOS обеспечивается выполнение тестов на целевой аппаратуре и производится генерация отчётов с трассой по каждому тесту, с информацией по составу и статусу прохождения тестового плана и c покрытием кода тестируемой системы как для одного теста, так и для всего тестового плана. Построение отчётов осуществляется в формате 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 МБ на архитектурах:

  • 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АФ.
  • x86 (Intel Prescott и новее).

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

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

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

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

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

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