1. Что такое Git и зачем он нужен тестировщику
Что такое Git и зачем он нужен тестировщику
Представь: ты три дня переписывал тест-кейсы для модуля авторизации, а потом разработчик говорит — «мы откатили фичу, возвращайся к старой версии». Ты открываешь папку и видишь файлы test_cases_final.xlsx, test_cases_final2.xlsx, test_cases_FINAL_правки.xlsx, test_cases_FINAL_правки_v2_USE_THIS.xlsx. Какой из них был «до»? Непонятно. Именно в этот момент понимаешь, зачем тестировщику нужен Git.
Папка с файлами — это не система контроля версий
Многие QA-специалисты хранят тестовую документацию в Google Docs или просто в папках на диске. Это работает, пока ты один и пока изменений мало. Но как только в команде появляется второй тестировщик, или нужно поддерживать тесты для нескольких версий продукта одновременно — начинается хаос.
Git — это система контроля версий (Version Control System, VCS). Если объяснять совсем просто: Git — это умный журнал изменений, который помнит каждую версию твоих файлов, кто и когда их менял, и позволяет в любой момент вернуться к любой точке в прошлом.
Представь, что ты пишешь книгу и после каждой главы делаешь фотографию рукописи. Если через месяц захочешь вернуться к тому, как выглядела третья глава две недели назад — просто достаёшь нужную фотографию. Git делает именно это, только с твоими файлами.
> Git — это не просто инструмент разработчиков. Это инструмент любого специалиста, который работает с файлами, которые меняются со временем.
Что именно хранит тестировщик в Git
Прежде чем разбираться, как работает Git, важно понять — что ты будешь в нём хранить. Для QA-инженера это несколько категорий файлов.
Тест-кейсы и чек-листы — если ты пишешь их в текстовом формате (Markdown, CSV, YAML), Git будет отслеживать каждое изменение построчно. Ты всегда увидишь, какой шаг теста был добавлен, удалён или изменён.
Автотесты — скрипты на Python, Java, JavaScript или любом другом языке. Это код, и Git создан именно для кода. Ты сможешь видеть историю каждого файла с тестами, откатываться к рабочей версии, если что-то сломалось.
Тестовые данные — конфигурационные файлы, JSON с тестовыми наборами, SQL-скрипты для подготовки базы данных.
Тестовая документация — README с описанием тестового стенда, инструкции по запуску тестов, описание тестовой среды.
Всё это можно и нужно хранить в Git. Это превращает хаотичный набор файлов в структурированный, версионированный проект.
!Схема: что тестировщик хранит в Git — тест-кейсы, автотесты, тестовые данные, документация
Как Git устроен: три места, где живут твои файлы
Чтобы не путаться в командах, нужно понять одну ключевую идею: в Git у файлов есть три «места обитания».
Рабочая директория (working directory) — это обычная папка на твоём компьютере. Ты открываешь файл, редактируешь его — это происходит здесь.
Область подготовки (staging area, или индекс) — промежуточный буфер. Сюда ты кладёшь изменения, которые хочешь сохранить в следующей «точке сохранения». Это как корзина в магазине: ты выбираешь товары (изменения), кладёшь их в корзину, и только потом идёшь на кассу.
Репозиторий (repository) — постоянное хранилище всех «точек сохранения». Каждая такая точка называется коммит (commit). Репозиторий хранит всю историю проекта.
Процесс выглядит так: ты редактируешь файл в рабочей директории → добавляешь изменения в staging area → создаёшь коммит, который навсегда сохраняется в репозитории. Именно поэтому нельзя «случайно потерять» сохранённые данные — Git хранит всё.
Git и GitHub — это разные вещи
Это одна из самых частых точек путаницы у новичков, поэтому разберём сразу.
Git — программа, которая работает на твоём компьютере. Она управляет историей изменений локально.
GitHub, GitLab, Bitbucket — это веб-платформы, где репозитории хранятся в интернете. Они позволяют команде работать вместе: один тестировщик отправил изменения на GitHub, другой их скачал и продолжил работу.
| Что это | Где работает | Зачем нужно | |---|---|---| | Git | На твоём компьютере | Версионирование файлов локально | | GitHub / GitLab | В интернете (сервер) | Хранение и совместная работа |
Аналогия: Git — это Microsoft Word с функцией «история версий», а GitHub — это Google Drive, где ты хранишь этот документ и делишься им с командой. Одно без другого работает, но вместе — намного мощнее.
В большинстве компаний используют GitLab (особенно если компания хочет держать код на своих серверах) или GitHub. Как тестировщик, ты будешь работать с обоими — принципиальной разницы в базовых операциях нет.
Почему тестировщику Git нужен не меньше, чем разработчику
Есть распространённое заблуждение: Git — это для программистов, а тестировщику достаточно Jira и Excel. Но посмотри на реальные сценарии из работы QA.
Сценарий 1: Откат к старой версии тестов. Продукт вернулся к предыдущей версии API. Тебе нужны тест-кейсы, которые были актуальны три недели назад. С Git — одна команда, и ты видишь файлы в том состоянии, в котором они были тогда.
Сценарий 2: Параллельная работа. Ты тестируешь фичу А, коллега — фичу Б. Оба редактируете один и тот же файл с регрессионными тестами. Без Git — конфликт и потеря чужих изменений. С Git — система сама поможет объединить правки.
Сценарий 3: Понять, кто и зачем изменил тест. Тест падает, но ты не понимаешь почему. С Git ты смотришь историю файла и видишь: три дня назад Иван изменил шаг 4 и написал в комментарии «обновил под новый дизайн формы». Вот твоя зацепка.
Сценарий 4: Работа с автотестами вместе с разработчиками. Автотесты живут в том же репозитории, что и код продукта. Чтобы добавить новый тест или исправить упавший — нужно уметь работать с Git так же, как разработчик.
По данным learnqa.ru, около 60% тестировщиков работают с Git каждый день, а 90% компаний используют Git как основную систему контроля версий. Это уже не «приятный бонус» в резюме — это базовый навык.
Распределённость: почему это важно для тебя
Git называют распределённой системой контроля версий. Это значит, что у каждого члена команды на компьютере хранится полная копия репозитория со всей историей. Не просто последняя версия файлов, а вся история изменений с самого начала проекта.
Что это даёт тебе на практике? Ты можешь работать офлайн — в самолёте, на даче, при проблемах с интернетом. Все операции с историей, создание коммитов, просмотр изменений — всё работает локально. Только когда нужно поделиться изменениями с командой, потребуется подключение.
Это также означает, что потерять работу почти невозможно. Если сервер GitHub упадёт — у каждого члена команды есть полная копия. Если ты случайно удалишь файл — Git поможет его восстановить из истории.
Именно поэтому Git стал стандартом индустрии. Как отмечает habr.com, Git используется в подавляющем большинстве IT-компаний — от стартапов до корпораций. Освоив его один раз, ты получаешь навык, который работает везде.
В следующей статье мы перейдём от теории к практике: создадим первый репозиторий, сделаем коммит и отправим изменения на GitHub. Но уже сейчас главное понять: Git — это не страшно и не только для разработчиков. Это твой инструмент для спокойной, организованной работы без страха что-то потерять.