Автоматическая линия
Вы когда-нибудь думали о том, как собирается автоматическая линия сбора на производстве. Нет? Тогда, это хороший пример для того, чтобы начать эту статью. Представите завод, на котором строиться автоматизированная сборочная линия (это явно не в Украине, где используется людские ресурсы). В самом начале проектирования, дизайнеры закладывают стоимость поддержки, так как вложения в разработку такой линии не так уже мала. Если стоимость поддержки данной линии будет высока, то автоматизация производства окупиться очень медленно, а то и вообще не окупиться. Потому линия должна быть максимально оптимальной, простой в использовании и настройке, что бы в любой момент времени можно было заменить какую-нибудь деталь без всецелой остановки линии.
Почему нужно думать о стоимости поддержки
Теперь давайте рассмотрим автоматизацию тестирования ПО. Стоимость поддержки автоматических тестов очень важный момент, который должен учитываться еще при решении о внедрении автоматизации и обязательным образом должен включаться в стратегию и план автоматизации тестирования. Для того, чтобы понять насколько высока будет стоимость поддержки, нужно определиться с инструментом автоматизации, подходом, объемами работ, которые нужно произвести (при этом хочу заметить, что подход имеет значительно больший приоритет, чем все остальное).
Зависимость выбранного подхода к стоимости поддержки
И так, как зависит стоимость поддержки автоматических тестов зависимости от выбранного подхода.
С вышеуказанного графика видно, что чем больше времени тратиться на создание более сложного (фреймворка) подхода, тем менее затратная стоимость поддержки тестов, которые будут созданы. В реальной жизни, многие проекты автоматизации тестирования остаются на этапе «Modified Record/Playbakc» и «Modular». В этом и заключается ключевая ошибка, потому как видно с графика, стоимость поддержки таких тестов достаточно велика.
Что нужно делать
- Если вы вправе принимать решение о подходе автоматизации, то нужно хорошо подумать над подходом.
- Если у вас нет компетенции принятия решения, то нужно убеждать менеджмент, что автоматизация тестирования требует более тщательной проработки, как обычный проект, где присутствуют анализ, требования и дизайн, а не просто кодирование.
- Собирать и анализировать метрики стоимости поддержки автоматизированного тестирования на разных стадиях выполнения проекта
- Делать рефакторинг, внедрять изменения для уменьшения стоимости поддержки