TGViewer
QA Сhannel QA Сhannel @qa_channel · 2.68K subscribers
Post #1170 726
Негативный тест. Зелёный. Баг всё равно в проде 🐛
Знакомая история: метод должен отклонять quantity: 0. Передали ноль, получили 422, тест прошёл, галочка поставлена ✅.

А потом выясняется: сервис прекрасно создаёт заказ с нулевым количеством. Просто в тесте вместе с quantity подставлялся случайный productId, которого нет в базе. 422 прилетел из-за отсутствующего товара, а до проверки количества дело вообще не дошло 📉.

Попалась статья на Хабре про эту проблему, и оказывается она системная, а не разовая случайность 📊. Мы меняем несколько полей, ждём любой 4xx, и считаем, что валидация работает. А запрос мог остановить кто угодно: API Gateway, парсер JSON, просроченный токен, вообще другое бизнес-правило 🚧.

Разбирается там несколько практических моментов:
- почему невалидный запрос лучше собирать из валидного, а не с потолка 🧱
- почему в одном тесте стоит нарушать только одно правило 🎯
- почему 422 не равно 409, и "любой 4xx" на самом деле ничего не доказывает 🤷‍♂️
- почему одного статус-кода мало, и нужен стабильный код ошибки в теле ответа 📝
- и главное: как проверить, что после ошибки система действительно не поменяла состояние: заказ не создался, остаток не изменился, событие не улетело в очередь 🔒

Отдельно интересно про автогенерацию тестов из OpenAPI: инструмент прекрасно готовит невалидные данные, но не знает бизнес-контекст 🤖. Он не в курсе, должен ли конкретный запрос занять ключ идемпотентности или создать запись в outbox.

Почитать целиком: [статья]

А какие у вас были случаи, когда зелёный негативный тест на самом деле не проверял то, что должен был? Делитесь в комментариях 👇
  • 👍 5
  • ✍ 1
  • ❤ 1
More from @qa_channel
  1. Oct 9, 2026Стабильность 🤯
  2. Oct 8, 2026SRE-инженеры, общий сбор 21 октября Т-Банк проведет онлайн-встречу «SRE-техтолк». Приглаша…
  3. Oct 6, 2026До релиза и после это две разные игры 🎮 До релиза главная задача: быстро доставить рабочи…
  4. Oct 5, 2026Утро доброе 😏
  5. Oct 1, 2026Пирамида тестирования умерла. Просто мы 10 лет делали вид, что не замечаем 📈 Наткнулся на…
  6. Sep 25, 2026video post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →