Архитектура автоматизации: Проверки и Диагностики (Assertions and Diagnostics)

design-patterns
framework
architecture
infrastructure
Теги: #<Tag:0x00007fedc0136bf8> #<Tag:0x00007fedc0136a90> #<Tag:0x00007fedc0136928> #<Tag:0x00007fedc0136720>

(Mykhailo Poliarush) #1

Проблема: Как можно найти ошибки, которые могут возникнуть только со временем? Из-за этого может возникнуть некорректные состояния системы или поломаться/создаться неправильные данные, но это будет выявлено спустя некоторого времени последующего тестирования системы.

Решение: Добавьте проверки (assert) и диагностики в код продукта. Проверки указывают на неправильное функционирование системы, т.е. когда это случается - это дефект. Диагностики указывают на промежуточные значения, которые подлежат последующему анализу чтобы определить это дефект или нет.

Контекст:

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

Стратегия тестирования:

  • Создание тестов: Любые методы могут использоваться для разработки тестов – автоматизированные, ручные, и прочее. Вы можете меньше фокусироваться на ожидаемых результатах, ведь проверки и диагности берут эту функцию на себя.
  • Выполнение тестов: Возможны варианты. Если метод проверки и диагностики применены только в отладочной версии продукта, то потребуется отдельная среда для выполнения тестов.
  • Оценка результатов тестов: Сама техника и есть способ оценки результатов

Атрибуты качества:

  • Сопровождение и поддержка: Средняя/Высокая. Проверки и диагностки нужно изменять каждый раз, когда изменяется основной тестируемый код.
  • Возможность пересмотра: Средняя. Расположенные в коде проверки и диагностки могут быть легко поняты другими разработчиками. Диагностики позволяют собрать информацию о покрытии.
  • Надежность: целостность и достоверность: Средняя. Все зависит от того, насколько качественно в коде применены проверки и диагностики.
  • Возможность повторного использования: Высокая. Любой тест будет автоматически пройдет через проверки.

Следующий шаг.
Нет.


Архитектура автоматизации: Шаблоны проектирования