Тестирование в реальном времени - Real-time testing

Тестирование в реальном времени это процесс тестирование компьютерные системы реального времени.

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

Стратегия

Дизайн тестового набора для тестирования в реальном времени можно предложить в четыре этапа. [2]

  • Тестирование задачи
На самом первом этапе каждая задача тестируется индивидуально с помощью обычного статического тестирования. Это тестирование выполняется только для обнаружения ошибок в логике или синтаксисе программы. Порядок событий не имеет значения, поскольку при тестировании задачи не учитываются временные ограничения и временные свойства событий.
  • Поведенческое тестирование
Используя системные модели, разработанные с помощью средств автоматизированного тестирования, можно моделировать поведение системы в реальном времени и влияние одновременных внешних событий на ее поведение.
  • Межзадачное тестирование
После того, как тестирование с индивидуальной задачей будет выполнено, задача должна быть безошибочной в области кодирования и поведения. Ограничения, связанные со временем, проверяются с помощью межзадачного тестирования. Чтобы выявить ошибки связи, асинхронные задачи тестируются с переменной скоростью передачи данных и различной полезной нагрузкой.
  • Системное тестирование
В этом тестировании интегрируются программное и аппаратное обеспечение, и проводится полный спектр системных тестов для обнаружения ошибок, если таковые имеются, во время программного и аппаратного обеспечения. сопряжение.

Инструменты для тестирования в реальном времени

Поскольку тестирование систем реального времени становится все более важным, есть некоторые инструменты, разработанные для такого тестирования.

МСК

Диаграммы последовательности сообщений является международно признанным стандартом регистрации требований.[3] MSC предоставляет графический двумерный язык, который часто требуется для сбора требований через некоторые сценарии взаимодействия.

SDL

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

TTCN

Обозначение тестирования и управления тестированием является единственным языком тестирования, являющимся международным стандартом. TTCN3 [5] обеспечивает более широкую применимость по сравнению с более ранними версиями TTCN, которые в первую очередь были ориентированы на Протоколы OSI Только.

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

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

TTCN-3

Фон

TTCN-3 это единственный в настоящее время доступный, стандартизированный на международном уровне язык тестирования. До TTCN3 его более ранние версии обладали ограниченной функциональностью и ограниченными возможностями протокола OSI. Но TTCN3 является расширенной версией и имеет более широкое применение.
Характеристики TTCN3:

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

Причина использования TTCN3 для тестирования в реальном времени заключается в его таймерах. Эти таймеры определены в функции наборы тестов. В TTCN3 не используются таймеры глобального типа. Эти таймеры можно запускать, останавливать и проверять с помощью простых функций, таких как timer.start, timer.stop и timer.read.

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

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

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

  1. ^ Tsai, J.J.P .; Fang, K.-Y .; Би, Ю.-Д. (1990). «О тестировании и отладке программного обеспечения в реальном времени». Proceedings., Четырнадцатая ежегодная международная конференция по компьютерному программному обеспечению и приложениям. С. 512–518. Дои:10.1109 / CMPSAC.1990.139423. ISBN  978-0-8186-2054-6.
  2. ^ Программная инженерия: подход практикующего, Роджер С. Прессман
  3. ^ (PDF) http://www.sdl-forum.org/issre04-witul/papers/EbnerTTCN3.pdf. Отсутствует или пусто | название = (помощь)
  4. ^ (PDF) http://www.aws.cit.ie/personnel/dpesch/notes/msc_sw/sdl.pdf. Отсутствует или пусто | название = (помощь)
  5. ^ Дома.