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

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

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

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

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

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

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

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

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

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

Типы ОБТ

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

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

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

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

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

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

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

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

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

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

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

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

Например -

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

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

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

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

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

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

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

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

Развертывание MBT в каждой организации, очевидно, требует большого количества инвестиций и усилий. Ниже приведены недостатки MBT в Программная инженерия.

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

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

Ниже приведены преимущества МВТ:

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

Заключение

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

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

Эволюция тестирования программного обеспечения