Что такое тестирование на основе моделей?

Что такое тестирование на основе моделей?

Тестирование на основе моделей — это метод тестирования программного обеспечения, при котором поведение тестируемого программного обеспечения во время выполнения проверяется на соответствие прогнозам, сделанным моделью. Модель — это описание поведения системы. Поведение можно описать с точки зрения входных последовательностей, действий, условий, выходных данных и потока данных от входа к выходу. Оно должно быть практически понятным и допускающим многократное использование; разделяемый файл должен содержать точное описание тестируемой системы.

Доступно множество моделей, которые описывают различные аспекты поведения системы. Примеры модели:

  • Поток данных
  • Поток управления
  • Графики зависимостей
  • Таблицы решений
  • Машины перехода состояний

Тестирование на основе моделей описывает, как система ведет себя в ответ на действие (определяемое моделью). Предложите действие и посмотрите, отреагирует ли система в соответствии с ожиданиями.

Это легкий формальный метод проверки системы. Это тестирование может применяться как к аппаратному, так и к программному тестированию.

Пример тестирования на основе модели

Тестирование на основе моделей – то, что вы должны знать!

Приведенная выше модель объясняет упрощенный подход к написанию стихов в блокноте и возможные действия, связанные с каждым шагом. Для каждого действия (например, запуска, ввода стихотворения, сохранения) Тестовый кейс могут быть сгенерированы, и выходные данные могут быть проверены.

Типы ОБТ

Существует два типа сред тестирования на основе моделей:

  1. Оффлайн/априори: создание тестовых наборов перед их выполнением. Набор тестов — это не что иное, как набор тестовых примеров.
  2. Онлайн/на лету: создание тестовых наборов во время выполнения теста.

Различные модели в тестировании

Чтобы понять ОБТ, необходимо разобраться в некоторых моделях, описанных ниже. Давайте пройдемся по ним один за другим:

Конечные автоматы

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

Система будет иметь определенное состояние и текущее состояние, которое определяется набором входных данных, заданных тестировщиками.

Рассмотрим пример-

Существует система, позволяющая сотрудникам авторизоваться в приложении. Теперь текущее состояние сотрудника — «Отсутствует», и оно становится «Включено», как только он входит в систему. В состоянии «включено» сотрудник может просматривать, распечатывать и сканировать документы в системе.

Тестирование на основе моделей – то, что вы должны знать!

Графики штатов

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

Например -

Дефекты регистрируются в инструменте управления дефектами со статусом «Новый». Как только разработчики исправят проблему, ей необходимо изменить статус на «Исправлено». Если дефект не устранен, измените статус на Повторное открытие. Диаграммы штатов должны быть разработаны таким образом, чтобы в каждом штате было событие.

Тестирование на основе моделей – то, что вы должны знать!

Унифицированный язык моделирования (UML)

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

В UML есть такие обозначения, как:

  • Активности
  • Актеры
  • Бизнес-процесс
  • Компоненты
  • Язык программирования

Тестирование на основе моделей – то, что вы должны знать!

Проблемы модельного тестирования

Развертывание ОБТ в каждой организации, очевидно, требует больших инвестиций и усилий. Фоллоwing недостатки ОБТ в Программная инженерия.

  • Необходимые навыки, необходимые тестировщикам
  • Время обучения будет больше
  • Трудно понять саму модель.

Преимущества модельного тестирования

Фоллоwing Преимущества ОБТ:

  • Простое обслуживание тестового набора/комплекта
  • Снижение стоимости
  • Улучшенное тестовое покрытие
  • Может запускать различные тесты на n машинах.
  • Раннее обнаружение дефектов
  • Увеличение количества дефектов
  • Экономия времени
  • Повышение удовлетворенности работой тестировщиков

Заключение

Тестировщики в любом случае создают мысленные модели во время тестирования. Эти мысленные модели можно преобразовать в модели на бумаге. Это помогает тестировщикам добиться читаемости и возможности повторного использования.

Тестирование на основе моделей — это новый подход к тестирование программного обеспечения. Эволюция тестирования программного обеспечения показана ниже:

Тестирование на основе моделей – то, что вы должны знать!