Где хранятся тесты
Что проверяют
Понимаете ли вы разницу между хранением тест-кейсов и хранением автотестов, и почему для второго место только одно.
Как отвечать
Вопрос распадается на две части.
Тест-кейсы и чек-листы живут в системе управления тестированием: TestRail, Zephyr, Xray, Qase, Allure TestOps. Что она даёт помимо хранения: связь кейса с требованием и с дефектом, история прогонов по сборкам, отчёт о покрытии, распределение работы между людьми. Небольшие команды нередко обходятся чек-листами в Confluence или таблице, и это допустимо, пока не понадобится история и метрики.
Автотесты хранятся в репозитории вместе с кодом, который они проверяют. Причина принципиальная: тест должен меняться в том же коммите, что и код. Тогда любая ветка самодостаточна, откат возвращает и тест, а конвейер сборки запускает ровно ту версию тестов, что соответствует коду. Обычно это отдельный каталог или модуль рядом с исходниками.
Исключение бывает у сквозных тестов, охватывающих несколько сервисов: их иногда выносят в отдельный репозиторий, потому что они не принадлежат ни одному из них. Цена этого решения это вопрос синхронизации версий, и её надо решать осознанно.
Что ещё относится к теме:
- тестовые данные: небольшие фикстуры в репозитории рядом с тестами, крупные наборы генерируются или разворачиваются отдельно;
- результаты прогонов: отчёты Allure и артефакты в системе сборки, а не в репозитории;
- секреты для тестов: только в хранилище секретов, никогда в коде.
Хороший ответ содержит и принцип: тесты это часть кода, а не документация рядом с ним.
Где спотыкаются
Держат автотесты в отдельном репозитории без причины и получают рассинхрон версий.
Хранят тестовые учётные данные прямо в коде.
Складывают отчёты о прогонах в репозиторий.
Не связывают тест-кейсы с требованиями, из-за чего покрытие невозможно посчитать.