🛠 Сервис для регресс-тестирования: как я собрал MVP и что в нём есть

Несколько вечеров фоновой мыслительной деятельности, и я осознал, каким вижу внутренний сервис для регресс-тестирования.

Он должен: – гибко настраивать тест-кейсы через WebUI; – запускать тесты через WebUI и CLI; – отдавать отчёт в HTML и JSON.

Чтобы не ждать восполнения бесплатных лимитов, поднял локальную модель. В нейминге и цифрах это выглядело так:

– DeepSeek v4.1 Flash Free (провайдер OpenCode) – разработчик-аналитик: на 100% сформировал со мной итоговое ТЗ и ~ на 70% его накодил. – MiMo-V2.6-Distill-Qwen-9B (локальная модель) – junior-разработчик. С ним пришлось повозиться, как с новеньким из другой ИТ-грядки: чтобы он осознал среду, изучил инструменты и ринулся в бой.

Важная оговорка: всё, что ниже, пока реализовано на бумаге, то есть в руководстве и ТЗ. Сейчас я как раз тестирую, всё ли действительно работает. Простой тест показал положительный результат, но простых в нашей работе не бывает. 😊 Так что это не «готовый продукт», а «карта того, что должно быть». Проверю и расскажу в следующих постах, что пришлось дорабатывать.

Что получилось в MVP: Окружения и учётки. Создаёшь окружение (адреса Web UI и API, заголовки, скриншоты), добавляешь API-учётки (токен) и GUI-учётки (логин/пароль). Имена учёток являются ключом: один кейс можно гонять на разных стендах, если имена совпадают, а секреты свои.

Тест-кейсы. Карточка с окружением по умолчанию, учётками, тегами и порядком сортировки. Шаги пяти типов: HTTP-запрос, открыть ссылку, клик, ввод, выбор из списка. Порядок задается стрелками ↑↓.

Локаторы. Семь стратегий: Test ID, роль, label, placeholder, текст, CSS, XPath. Плюс «Проверить локатор» показывает, сколько элементов найдено (желательно 1, а не 0 или >1).

Picker. Кликаешь по скриншоту страницы и получаешь кандидатов локаторов с пометкой «найдено 1».

Переменные и extractors. После шага можно вытащить значение в переменную: из JSON, заголовка, статуса, текста UI или regex.

Запуск. Помимо обычного прогона с отчетом, можно проверить кейс для быстрой отладки без истории. Также, есть возможность группового прогона по всем включённым, по отмеченным или по тегу.

Отчёт. Статусы, длительности, ошибки, запрос/ответ для HTTP, переменные и скриншоты для браузерных шагов. Секреты маскируются ***. Плюс статический HTML-отчёт в artifacts/reports//index.html.

Чего нет. Нет аутентификации пользователей и ролевой модели. Секреты в SQLite открытым текстом. Один прогон за раз. Только Chromium.

По итогу я получил MVP, который умеет то, ради чего затевался: настраивать кейсы руками, гонять их из UI и CLI, получать отчёт и не светить секретами.

А теперь вопрос к тем, кто гоняет регресс: чего здесь не хватает, чтобы регресс-тестирование было удобным и полным? Параметризации кейсов, параллельных прогонов, сравнения результатов между запусками, интеграции с CI? Чего вам лично не хватает в таких инструментах? 🤔

#разработка #ии #регресс #тестирование #пет_проект #opencode #самозванец

🛠 Сервис для регресс-тестирования: как я собрал MVP и что в нём есть
Несколько вечеров фоновой мыслительной деятельности, и я осознал, каким вижу внутренний сервис для регресс-тестирования | Сетка — социальная сеть от hh.ru