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


Из Википедии, бесплатной энциклопедии
  (Перенаправлено из TPT (программное обеспечение) )
Перейти к навигации Перейти к поиску

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

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

С 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 компилируются и во время выполнения теста интерпретируются так называемой виртуальной машиной (ВМ). ВМ одинакова для всех платформ и всех тестов. Только адаптер платформы реализует отображение сигналов для отдельного приложения. 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]

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

  1. ^ a b «Justyna Zander-Nowicka, Abel Marrero Pérez, Ina Schieferdecker, Zhen Ru Dai: Test Design Patterns for Embedded Systems, In: 10th International Conference on Quality Engineering in Software Technology, CONQUEST 2007, Potsdam, Germany, September 2007» ( PDF) . Архивировано из оригинального (PDF) на 2012-03-02 . Проверено 8 августа 2013 .
  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) . Проверено 8 августа 2013 .
  4. ^ «Брингманн, Кремер: Систематическое тестирование непрерывного поведения автомобильных систем. В: Международная конференция по разработке программного обеспечения: Материалы международного семинара по программному обеспечению 2006 г., Шанхай, Китай, 2006 г.» (PDF) . Проверено 8 августа 2013 .
  5. ^ "Lehmann, TPT - Диссертация, 2003" (PDF) . Проверено 8 августа 2013 .
  6. ^ «Леманн: Тестирование временного разделения: метод тестирования динамического функционального поведения IN: Proceedings of Test2000, Линдон, Великобритания, 2000» . Evotest.iti.upv.es . Проверено 8 августа 2013 .
  7. ^ Benjamin Вильмес: Hybrides Testverfahren für Simulink / TargetLink-Modelle , Диссертация, ТУ-Берлин, Германия, 2015. [1]
  8. ^ «Гроссманн, Мюллер: формальная поведенческая семантика для TestML; In: Proc. Of ISOLA 06, Пафос, Кипр, ноябрь 2006 г.» (PDF) . Immos-project.de.
  9. ^ Bringmann, E .; Кремер А. (2008). «Тестирование автомобильных систем на основе моделей» (PDF) . 2008 Международная конференция по тестированию, проверке и валидации программного обеспечения . Международная конференция по тестированию, верификации и валидации программного обеспечения (ICST). С. 485–493. DOI : 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. DOI : 10.1007 / s00450-005-0197-5 .
  11. ^ Веб-сайт Hauser Automotive. Абгеруфен, 16 марта 2015 г. Архивировано 24 ноября 2015 г., Wayback Machine.

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

  • PikeTec
Получено с https://en.wikipedia.org/w/index.php?title=TPT_(software)&oldid=1006303309 "