stringtranslate.com

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

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

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

Графические тестовые случаи

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

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

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

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

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

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

Используя список тестовых шагов, можно моделировать простые последовательности тестовых шагов, которые не нужно выполнять параллельно, такие как установка сигналов (Set channel), изменение сигналов (Ramp channel), установка параметров (Set parameter) и ожидание (Wait). Запросы на ожидаемые результаты теста могут быть сделаны в рамках тестовой последовательности для оценки тестируемой системы по мере ее работы. Также можно помещать подавтоматы в список тестовых шагов, которые, в свою очередь, содержат автоматы и последовательности, что приводит к иерархическим спискам тестовых шагов. Тестовые последовательности также можно комбинировать с другими методами моделирования, что позволяет значительно усложнить (или упростить) тест. Тестовые последовательности также можно комбинировать и распараллеливать с другими методами моделирования.

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

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

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

Функции

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

Систематические тестовые случаи

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

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

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

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

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

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

Интерактивное ручное тестирование с помощью TPT-Dashboard

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

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

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

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

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

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

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

Смоделированные тестовые случаи в TPT компилируются и во время выполнения теста интерпретируются так называемой виртуальной машиной (VM). VM одинакова для всех платформ и всех тестов. Только адаптер платформы реализует отображение сигналов для отдельного приложения. 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. ^ ab "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 . Получено 2013-08-08 .
  2. ^ Карл Дж. Астрём и Ричард М. Мюррей (2008). Системы обратной связи: Введение для ученых и инженеров (PDF) . Princeton University Press. 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. ^ "Bringmann, Krämer: Систематическое тестирование непрерывного поведения автомобильных систем В: Международная конференция по программной инженерии: Труды международного семинара по программному обеспечению 2006 года, Шанхай, Китай, 2006" (PDF) . Получено 2013-08-08 .
  5. ^ "Lehmann, TPT – Диссертация, 2003" (PDF) . Получено 2013-08-08 .
  6. ^ "Lehmann: Time Partition Testing: A Method for Testing Dynamical Functional Behavior IN: Proceedings of Test2000, Lindon, Great Britain, 2000". Evotest.iti.upv.es . Получено 2013-08-08 .
  7. ^ Бенджамин Вильмес: Hybrides Testverfahren für Simulink/TargetLink-Modelle , Диссертация, TU-Berlin, Германия, 2015. [1]
  8. ^ "Гроссманн, Мюллер: Формальная поведенческая семантика для TestML; В: Труды ISOLA 06, Пафос, Кипр, ноябрь 2006 г." (PDF) . Immos-project.de.
  9. ^ Брингманн, Э.; Кремер, А. (2008). "Тестирование автомобильных систем на основе моделей" (PDF) . Международная конференция по тестированию, верификации и валидации программного обеспечения 2008 года . Международная конференция по тестированию, верификации и валидации программного обеспечения (ICST). стр. 485–493. doi :10.1109/ICST.2008.45. ISBN 978-0-7695-3127-4.
  10. ^ Конрад, Мирко; Фей, Инес; Грохтманн, Матиас; Кляйн, Торстен (9 июля 2001 г.). «Modellbasierte Entwicklung eingebetteter Fahrzeugsoftware bei DaimlerChrysler». Информатика - Forschung und Entwicklung . 20 (1–2): 3–10. дои : 10.1007/s00450-005-0197-5.
  11. ^ Hauser Automotive Website. Получено 16 марта 2015 г. Архивировано 24 ноября 2015 г. на Wayback Machine

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