Замена кассового ПО без единого расхождения · Codelabs
RU|EN|KK
← Все кейсы
CASE 11Протокольные эмуляторы и приёмка

Замена кассового ПО без единого расхождения

Кассовое ПО меняли на новое, и нужно было доказать, что новая система считает так же, как старая. Мы написали эмулятор для каждого игрового клиента — двенадцать штук, — прогнали через них тысячи ставок и построчно сверили отчёты обеих систем. Любое расхождение роняло сборку, поэтому «кажется, всё сходится» превратилось в проверяемый факт.

QAКассыАвтотесты

Как это устроено

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

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

Отчёты старой и новой систем сверяются построчно. Любое расхождение даёт ненулевой код выхода в CI, то есть красную сборку. Формулировка «кажется, всё сходится» в приёмку не проходит.

В цифрах

  • ·12 эмуляторов сетевых протоколов
  • ·тысячи ставок за прогон
  • ·сверка каждого выигрыша с таблицами коэффициентов
  • ·расхождение — красная сборка в CI

Опишите задачу — ответим, что из неё у нас уже построено