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

Тестирование временных разделов (TPT)
TPT Logo.png
Тестовый пример, смоделированный с помощью TPT
Тестовый пример, смоделированный с помощью TPT
Разработчики)PikeTec GmbH
Стабильный выпуск
16/11 ноября 2020 г.; 27 дней назад (2020-11-11)
Операционная системаWindows
Доступно ванглийский
ТипТестирование программного обеспечения
ЛицензияПроприетарный
Интернет сайтwww.piketec.com

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

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

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

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

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

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

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

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

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

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

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

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

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

Функции

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

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

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

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

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

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

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

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

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

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

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

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

Тестовые примеры TPT сделаны независимо от его выполнения. Тестовые примеры могут быть выполнены практически в любой среде благодаря так называемой виртуальная машина (VM) концепция также в реальное время среды. Примеры MATLAB /Simulink, TargetLink, ASCET, C-код, МОЖЕТ, АВТОСАР, SystemDesk, DaVinci CT, LABCAR, INCA, Software-in-the-Loop (SiL) и HiL. Таким образом, TPT - это интегрированный инструмент, который можно использовать на всех этапах тестирования, таких как модульное тестирование, интеграционное тестирование, системное тестирование и регрессионное тестирование.

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

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

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

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

Виртуальная машина 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, Фольксваген, Audi, Порше и Дженерал Моторс а также такие поставщики, как Роберт Бош ГмбХ, Континентальный и Hella.[11]

Рекомендации

  1. ^ а б "Юстина Зандер-Новицка, Абель Марреро Перес, Ина Шифердекер, Жен Ру Дай: Шаблоны проектирования тестов для встроенных систем, В: 10-я Международная конференция по качественной инженерии в технологиях программного обеспечения, CONQUEST 2007, Потсдам, Германия, сентябрь 2007" (PDF). Архивировано из оригинал (PDF) на 2012-03-02. Получено 2013-08-08.
  2. ^ Карл Дж. Остром и Ричард М. Мюррей (2008). Системы обратной связи: введение для ученых и инженеров (PDF). Издательство Принстонского университета. ISBN  978-0-691-13576-2.
  3. ^ "Schieferdecker, Bringmann, Grossmann: Continuous TTCN-3: Testing of Embedded Control Systems, In: Proceedings of 28th International Conference on Software Engineering, Shanghai, China, 2006" (PDF). Получено 2013-08-08.
  4. ^ «Брингманн, Кремер: Систематическое тестирование непрерывного поведения автомобильных систем. В: Международная конференция по программной инженерии: Материалы международного семинара по программному обеспечению 2006 г., Шанхай, Китай, 2006 г.» (PDF). Получено 2013-08-08.
  5. ^ "Lehmann, TPT - Диссертация, 2003" (PDF). Получено 2013-08-08.
  6. ^ "Lehmann: Тестирование временного разделения: метод тестирования динамического функционального поведения IN: Proceedings of Test2000, Линдон, Великобритания, 2000". Evotest.iti.upv.es. Получено 2013-08-08.
  7. ^ Бенджамин Уилмс: Гибриды Testverfahren für Simulink / TargetLink-Modelle, Диссертация, TU-Berlin, Германия, 2015. [1]
  8. ^ "Гроссманн, Мюллер: формальная поведенческая семантика для TestML; In: Proc. Of ISOLA 06, Пафос, Кипр, ноябрь 2006 г." (PDF). Immos-project.de.
  9. ^ Bringmann, E .; Кремер, А. (2008). «Модельно-ориентированное тестирование автомобильных систем» (PDF). Международная конференция по тестированию, проверке и валидации программного обеспечения, 2008 г.. Международная конференция по тестированию, верификации и валидации программного обеспечения (ICST). С. 485–493. Дои:10.1109 / ICST.2008.45. ISBN  978-0-7695-3127-4.
  10. ^ Конрад, Мирко; Фей, Инес; Грохтманн, Матиас; Кляйн, Торстен (2001-07-09). "Modellbasierte Entwicklung eingebetteter Fahrzeugsoftware компании DaimlerChrysler". Informatik - Forschung und Entwicklung. 20 (1–2): 3–10. Дои:10.1007 / s00450-005-0197-5.
  11. ^ Веб-сайт Hauser Automotive. Абгеруфен утра 16. марта 2015 г. В архиве 2015-11-24 на Wayback Machine

внешняя ссылка