TGViewer
QAжется, работает! QAжется, работает! @seems_to_be_working · 613 subscribers
Post #264 664
Решил поныть рассказать о том, над чем сейчас работаю и с какими сложностями столкнулся.

Моя команда взяла в разработку проект по батчингу (группировке) заказов на доставку.
Есть курьеры и есть заказы, которые нужно развезти как можно быстрее, но при этом не очень долго (в рамках 60 минут чтобы не отдать сертификат) при доступном наборе курьеров. А от меня как тестировщика этого функционала ждут, что я протестирую качество группировки до того как мы выйдем на реальную пиццерию.

Казалось бы задача не сложная, подавай на вход курьеров и заказы с адресами, получай на выходе батчи и назначай на курьеров. Но есть нюансы бизнес-ограничения, нельзя возить заказ в разные стороны (хотя я считаю это плохим ограничением), у заказов есть разные статусы, от которых тоже зависит возможность объединения. Например готовый заказ не долежн ждать не готовый. Но не всегда, иногда должен подождать. А кроме этого мы можем придержать заказ и не показывать его если нет свободных курьеров, которые его повезут. Есть прогнозное время приготовления заказов (со своими приколами), которое тоже влияет на то, можно ли применить получившуюся группу.

У курьеров тоже не все так гладко, есть курьеры которые находятся в пиццерии, а есть курьеры которые едут с заказами и вернутся в пиццерию через Х минут. А этот Х минут - это прогноз, который не всегда точен. А еще есть максимальная вместимость курьера, когда он не может взять больше 3 заказов (хотя возможно справедливее тут считать в коробках, но не суть). А еще ест разные типы курьеров, пеший, вело, авто. А еще есть настройки пиццерии, которые у каждой уникальные, например сервисное вермя, которое курьер тратит на каждую поездку - дойти от пиццерии до машины и обратно, а также сервисное время на каждый заказ - дойти от машины до клиента и обратно.

Все осложняется тем, что прямо сейчас разработаны и проверяются 3 разных инструмента для группировки заказов. Все они принимают отличающийся набор данных и в итоге по разному группируют 🤯

Изменение любого из этих параметров-ограничений на минимальное значение может кардинально изменить группировку.

И мне нужно протестировать это и написать интеграционные автотесты, которые проверяют качество группировки. Тесты то написать не проблема (на самом деле некоторый набор уже написан), но нужно написать тесты которые отражают реальное поведение, а не синтетические кейсы, которых на проде практически не встречается (такие тоже написаны) и еще желательно не раздувать сьют, чтобы он проходил за вменяемое время, если мы хотим это встроить в пайплайн.

В общем как-то так, ничего не понятно, но очень интересно.
  • 😱 10
  • 🔥 4
  • 👍 2
More from @seems_to_be_working
  1. Aug 25, 2026Динамические тесты - база Если вы думали что история с тестированием группировщика закончи…
  2. Jul 30, 2026Как я перестал читать логи упавших тестов и начал их видеть Продолжаем истории про тестиро…
  3. Apr 30, 2026Как автотестируем систему батчинга заказов ч.2 Времени на нормальную отладку тестов у нас…
  4. Apr 30, 2026Как автотестируем систему батчинга заказов ч.1 Это продолжение предыдущего поста. У нас в…
  5. Apr 3, 2026Тестирование сложных систем Я уже рассказывал, что плотно сижу на проекте «Умный трекинг»…
  6. Mar 3, 2026Хотели бы вы найти багулю в самолёте? Я если честно не очень. Вот @DanilBabich нашел, пора…
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 →