Раздел 43 · Автотестирование с нуля

Unit, integration, contract, e2e: договориться о словах

middle~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Оля · DevOps, #qa-antrakt

В CI есть job integration, идёт 40 минут. Тимур говорит, что там его интеграционные тесты и они быстрые. Ника говорит, что там её интеграционные тесты, то есть Playwright, и они медленные. Глеб, судя по истории, складывал туда всё, что не влезло в unit. Я хочу разрезать job на быструю и медленную, но не понимаю, по какому признаку.

Вера Ланская · лид QA, #qa-antrakt

Пока каждый называет интеграционным своё, job не разрежешь. Договорись с командой о словах. Возьми двенадцать проверок из нашего набора и разложи по уровням так, чтобы Тимур и Ника согласились.

В прошлом уроке ты делил тесты по размеру: что тесту разрешено, процесс, машина или сеть. Размер легко измерить, и спорить о нём трудно. Но размер не говорит, что проверяет тест. Два теста одного размера могут отвечать на совсем разные вопросы. Сегодня о второй оси: уровнях тестов и словах, которыми команда их называет.

Читка, монтировочная, генеральная

В театре слово «репетиция» почти ничего не значит. Режиссёр так не говорит, он говорит точнее:

  • читка: актёры за столом читают пьесу, без сцены и костюмов;
  • монтировочная: на сцене ставят декорации и свет, актёров нет, проверяют, что кулиса не цепляет прожектор;
  • прогон: сцена целиком, актёры, свет, но без зрителей и без костюмов;
  • генеральная: всё как на премьере.

Каждое слово отвечает на свой вопрос. Читка проверяет текст. Монтировочная проверяет, что декорации и свет сходятся. Генеральная проверяет, что спектакль можно показать зрителю. Если завпост скажет «завтра репетиция», а придут только актёры, монтировочная сорвётся.

С тестами то же самое. «Интеграционный тест» у Тимура значит одно, у Ники другое, у Глеба третье. Слова не плохие, но каждый вкладывает в них своё. Задача урока: дать команде слова, которые отвечают на вопрос «что проверяем».

урок из курса

Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.