Главное — не моргай! Как мы избавлялись от flaky-тестов.

Link to full Доклад

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

Классические решения — мониторить и перезапускать такие тесты, поставить ожидания побольше — решают не проблему, а симптомы. Мы решили бороться с самой болезнью. И я расскажу, как мы победили:

  • тесты с автоматически появляющимися и исчезающими окошками;
  • тесты, завязанные на асинхронные операции бэкенда.

Также расскажу, как мы продолжаем непримиримую борьбу с флаки-тестами.

Nifty tech tag lists from Wouter Beeftink