Автотесты своего проекта, которые запускаются одной командой и в CI
Курс превращает ручные проверки в автотесты: модульные тесты функций, автотесты API и веб-интерфейса на pytest, отчёт о прогоне и запуск в конвейере. Отдельно — как встроить качество в работу команды: что автоматизировать первым, как мерить покрытие и когда тесты мешают, а не помогают. Практика — на учебном приложении «Задачник» из курса ручного тестирования, итог — набор автотестов собственного проекта.
Курс в подготовке. На этой странице — программа. Начните с курса ручного тестирования: тест-дизайн и HTTP из него нужны здесь с первого раздела.
Автотест окупается, когда проверку повторяют часто, а результат однозначен. Раздел показывает, какие проверки стоит автоматизировать, а какие дешевле пройти руками, и как выглядит рабочий набор автотестов.
Ровно тот минимум Python, который нужен в тестах: без классов и сложных конструкций, с упором на чтение и отладку чужого кода.
Как pytest находит тесты, что он пишет при падении и как запускать только нужное.
testsassert и чтение отчёта о падении-k, -x, -vКак убрать повторы из тестов: общая подготовка в фикстурах, один тест на много входных данных, группы тестов для быстрого прогона.
conftest.py, очистка через yieldparametrize по классам эквивалентности и границамpytest.iniПроверка одной функции в изоляции от базы, времени и файлов. Модульным тестом находится дефект в функции подсчёта «Задачника».
monkeypatch, unittest.mock, tmp_pathРучные проверки API из курса тестирования превращаются в код: тот же запрос, те же ожидания, но запуск за секунды.
Тесты, которые не зависят друг от друга и от порядка запуска, и проверки того, что сервер правильно отказывает.
Браузер под управлением теста: найти элемент, нажать, ввести, дождаться и проверить результат.
expect; запись сценария codegenКак сделать UI-тесты короткими и устойчивыми и что делать, когда тест то проходит, то падает.
Набор тестов запускается одной командой и сам — на каждый коммит, а результат читается без консоли.
coverageАвтотесты — часть процесса, а не цель. Раздел о том, как договориться о качестве и не утонуть в метриках.
Автотесты своего проекта: модульные, API с негативными проверками и UI через страницу-объект, запуск одной командой, отчёт о прогоне и конвейер CI с зелёным прогоном. Если своего проекта нет — «Задачник» версии 1.1.
Задания на портале Вернуться на главную