Для участия в обучении приглашаются следующие специалисты:

  • Руководители инженерных групп;
  • Инженеры по качеству;
  • Разработчики программного обеспечения;
  • Тестировщики программного обеспечения.

Темы обучения:

  • Рассмотрение кода (Code Review). Вы узнаете, как проверять исходный код на соответствие стандартам кодирования, таким, как MISRA C/C++ и вашим собственным правилам.
  • Рассмотрение качества (Quality Review). Вы узнаете, как анализировать метрики исходного кода на соответствие критериям сложности, тестируемости, сопровождаемости и читаемости исходного кода.
  • Рассмотрение проекта (Design Review). Вы узнаете, как анализировать разрабатываемый проект с применением анализа потоков данных и потоков управления в исходном коде.
  • Верификация тестов (Test Verification). Вы узнаете, как осуществлять динамический анализ и измерять покрытие кода тестами в соответствии с требованиями стандартов (например, DO-178C, ISO 26262, IEC 61508 и IEC 62304).
  • Модульное тестирование (Unit Testing). Вы узнаете, как создавать и запускать модульные тесты, осуществлять регрессионное тестирование, автоматизировать создание тестовых заглушек, управлять изменениями кода, запускать тесты в режиме «белого ящика», а также поддерживать и документировать ваши модульные тесты.
  • Развертывание инструментов LDRA на хост-компьютере и тестирование на встраиваемых платформах. 

Продолжительность -  3 дня.

Программа обучения

Часть 1. Введение

Часть 2. Настройка анализа

  • Область анализа;
  • Управление конфигурацией;
  • Автоматизация;
  • Ускорение анализа.

Часть 3. Рассмотрение кода

  • Отраслевые стандарты;
  • Стандарты кодирования;
  • Рассмотрение кода;
  • Автоматизация.

Часть 4. Рассмотрение качества

  • Стандарты;
  • Рассмотрение качества;
  • Метрики сложности кода;
  • Метрика Linear Code Sequence and Jump (LCSAJ);
  • Автоматизация.

Часть 5. Рассмотрение проекта

  • Стандарты;
  • Рассмотрение проекта;
  • Автоматизация.

Часть 6. Структурное покрытие

  • Стандарты;
  • Структурное покрытие;
  • Покрытие точек входа;
  • Покрытие операторов;
  • Покрытие условий;
  • Покрытие решений;
  • Модифицированное покрытие условий/решений;
  • Анализ покрытия связей по данным и управлению;
  • Покрытие объектного кода;
  • Покрытие путей;
  • Измерение структурного покрытия.

Часть 7. Динамический анализ

  • Стандарты;
  • Динамический анализ;
  • Покрытие от разных наборов данных;
  • Пакеты поддержки целевых платформ;
  • Техники инструментирования кода;
  • Динамический анализ потоков данных;
  • Анализ семантики кода в динамическом тестировании;
  • Автоматизация.

Часть 8. Модульное и интеграционное тестирование

  • Стандарты;
  • Модульное и интеграционное тестирование;
  • Как осуществлять модульное тестирование;
  • Тестирование на основании требований.

Часть 9. Использование LDRA TBrun

  • Тестирование в режиме «черный ящик»;
  • Тестирование в режиме «белый ящик»;
  • Заглушки;
  • Тестирование алгоритмов;
  • Структуры, массивы, указатели и связанные списки;
  • Бесконечные циклы;
  • Анализ побочных эффектов;
  • Автоматическая генерация тестов;
  • Шаблоны тестов;
  • Отладка в TBrun;
  • Автоматизация;
  • Профили тестирования.

Часть 10. Тестирование на встраиваемых платформах

  • Статический анализ;
  • Динамический анализ;
  • Модульное тестирование;
  • Стратегии тестирования.

Часть 11. C++ и Java

  • Представление классов;
  • Объектно-ориентированные метрики;
  • Объекты;
  • Операторы C++;
  • Абстрактные классы;
  • Шаблоны;
  • Исключения;
  • Реализация в заголовочных файлах;
  • Многоязычные проекты;
  • Библиотеки Qt/STL/Boost;
  • Пример проекта C++;
  • Пример проекта Java.