Ответственность за качество кода делегирована на тестировщика.
Сроки поставки кода зависят от тестировщика.
Разработчик постоянно переключается с задачи на задачу
Ручное
Опасность:
Разработчик медленнее получает обратную связь от кода.
На тесты тратится много времени.
Непрерывная поставка кода невозможна.
Автоматизированное
DORA утверждает, что лучшие команды использую автоматизированное тестирование в 90% случаев.
Как тестировать в парадигме Continuous Delivery
Откажитесь от асинхронной проверки качества, которая влияет на скорость выкладки на сервер.
В code review используйте синхронные стратегии проверки качества: парное программирование, или стратегия незамедлительного code review.
Используйте те виды асинхронного тестирования, которые не влияют на выкладку: проверку безопасности, полное регресс-тестирование, проверку удобства пользования.
Собирайте обратную связь от написанного продукта в понятном разработчику виде. Разработчик должен анализировать логи ежедневно, используя инструменты визуализации логов.
Максимальное время на тесты — 10 минут.
Используйте только атомизированные тесты, не зависящие от внешних обстоятельств.
Запускайте тесты сразу после коммита. Результаты исполнения тестов должны мгновенно приходить автору коммита.
Начните с этих автоматизированных тестов
Статический анализ. Исполняется на рабочем месте разработчика (IDE) при сборке и в процессе разработки. Быстрый
Юнит-тесты. IDE, при сборке или в процессе разработки. Быстрый.
Функциональные тесты критического функционала. При сборке. Медленные.