Разработчики) | PikeTec GmbH |
---|---|
Стабильный выпуск | 16/11 ноября 2020 г . |
Операционная система | Окна |
Доступно в | английский |
Тип | Тестирование программного обеспечения |
Лицензия | Проприетарный |
Веб-сайт | www |
TPT ( тестирование раздела времени ) представляет собой систематический тест методология для автоматизированного тестирования программного обеспечения и проверок на встраиваемые системы управления , кибер-физических системы и потоковые программы . TPT специализируется на тестировании и проверке встроенных систем, входы и выходы которых могут быть представлены в виде сигналов, и является специальным методом для тестирования непрерывного поведения систем . [1] Большинство систем управленияпринадлежат к этому системному классу. Выдающейся характеристикой систем управления является тот факт, что они тесно взаимодействуют с окружающей средой реального мира. Контроллерам необходимо наблюдать за своим окружением и соответственно реагировать на его поведение. [2] Система работает в цикле взаимодействия с окружающей средой и подвержена временным ограничениям. Тестирование этих систем должно стимулировать и проверять поведение во времени. Традиционные методы функционального тестирования используют сценарии - TPT использует тестирование на основе моделей .
TPT сочетает в себе методику систематического и графического моделирования тестовых примеров с полностью автоматизированным выполнением тестов в различных средах и автоматической оценкой тестов. TPT охватывает следующие четыре тестовых задания:
В TPT тесты моделируются графически с помощью специальных конечных автоматов и временного разделения. [1] [3] Все тестовые примеры для одной тестируемой системы можно смоделировать с помощью одного гибридного автомата. Тесты часто состоят из последовательности логических этапов. В состояния этого конечного автомата представляют собой логические проходы теста , которые одинаковы для всех тестов. Условия запуска моделируют переходы между фазами тестирования. Каждое состояние и переход автомата могут иметь разные варианты. Комбинация вариантов моделирует отдельные тестовые случаи.
Тексты на естественном языке становятся частью графики, обеспечивая простую и наглядную читаемость даже для непрограммистов. Существенные методы, такие как конечные автоматы с параллельным и иерархическим ветвлением , условное ветвление, реактивность , описание сигнала, измеренные сигналы, а также списки простых этапов тестирования, позволяют интуитивно и графически моделировать даже сложные тестовые примеры.
Сложность теста скрыта за графикой. Описание сигнала самого низкого уровня состоит либо из списков этапов тестирования, либо из так называемых прямых определений.
Используя список тестовых шагов, можно смоделировать простые последовательности тестовых шагов, которые не нужно выполнять параллельно, например, установочные сигналы (Установить канал), линейные сигналы (Линейный канал), параметры настройки (Установить параметр), и ждем (Подожди). Запросы ожидаемых результатов тестирования могут быть сделаны в рамках последовательности тестирования для оценки тестируемой системы во время ее работы. Также возможно разместить субавтоматы в списке этапов тестирования, которые, в свою очередь, содержат автоматы и последовательности, в результате чего получаются иерархические списки этапов тестирования. Последовательности тестирования также можно комбинировать с другими методами моделирования, что позволяет значительно усложнить (или упростить) один тест. Последовательности испытаний также можно комбинировать и распараллеливать с другими методами моделирования.
В списке шагов теста можно реализовать так называемые «прямые определения». Используя этот тип моделирования, можно определить сигналы как функцию времени, прошлых переменных / тестовых событий и других сигналов. Также возможно определить эти сигналы, написав код " C -Style", а также импортировав данные измерений и используя ручной редактор сигналов.
Можно определить функции, которые могут действовать как клиенты или серверы . Клиентские функции вызываются из TPT в тестируемой системе, где серверные функции, реализованные в TPT, могут вызываться как « заглушки » из тестируемой системы. Сам TPT также может вызывать функции сервера.
TPT был разработан специально для тестирования непрерывного и реактивного поведения встроенных систем. [4] TPT можно рассматривать как расширение метода дерева классификации с точки зрения временного поведения. Благодаря систематическому подходу к созданию тестовых примеров TPT отслеживает даже очень сложные системы, для тщательного тестирования которых требуется большое количество тестовых примеров, что позволяет находить сбои в тестируемой системе с помощью идеального количества тестовых примеров.
Основная идея системности TPT заключается в разделении сходств и различий между тестовыми примерами: большинство тестовых примеров очень похожи по своему структурному процессу и могут быть дифференцированы «только» в нескольких, но важных деталях. [5] TPT использует этот факт путем совместного моделирования и использования совместных структур. С одной стороны, таким образом можно избежать дублирования. С другой стороны, очень ясно, чем на самом деле отличаются тестовые примеры - то есть, какой конкретный аспект они соответственно тестируют. При таком подходе улучшается сопоставимость тестовых примеров и, следовательно, обзор, и внимание тестировщика сосредоточено на самом важном - отличительных особенностях тестовых примеров.
Иерархическая структура тестовых примеров позволяет разбивать сложные тестовые задачи на подзадачи, что также улучшает ясность и, как результат, качество теста.
Эти методы моделирования помогают тестировщику находить действительно релевантные случаи, избегая дублирования и отслеживая даже большое количество тестовых случаев. [6]
TPT включает несколько возможностей для автоматической генерации тестовых случаев:
С TPT каждый тестовый пример может специально реагировать на поведение системы [8] во время процесса тестирования в реальном времени - например, реагировать на систему именно тогда, когда происходит определенное состояние системы или сигнал датчика превышает определенный порог. Если, например, необходимо смоделировать отказ датчика для контроллера двигателя при превышении частоты вращения холостого хода двигателя, должна быть предусмотрена возможность реагирования на событие «превышение частоты вращения на холостом ходу двигателя» в описании тестового примера.
Тестовые примеры TPT сделаны независимо от его выполнения. Тестовые сценарии могут выполняться практически в любой среде благодаря концепции так называемой виртуальной машины (ВМ) также в средах реального времени . Примерами могут служить MATLAB / Simulink , TargetLink , ASCET, C-код , CAN , AUTOSAR , SystemDesk, DaVinci CT, LABCAR, INCA, Программное обеспечение-в-Loop (SIL) и ЛВЖ . Таким образом, TPT представляет собой интегрированный инструмент, который можно использовать на всех этапах тестирования разработки, таких как модульное тестирование , интеграционное тестирование , системное тестирование и регрессионное тестирование .
Для анализа и измерения покрытия кода TPT может взаимодействовать с инструментами покрытия, такими как Testwell CTC ++ для C-кода .
Настраиваемый графический интерфейс пользователя (панель инструментов), основанный на виджетах GUI , может использоваться для взаимодействия с тестами.
Смоделированные тестовые примеры в 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 - это инструмент тестирования на основе моделей, который применяется в основном при разработке автомобильных контроллеров [9] и первоначально был разработан в Daimler AG для их собственных разработок. Daimler в течение многих лет координировал разработку инструмента для тестирования. [10] С 2007 года PikeTec продолжает разработку инструмента. TPT используется многими другими производителями автомобилей, такими как BMW , Volkswagen , Audi , Porsche и General Motors, а также такими поставщиками, как Robert Bosch GmbH , Continental и Hella . [11]