Найти тему
Nuances of programming

Бережливое тестирование, или Почему модульные тесты хуже, чем вы думаете

Тестирование — противоречивая тема. Люди крепко держатся за свои убеждения относительно подходов к тестированию. Разработка через тестирование — самый яркий пример. Нехватка чётких эмпирических данных провоцирует людей на громкие заявления. Я выступаю за экономический взгляд на тестирование. Далее, я утверждаю, что чрезмерная сосредоточенность на модульных тестах — не самый экономичный подход. Такую философию я буду называть бережливым тестированием.

Мой главный аргумент в следующем. Разные виды тестов имеют разную стоимость и разные преимущества. Ресурсы, которые можно вложить в тестирование, конечны. Вам нужно получить от проведённых тестов как можно больше выгоды — так используйте наиболее экономичный подход. Для многих областей, например для графических интерфейсов, отдача от других видов тестов больше, чем от модульных.

Уверенность и тесты

В статье “Write tests. Not too many. Mostly integration” и сопутствующем видео Кента С. Доддса хорошо выражены идеи бережливого тестирования. Он приводит три измерения, по которым можно оценить тест:

  • Стоимость (дешёвый или дорогой)
  • Скорость (быстрый или медленный)
  • Уверенность (низкая или высокая, то есть «не работает щелчок мышью» или «не работает оформление заказа»)

А это — «кубок тестирования», показывающий, как Доддс предлагает распределить отведённые на тестирование ресурсы.

Читайте дальше

Читайте нас в телеграмме и vk

Перевод статьи Eugen Kiss: “Lean Testing or Why Unit Tests are Worse than You Think