Похожие презентации:
delivery_autotests_presentation
1.
QA AutomationСтабилизация и расширение
автотестов доставки
Переход от хрупких time.sleep-сценариев к устойчивой системе с
ожиданием реальных состояний, атомарной подчисткой,
поддержкой mms/mmi и MSB-финансовыми проверками.
state-based waits
Delivery QA Automation
cleanup
mms / mmi
✓
устойчивее
↻
атомарнее
₽
финансы
MSB
MSB refunds
1
2.
ЧТО ИЗМЕНИЛИОт time.sleep к ожиданию состояния
Было
Теперь
Ожидание “наугад”
Ожидание реального состояния
• жёсткие time.sleep
• нужный статус заказа
• флаки из-за таймингов
• применение настройки
• лишнее ожидание, если система ответила
быстрее
• изменение баланса и автоотмена
• финальный статус перед удалением смены
меньше флаков • быстрее прогоны
Delivery QA Automation
2
3.
НАДЁЖНОСТЬАтомарность и безопасная подчистка
Если тест падает на середине сценария, он всё равно пытается вернуть стенд в
безопасное состояние.
1
2
3
4
5
Отменить
активный заказ
Довести возврат
до финала
Удалить
смену
Удалить временные
настройки
Убрать
блокировки
Результат: один упавший тест меньше влияет на следующие прогоны и не оставляет “зависшие” заказы или смены.
Delivery QA Automation
3
4.
MMS / MMIОдин набор тестов для двух стендов
mms
mmi
backend / frontend URL
курьеры, мерчанты
area id, place id
настройки схем
backend / frontend URL
курьеры, мерчанты
area id, place id
настройки схем
pytest --env mmi
Delivery QA Automation
pytest --env mms
4
5.
РАСШИРЕНИЕ ПОКРЫТИЯMSB: новая ветка сценариев
MSB
merchant token
MSB
admin token
Курьерский
flow
MSB
courier token
Создание
MSB-заказа
Отмена /
доставка
Смена
курьера
Баланс
мерчанта
MSB-проверки проходят обычный курьерский flow, но дополнительно проверяют деньги
и возвраты.
Delivery QA Automation
5
6.
БАЛАНС МЕРЧАНТАВозвраты MSB: покрытая финансовая логика
Сценарий
Возврат
Успешная доставка
0%
Отмена в 101
100%
Отмена в 104 / 201
75%
Отмена в 203
50%
Отмена в 204 / 205
до создания заказа
после списания delivery_cost
0% + return flow
Автоотмена поиска курьера
100%
Клиент не отвечает
0%
Delivery QA Automation
Проверяем баланс в 3
точках
после доставки или отмены
Расчёты выполняются через Decimal, чтобы избежать
ошибок округления в финансовых проверках.
6
7.
ПОД КАПОТОМТехнически важные изменения
✓
Ожидания по
статусам
вместо sleep
✓
Cleanup для
заказов,
смен и настроек
✓
Параметр --env
для окружений
✓
Decimal для
баланса MSB
✓
Allure
descriptions
и steps
✓
Маркер msb
для запуска
✓
MSB fixtures
и helpers
Фокус: стабильность, повторяемость,
диагностируемость.
Delivery QA Automation
7
8.
ЭФФЕКТЧто это дало
1
Меньше нестабильных
падений
из-за таймингов
2
Меньше ручной чистки
стенда после падений
3
Тесты безопаснее
запускать пачками
4
Один код работает
на mms и mmi
5
MSB покрывает не только
статусы, но и деньги
6
Проще анализировать
падения в Allure
Главный результат — автотесты стали более устойчивой системой, а не набором
зависимых от времени сценариев.
Delivery QA Automation
8
9.
КОМАНДЫКак запускать и короткий итог
pytest --env mmi
pytest --env mms
pytest --env mmi -m msb
pytest --env mmi tests/test_msb_orders.py::test_create_msb_order_to_delivered
Итог: автотесты доставки ждут реальные состояния, чистят за собой данные, запускаются на двух
стендах и покрывают финансовые возвраты MSB.
Delivery QA Automation
9