Работа с CI/CD (Jenkins, Git)
Работа с CI/CD (Jenkins, Git)
Git для тестировщика
Git — система контроля версий, которую используют все разработчики. Тестировщику не нужно знать Git глубоко, но базовые концепции помогут работать эффективнее.
Ключевые понятия
| Понятие | Смысл |
|---|---|
| Repository | Хранилище всего кода проекта с историей изменений |
| Branch | Независимая ветка разработки (feature/login-page, bugfix/cart-total) |
| Commit | Сохранённое изменение с описанием: «Add email validation» |
| Pull Request / MR | Предложение влить изменения из ветки в основную (+ код-ревью) |
| Main / Master | Основная ветка — стабильный код, из которого делают релизы |
Как это помогает тебе
- Чекаутить ветку для тестирования: «Протестируй задачу в ветке
feature/checkout-redesign» — ты знаешь, что это - Читать описание PR: разработчик описывает, что изменилось → полезный контекст для тестирования
- Понимать, что входит в сборку: смотришь список коммитов → видишь, какие изменения нужно тестировать
CI — Continuous Integration
CI (Непрерывная интеграция) — практика, при которой каждый коммит в репозиторий автоматически запускает набор проверок: линтер, юнит-тесты, сборку.
Что важно знать тестировщику:
| Статус CI | Что делать |
|---|---|
| Зелёный (все проверки прошли) | Можно начинать ручное тестирование |
| Красный (что-то упало) | Не начинай тестировать — сообщи разработчику, пусть сначала починит |
Зелёный CI ≠ баг-свободный код. Автотесты не покрывают всё. Твоё ручное тестирование — поверх автоматических проверок.
CD — Continuous Delivery / Deployment
CD (Непрерывная доставка/развёртывание) — автоматическое выкатывание кода на окружения после успешного CI.
Commit → CI (тесты, линтер) → Deploy to Staging → (ручное тестирование) → Deploy to Production
Типичная цепочка:
- Разработчик пушит код → CI запускается
- CI зелёный → автоматически деплоится на staging
- Ты тестируешь на staging
- После OK → деплой на production (автоматически или вручную)
Jenkins
Jenkins — популярный сервер CI/CD с открытым исходным кодом.
Что ты видишь в Jenkins как тестировщик:
- Build status: зелёный (success) или красный (failure)
- Build history: какие коммиты вошли в последнюю сборку
- Test reports: отчёт по автотестам — сколько прошло, сколько упало
- Logs: полный вывод сборки — если деплой не прошёл, здесь найдёшь причину
Рабочий процесс тестировщика с CI/CD
1. Разработчик создаёт PR / пушит код
2. Ты видишь, что CI запустился → ждёшь результата
3. CI зелёный → тебе приходит уведомление «задача задеплоена на staging»
4. Ты открываешь Jira → переводишь задачу в «Testing»
5. Тестируешь ручным способом + exploratory
6. Нашёл баг → создаёшь Bug-тикет, возвращаешь задачу в In Progress
7. Не нашёл проблем → переводишь в Done / Ready for Release
Подведём итог всего курса
Ты прошёл путь от нуля до уверенного junior QA-инженера. Вот что ты теперь умеешь:
Теория тестирования: понимаешь что такое баг, пишешь чёткие баг-репорты, составляешь тест-кейсы и чек-листы.
Веб и интерфейсы: знаешь как работает браузер, HTTP, DevTools, умеешь находить проблемы в UI и сети.
API-тестирование: работаешь с Postman и curl, проверяешь статусы и тела ответов, читаешь Swagger.
Базы данных: пишешь SELECT-запросы, умеешь проверить данные напрямую в БД, понимаешь реляционную модель.
Командная работа: участвуешь в Scrum, работаешь в Jira, взаимодействуешь с разработчиками, понимаешь CI/CD.
Что дальше?
Это только начало. Junior QA — это старт карьеры. Вот куда расти:
- Автоматизация тестирования — Playwright, Selenium, Jest, Cypress
- Нагрузочное тестирование — k6, Gatling, JMeter
- Мобильное тестирование — iOS, Android, Appium
- Безопасность — OWASP Top 10, Burp Suite, SQL-инъекции
- Performance-тестирование — мониторинг, метрики, профилирование
- SDET (Software Development Engineer in Test) — если хочется глубже в код
Каждый следующий шаг строится на том, что ты уже знаешь. Самое важное — практика. Тестируй реальные продукты, находи баги, пиши отчёты, учись на ошибках.
Что мы запомним
- Git: репозиторий, ветки, коммиты, Pull Request — базовые понятия, которые помогают работать с командой
- CI: каждый коммит автоматически проходит проверки; красный CI — не тестируй, жди исправления
- CD: автоматическое развёртывание на окружения после успешного CI
- Jenkins — популярный CI-сервер; смотри в нём статус сборки и отчёты тестов
- Зелёный CI — необходимое, но не достаточное условие; ручное тестирование незаменимо
- Ты готов к работе junior QA. Следующий рубеж — автоматизация тестирования