Новое: TestSprite CLI уже доступен!

Не каждый красный тест — это реальный баг.

Тест, который один раз падает, а при повторном запуске проходит, не доказывает, что функция работает, — но не доказывает и обратного. testsprite test flaky <testId> даёт этому сбою оценку стабильности вместо пожатия плечами.

Встроено в тот же CLI, которым вы уже пользуетесь

GitHub ActionsGitLab CIЛокальные запускиЦиклы агента
Перезапускать нестабильный тест, пока он не пройдёт, ничего не исправляет — это лишь прячет шум, пока он не станет дорогим. Оценивайте его, а не просто повторяйте попытку.

Фиксируйте то, что сломали

testsprite test flaky <testId> запускает проверку стабильности и сообщает, является ли сбой скорее реальной регрессией или хрупкостью теста — прежде чем кто-то потратит время на его разбор.

Понимайте, чего вы хотите

Оценка нестабильности работает на любом тесте — сгенерированном или загруженном через test code put, — так что она применима и к вашему существующему набору тестов, а не только к новым.

Проверяйте то, что у вас есть

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

Подсказывайте, что нужно исправить

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

$ testsprite test flaky TC_checkout_promo
  Running stability pass...
  4/5 runs passed — stability score: 0.80
  → likely flaky, not a regression

$ testsprite test flaky TC_orders_create
  Running stability pass...
  1/5 runs passed — stability score: 0.20
  → likely a real regression

Не тратьте попытку исправления не на ту проблему

Агент — или человек, — который считает каждый красный тест настоящим багом, впустую тратит циклы на погоню за шумом. Оценка стабильности — это разница между «стоит разобраться» и «можно проигнорировать».

Создано для наборов тестов, ставших слишком шумными

Работает с любым тестом

Сгенерированным, загруженным — неважно, test flaky работает с любым ID теста в вашем проекте.

Возвращает результат в цикл

Агент, проверяющий результаты тестов, может вызвать test flaky, прежде чем решить, нужно ли сбою исправление или просто повторный запуск.

Бесплатная версия для сообщества

Предлагаем бесплатную версию для сообщества, делая наш продукт доступным для всех.

Хорошо сочетается со сравнением прогонов

Используйте testsprite test diff вместе с оценкой стабильности, чтобы увидеть, что именно изменилось между удачными прогонами и неудачным.

Нам доверяют компании по всему миру

"TestSprite предлагает богатую генерацию тест-кейсов, четкую структуру и легко читаемый код. Он также поддерживает простую онлайн-отладку с возможностью быстрого расширения путем генерации новых тест-кейсов."

"Автоматизация TestSprite помогает нам сократить огромное количество ручной работы. Разработчики могут легко обнаруживать и устранять ошибки на более ранних этапах процесса разработки."

Часто задаваемые вопросы

Что именно измеряет testsprite test flaky?

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

Чем это отличается от простого повторного запуска?

Запустить один раз и взять тот результат, что выпал, — это не оценка, а подбрасывание монетки. Оценка стабильности выполняет достаточно прогонов, чтобы дать вам реальное число, на которое можно опираться.

Работает ли это с тестами, которые я написал сам, а не только со сгенерированными?

Да — оценка нестабильности работает с любым тестом в вашем проекте, включая загруженные через test code put.

Что делать с низкой оценкой стабильности?

Относитесь к ней как к реальной регрессии, которую стоит расследовать, — заберите пакет данных о сбое командой test failure get, чтобы увидеть, что произошло на самом деле.

А что насчёт высокой оценки стабильности на прогоне, который всё же один раз упал?

Это скорее хрупкость теста — тайминг, дрейф селекторов, окружение, — чем баг продукта. Стоит чинить тест, а не обязательно приложение.

Узнайте разницу, прежде чем реагировать.