TPT (программное обеспечение) - TPT (software)

Тестирование временных разделов (TPT)
TPT Logo.png
TPT modeled test case.png
Тестовый пример, смоделированный с помощью TPT
Разработчики) PikeTec GmbH
Стабильный выпуск
17/16 сентября 2021 г . ; 7 дней назад ( 2021-09-16 )
Операционная система Окна
Доступно в английский
Тип Тестирование программного обеспечения
Лицензия Проприетарный
Веб-сайт www .piketec .com

TPT ( тестирование раздела времени ) представляет собой систематический тест методология для автоматизированного тестирования программного обеспечения и проверок на встраиваемые системы управления , кибер-физических системы и потоковые программы . TPT специализируется на тестировании и проверке встроенных систем, входы и выходы которых могут быть представлены в виде сигналов, и является специальным методом для тестирования непрерывного поведения систем . К этому классу систем относится большинство систем управления . Отличительной особенностью систем управления является тот факт, что они тесно взаимодействуют с окружающей средой реального мира. Контроллерам необходимо наблюдать за своим окружением и соответственно реагировать на его поведение. Система работает в цикле взаимодействия с окружающей средой и подвержена временным ограничениям. Тестирование этих систем должно стимулировать и проверять поведение во времени. Традиционные методы функционального тестирования используют сценарии - TPT использует тестирование на основе моделей .

TPT сочетает в себе методику систематического и графического моделирования тестовых примеров с полностью автоматизированным выполнением тестов в различных средах и автоматической оценкой тестов. TPT охватывает следующие четыре тестовых задания:

Графические тестовые примеры

Описание теста гибридным автоматом с вариантами

В TPT тесты моделируются графически с помощью специальных конечных автоматов и временного разделения. Все тестовые примеры для одной тестируемой системы можно смоделировать с помощью одного гибридного автомата. Тесты часто состоят из последовательности логических этапов. В состояния этого конечного автомата представляют собой логические проходы теста , которые одинаковы для всех тестов. Условия запуска моделируют переходы между фазами тестирования. Каждое состояние и переход автомата могут иметь разные варианты. Комбинация вариантов моделирует отдельные тестовые случаи.

Тексты на естественном языке становятся частью графики, обеспечивая простую и наглядную читаемость даже для непрограммистов. Основные методы, такие как конечные автоматы с параллельным и иерархическим ветвлением , условное ветвление, реактивность , описание сигнала, измеренные сигналы, а также списки простых шагов тестирования, позволяют интуитивно и графически моделировать даже сложные тестовые примеры.

Сложность теста скрыта за графикой. Описание сигнала самого низкого уровня состоит либо из списков этапов тестирования, либо из так называемых прямых определений.

Пример списка шагов теста

Моделирование простых последовательностей: список шагов теста

Используя список тестовых шагов, можно смоделировать простые последовательности тестовых шагов, которые не нужно выполнять параллельно, например, установочные сигналы (Установить канал), линейные сигналы (Линейный канал), параметры настройки (Установить параметр), и ждем (Подожди). Запросы ожидаемых результатов тестирования могут быть сделаны в рамках последовательности тестирования, чтобы оценить тестируемую систему во время ее работы. Также возможно разместить субавтоматы в списке этапов тестирования, которые, в свою очередь, содержат автоматы и последовательности, в результате чего получаются иерархические списки этапов тестирования. Последовательности тестирования также можно комбинировать с другими методами моделирования, что позволяет значительно усложнить (или упростить) один тест. Последовательности испытаний также можно комбинировать и распараллеливать с другими методами моделирования.

Прямое определение сигнала

Определение прямого сигнала: прямое определение

В списке шагов теста можно реализовать так называемые «прямые определения». Используя этот тип моделирования, можно определить сигналы как функцию времени, прошлых переменных / тестовых событий и других сигналов. Также возможно определить эти сигналы, написав код " C -Style", а также импортировав данные измерений и используя ручной редактор сигналов.

Функции

Можно определить функции, которые могут действовать как клиенты или серверы . Клиентские функции вызываются из TPT в тестируемой системе, где серверные функции, реализованные в TPT, могут вызываться как « заглушки » из тестируемой системы. Сам TPT также может вызывать функции сервера.

Систематические контрольные примеры

TPT был разработан специально для тестирования непрерывного и реактивного поведения встроенных систем. TPT можно рассматривать как расширение метода дерева классификации с точки зрения временного поведения. Благодаря систематическому подходу к созданию тестовых примеров TPT отслеживает даже очень сложные системы, для тщательного тестирования которых требуется большое количество тестовых примеров, что позволяет находить сбои в тестируемой системе с помощью идеального количества тестовых примеров.

Основная идея системности TPT заключается в разделении сходств и различий между тестовыми примерами: большинство тестовых примеров очень похожи по своему структурному процессу и могут быть дифференцированы «только» в нескольких, но важных деталях. TPT использует этот факт путем совместного моделирования и использования совместных структур. С одной стороны, это позволяет избежать дублирования. С другой стороны, очень ясно, чем на самом деле отличаются тестовые примеры - то есть, какой конкретный аспект они соответственно тестируют. При таком подходе улучшается сопоставимость тестовых примеров и, следовательно, обзор, и внимание тестировщика сосредоточено на самом важном - отличительных особенностях тестовых примеров.

Иерархическая структура тестовых примеров позволяет разбивать сложные тестовые задачи на подзадачи, что также улучшает ясность и, как результат, качество теста.

Эти методы моделирования помогают тестировщику находить действительно релевантные случаи, избегая дублирования и отслеживая даже большое количество тестовых случаев.

Автоматическая генерация тестовых случаев

TPT включает несколько возможностей для автоматической генерации тестовых случаев:

Интерактивное ручное тестирование с TPT-Dashboard
  • тестовые примеры из классов эквивалентности
  • тестовые примеры для покрытия моделей Simulink с использованием статического анализа и метода на основе поиска
  • тестовые случаи путем построения последовательности из вариантов состояний и переходов тестовой модели
  • тестовые примеры путем преобразования записей взаимодействия пользователя с тестируемой системой через графический интерфейс пользователя (панель инструментов)

Реактивные тесты

С TPT каждый тестовый пример может специально реагировать на поведение системы во время процесса тестирования в реальном времени - например, реагировать на систему именно тогда, когда происходит определенное состояние системы или сигнал датчика превышает определенный порог. Если, например, необходимо смоделировать отказ датчика для контроллера двигателя при превышении частоты вращения холостого хода двигателя, необходимо иметь возможность реагировать на событие «превышение частоты вращения на холостом ходу двигателя» в описании тестового примера.

Выполнение теста

Тестовые примеры TPT сделаны независимо от его выполнения. Тестовые сценарии могут выполняться практически в любой среде благодаря концепции так называемой виртуальной машины (ВМ) также в средах реального времени . Примерами могут служить MATLAB / Simulink , TargetLink , ASCET, C-код , CAN , AUTOSAR , SystemDesk, DaVinci CT, LABCAR, INCA, Программное обеспечение-в-Loop (SIL) и ЛВЖ . Таким образом, TPT представляет собой интегрированный инструмент, который можно использовать на всех этапах тестирования разработки, таких как модульное тестирование , интеграционное тестирование , системное тестирование и регрессионное тестирование .

Для анализа и измерения покрытия кода TPT может взаимодействовать с инструментами покрытия, такими как Testwell CTC ++ для C-кода .

Настраиваемый графический пользовательский интерфейс (панель инструментов), основанный на виджетах GUI , может использоваться для взаимодействия с тестами.

Виртуальная машина TPT

Смоделированные тестовые примеры в TPT компилируются и во время выполнения теста интерпретируются так называемой виртуальной машиной (ВМ). ВМ одинакова для всех платформ и всех тестов. Только адаптер платформы реализует отображение сигналов для отдельного приложения. TPT-VM реализована на ANSI C и требует памяти всего в несколько килобайт и может полностью обходиться без динамического выделения памяти, что позволяет применять ее в минималистичных средах с небольшими ресурсами. Также есть API для C и .NET .

Виртуальная машина TPT может обрабатывать тесты в реальном времени с определенным поведением ответа. Время отклика тестовых примеров TPT обычно указывается в пределах микросекунд - в зависимости от сложности и тестового оборудования.

Запрограммированная тестовая оценка

Ожидаемое поведение системы для отдельных тестовых примеров также должно автоматически тестироваться, чтобы гарантировать эффективные процессы тестирования. TPT предлагает возможность вычислять свойства для ожидаемого поведения онлайн (во время выполнения теста) и в автономном режиме (после выполнения теста). В то время как онлайн-оценка использует те же методы моделирования, что и тестовое моделирование, автономная оценка предлагает явно более широкие возможности для более сложных оценок, включая такие операции, как сравнение с внешними справочными данными, мониторинг предельных значений, фильтры сигналов, анализ последовательности состояний и времени. условия.

Офлайн-оценка, технически говоря, основана на языке сценариев Python , который был расширен за счет определенных синтаксических языковых элементов и специальной библиотеки оценки, чтобы обеспечить оптимальную поддержку оценки теста. Использование скриптового языка обеспечивает высокую степень гибкости при оценке тестов: поддерживается доступ к справочным данным, обмен данными с другими инструментами и разработка собственных библиотек для конкретной предметной области для оценки тестов. Помимо оценки результатов тестирования на основе сценариев, пользовательские интерфейсы обеспечивают простой доступ к оценкам тестов и помогают непрограммистам избегать написания сценариев.

Данные измерений из других источников, таких как регистрация сигналов TargetLink и Simulink или данные измерений MCD-3, могут оцениваться автоматически. Эти данные могут быть независимыми от выполнения теста.

Тестовая документация

Документация по тестированию TPT в соответствии с IEEE 829 представляет результат оценки теста тестировщику в виде отчета в формате HTML, в котором не только чистая информация «успех», «сбой» или «неизвестно» может быть отображена как результат теста для каждого тестовый пример, а также детали, такие как характеристические параметры или сигналы, которые наблюдались при выполнении теста или вычислялись при оценке теста. Поскольку тестовая оценка возвращает правильную информацию о времени и проверяемом поведении, эту информацию можно сделать доступной в отчете. Содержание тестовой документации, а также структуру документа можно свободно настраивать с помощью шаблона.

Управление тестированием

TPT поддерживает управление тестированием тестовых проектов TPT со следующими действиями:

  • Разработка тестового случая в тестовом проекте
  • Планирование тестирования через конфигурацию набора тестов и конфигурацию выполнения теста
  • Автоматическое выполнение теста и оценка (оценка) в тестовой кампании
  • Отчет о тестировании (подробный для отдельного тестового прогона)
  • Сводный отчет о тестировании по разным циклам выпуска и
  • Прослеживаемость требований, тестов, тестовых прогонов, результатов тестирования

Отслеживание требований

Такие отраслевые нормы, как IEC 61508 , DO-178B , EN 50128 и ISO 26262, требуют прослеживаемости требований и испытаний . TPT предлагает интерфейс к требованиям инструментов , как Telelogic DOORS для поддержки этой деятельности.

заявка

TPT - это инструмент тестирования на основе моделей, который применяется в основном при разработке автомобильных контроллеров и первоначально был разработан в Daimler AG для их собственных разработок. Daimler в течение многих лет координировал разработку инструмента для тестирования. С 2007 года PikeTec продолжает разработку инструмента. TPT используется многими другими производителями автомобилей, такими как BMW , Volkswagen , Audi , Porsche и General Motors, а также такими поставщиками, как Robert Bosch GmbH , Continental и Hella .

использованная литература

внешние ссылки