TGViewer
PRO автотесты PRO автотесты @test_automation_pro · 313 subscribers
Post #3 469
Многие команды не пишут модульные (unit) тесты и считают их бесполезными. Такие тесты проверяют отдельные кусочки приложения, а продуктовые сценарии, работоспособность которых действительно важна, задействуют десятки или сотни таких кусочков. Проверка каждого из кусочков не гарантирует работоспособность какого-либо продуктового сценария, поэтому тестирование отдельного модуля — бессмысленно.

Мне попалась статья Мартина Фаулера об этом. Он говорит, что важен не размер, а изоляция модуля. Тестируемой сущностью unit-тестов может быть фрагмент приложения любого размера. Главное — чтобы он был изолирован от внешних зависимостей.

Откуда возникло мнение о том, что unit-тесты могут проверять только что-то маленькое? Кажется, причина в том, что многие приложения имеют внутри запутанные связи и их разработчики могут изолированно создать в тестах экземпляры только самых маленьких модулей.

В двух командах, где я работал, мы провели рефакторинг приложения, чтобы упорядочить зависимости модулей. В результате мы научились создавать экземпляры фрагментов приложения любого размера и писать на них unit-тесты. Оказалось, что это производительный и стабильный инструмент автоматизации тестирования. Большинство тестовых сценариев переехало в модульные тесты. Суммарное время прогона тестов сократилось с часов до минут, а количество ложных срабатываний — уменьшилось до нуля.

Попробуйте этот подход на своем проекте!
martinfowler.com bliki: Unit Test Unit Tests are focused on small parts of a code-base, defined in regular programming tools, and fast. There is disagreement on whether units should be solitary or sociable.
  • 👍 5
  • 🕊 3
More from @test_automation_pro
  1. Aug 28, 2026Генератор стабов из TypeScript-типов Когда тестируешь компонент — надо откуда-то взять дан…
  2. Jul 30, 2026photo post
  3. Jul 30, 2026В субботу я читал лекцию об автотестах в Школе разработки интерфейсов Яндекса. В этом году…
  4. Jul 18, 2026https://youtu.be/EZXj-bTG82w На прошлой неделе я был в гостях у Володи Гриненко и мы запис…
  5. Jun 28, 2026Скоро начало 3 квартала и в Яндекс 360 идет квартальное планирование. Два сервиса запланир…
  6. May 21, 2026Еще один случай с участием #ии Мы сегодня обнаружили тест, который проходил успешно, но не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →