- Закон достаточности покрытия
Автоматизируйте часто выполняемые и сложные действия.
- Закон скорости
Спешка вредит качеству и в конечном итоге приводит к обратному — замедлению процессов.
- Закон окупаемости инвестиций в тестирование
Автоматизация — самый дорогой, самый медленный, самый хлопотный способ написания тестов.
- Принцип экспоненциальности обслуживания
Автоматизация экспоненциально увеличивает время на обслуживание тестов.
- Закон очевидных отказов софта
Когда говорят об отказе, он должен быть очевидным, а не просто назревать.
- Принцип локальности
Идеальные тесты выполняются локально.
- Жадность это плохо
Деньги, сэкономленные на тестовой инфраструктуре, выльются в большие затраты времени и денег.
- Ложная дихотомия
Тесты бывают не только зелеными и красными, но и синими нестабильными.
- Закон качества автоматизации
Качество автоматизации обратно пропорционально количеству использованных классов, фреймворков, методик и шаблонов.
- Закон новых фреймворков
Новые фреймворки нужны для обогащения их создателей и только.
- Парадокс документации
Идеальные автотесты не нуждаются в документации.
- Закон лога
Лучший тестовый код — это лог.
- Закон возрастания сложности
Код автотестов — это код, который труднее всего написать правильно.
- Закон абсолютной тестируемости
Всё поддается тестированию — если применять творческий подход.
- Закон плохих фреймворков
Современные фреймворки позволяют создавать плохой тестовый код в невиданных ранее, промышленных масштабах.
- Принцип минимальной генерации
Лучше не генерируйте тестовый код. А если генерируете, проверяйте абсолютно всё. Все еще хотите генерировать?
- Закон выбора тестов
Выборочное тестирование экономит время — и увеличивает риски.
- Закон тестовой пирамиды
Игнорируйте тестовые пирамиды, ромбы, соты, кубки и прочие фигуры.
- Парадокс автоматизации
Не автоматизируйте ничего, пока вас не заставляют.
- Принцип правильного репорта
Все проценты в репортах, кроме 100%, не имеют смысла.