Командная строка, логи, Git для ручного тестировщика

DevTools показывает, что происходит в браузере: запросы, ответы, ошибки скрипта. Но иногда этого недостаточно — сервер мог записать больше подробностей в собственный текстовый лог, а разработчик мог уже всё исправить, но в отдельной, ещё не влитой в основную версию, ветке кода. Разберём три инструмента, которые нужны ручному тестировщику для работы с этим: командную строку, логи и Git.

Чему научишься за этот урок:
— найти в текстовом логе строку с ошибкой и понять, о чём она говорит;
— различить уровни важности записи в логе (INFO, WARNING, ERROR);
— понять, что значит фраза разработчика «фикс в отдельной ветке», и что это меняет в тестировании.

Командная строка

Командная строка (терминал) — текстовый способ работать с компьютером: вместо кликов мышью вы вводите команды. Полноценная работа в терминале — тема отдельного продвинутого курса, но ручному тестировщику для повседневной работы достаточно уметь две вещи: перемещаться между папками и открывать файл, чтобы посмотреть его содержимое — например, файл с логами сервера.

Логи

Логи (log-файлы) — текстовые файлы, куда программа построчно записывает, что происходило и когда, включая ошибки. У каждой строки обычно есть время (timestamp) и уровень важности: INFO — обычное событие, ничего не сломалось; WARNING — что-то подозрительное, но программа продолжила работу; ERROR — реальная ошибка, из-за которой что-то не выполнилось.

+----------------------+---------+------------------------------------------+
| Время (timestamp)     | Уровень | Сообщение                                |
+----------------------+---------+------------------------------------------+
| 2026-03-14 12:01:03   | INFO    | Пользователь 123 открыл страницу оплаты  |
| 2026-03-14 12:01:07   | INFO    | Пользователь 123 ввёл промокод SALE10    |
| 2026-03-14 12:01:07   | ERROR   | Промокод SALE10: истёк срок действия     |
| 2026-03-14 12:01:08   | INFO    | Пользователь 123 вернулся в каталог      |
+----------------------+---------+------------------------------------------+
окно терминала с выводом лог-файла, одна строка подсвечена как ERROR среди строк INFO

Git и ветки

Git — система контроля версий кода: хранит историю всех изменений и позволяет разработчикам работать над разными вариантами кода одновременно, в отдельных «ветках» (branch). Ручному тестировщику не нужно уметь профессионально работать в Git — достаточно понимать смысл одной типичной фразы разработчика.

Если разработчик пишет «фикс уже в ветке feature/promo-fix», это значит: исправление существует в отдельной, обособленной версии кода, которая ещё не влита в основную ветку продукта. Проверять исправление нужно именно в сборке из этой ветки — если протестировать основную ветку, дефект там будет по-прежнему воспроизводиться, потому что исправление в неё ещё не попало.

main          --o--------o--------------o--   (основная версия продукта)
                 \                        /
fix/promo-code    o----o----o------------o     (отдельная копия, где чинится баг)

фикс живёт в fix/promo-code, пока его не влили обратно в main

Та же логика, что и с карточками в баг-трекере — этому посвящена отдельная глава про тестовую документацию: карточка бага и ветка с фиксом — разные вещи, но обе должны быть под рукой, чтобы понимать, что именно и где сейчас проверять.

Итог главы «Как устроено ПО, которое мы тестируем»:
— клиент и сервер, трёхуровневая архитектура, толстый и тонкий клиент;
— сеть, IP-адреса, DNS, порты;
— HTTP-методы и идемпотентность;
— коды ответа и HTTPS;
— cookies, storage, аутентификация и авторизация;
— HTML, CSS, JS, JSON и XML;
— DevTools: Elements, Console, Network, Application;
— командная строка, логи (время, уровень, сообщение) и смысл фразы «фикс в отдельной ветке» в Git.

Контрольный вопрос. Что такое лог (log-файл)?

АТекстовый файл, куда программа построчно записывает, что происходило и когда
ББаза данных с настройками пользователя
ВФайл с исходным кодом программы

Подсказка: Это про построчную запись событий во времени, а не про хранение настроек или сам код программы.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какой уровень важности записи в логе означает обычное событие, при котором ничего не сломалось?

АINFO
БWARNING
ВERROR

Подсказка: Это самый частый и самый «спокойный» из трёх уровней.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какой уровень важности означает реальную ошибку, из-за которой что-то не выполнилось?

АERROR
БINFO
ВWARNING

Подсказка: Это уровень, ради которого тестировщик в первую очередь и открывает лог.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. В логе у каждой строки есть отметка о том, когда произошло событие. Как называется этот элемент строки — одним английским словом, как в уроке?

Подсказка: Это слово уже встречалось в уроке рядом с примером строк лога.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Дан фрагмент лога:
2026-03-14 12:01:03 INFO Пользователь 123 открыл страницу оплаты
2026-03-14 12:01:07 INFO Пользователь 123 ввёл промокод SALE10
2026-03-14 12:01:07 ERROR Промокод SALE10: истёк срок действия
2026-03-14 12:01:08 INFO Пользователь 123 вернулся в каталог курсов

Какая по счёту строка (считая сверху вниз, начиная с 1) содержит уровень ERROR? Ответь одним числом.

Подсказка: Нужна строка с уровнем ERROR — посчитай, какая она по порядку сверху.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какой уровень важности означает «что-то подозрительное, но программа продолжила работу», без явной ошибки?

АWARNING
БINFO
ВERROR

Подсказка: Это уровень строже, чем обычное событие, но мягче настоящей ошибки.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Что нужно сделать с отдельной веткой разработчика, чтобы исправление появилось и в main тоже (см. ситуацию выше)? Ответь одним словом — глаголом.

Разработчик написал в комментарии к багу: «Уже поправил, фикс есть в отдельной ветке, но её изменения пока не попали в основную ветку main». Тестировщик, не разобравшись, разворачивает тестовую сборку из ветки main и не видит исправления.

Подсказка: Это то самое действие, которым в Git завершают работу над отдельной веткой, соединяя её изменения с основной.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какие из утверждений про Git верны (выбери все подходящие)?

Выберите все верные варианты.

АGit хранит историю изменений кода
БВетка (branch) — это отдельный, обособленный вариант кода
ВРучному тестировщику обязательно нужно уметь профессионально работать в Git
ГФикс в отдельной ветке автоматически считается частью основной ветки

Подсказка: Сверь каждое утверждение по отдельности с текстом урока — какие из них там прямо подтверждаются.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Дан фрагмент лога:
2026-04-02 09:14:01 INFO Пользователь 77 открыл каталог курсов
2026-04-02 09:14:05 WARNING Медленный ответ базы данных (900 мс)
2026-04-02 09:14:12 ERROR Не удалось записать пользователя 77 на курс 12: нет свободных мест
2026-04-02 09:14:13 INFO Пользователь 77 увидел сообщение об ошибке

Судя по строке ERROR, сколько свободных мест оставалось на курсе 12 в момент этой ошибки? Ответь одним числом.

Подсказка: Строка ERROR объясняет причину отказа — переведи эту причину в число мест.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Дан тот же фрагмент лога:
2026-04-02 09:14:01 INFO Пользователь 77 открыл каталог курсов
2026-04-02 09:14:05 WARNING Медленный ответ базы данных (900 мс)
2026-04-02 09:14:12 ERROR Не удалось записать пользователя 77 на курс 12: нет свободных мест
2026-04-02 09:14:13 INFO Пользователь 77 увидел сообщение об ошибке

Опиши в 2-3 предложениях: какую строку ты укажешь в баг-репорте как главное доказательство, и стоит ли также упомянуть строку WARNING — почему да или почему нет.

Критерий приёмки: названа строка ERROR как основное доказательство (с указанием времени и/или содержания сообщения); дан обоснованный ответ про WARNING — либо упомянуть стоит, потому что она случилась всего за несколько секунд до ERROR и может быть связанной причиной (медленный ответ базы), либо явно объяснено, почему её можно не включать. Ответ без обоснования не засчитывается.

Подсказка: Строка WARNING случилась всего за несколько секунд до ERROR — подумай, может ли это быть не совпадением.

✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.

Онлайн-проверка ответа появится позже

Задание. Тестировщик нашёл в логе строку ERROR о том, что не удалось записать на курс из-за отсутствия мест, хотя по данным каталога места должны были быть. Разработчик через день пишет в баге: «Поправил гонку (race condition) при одновременной записи, фикс в ветке bugfix/seats-race». Тестировщик проверяет исправление, разворачивая сборку из основной ветки продукта, и дефект по-прежнему воспроизводится. Как одним словом охарактеризовать этот результат проверки, если учесть, в какой ветке реально лежит фикс? Ответь одним словом.

Подсказка: Вспомни, что означает фраза «фикс в отдельной ветке» с точки зрения того, где физически находится исправление, а где его пока нет.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Что дальше

Эта глава дала техническую базу: из чего состоит продукт, как он общается по сети и где искать доказательства дефектов — в браузере через DevTools и глубже, в логах и коде. Дальше курс переходит к тому, откуда вообще берутся требования к продукту и как их анализировать до начала тестирования — в главе «Требования и тест-анализ», начиная с её первого урока про форматы требований.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева