Ответ
Проект: Автоматизация регрессионного тестирования REST API для высоконагруженного сервиса доставки.
Цель: Обеспечить стабильность критичных бизнес-сценариев (создание заказа, расчет стоимости, отслеживание) при частых релизах.
Стек и реализация:
- Инструмент: Postman (коллекции) + Newman (запуск из CLI).
- Язык: JavaScript для скриптов пред- и пост-проверок.
- Интеграция: CI/CD пайплайн на GitHub Actions.
Пример сложной проверки (скрипт Postman):
// Проверка корректности расчета итоговой суммы заказа со скидкой
pm.test("Order total is calculated correctly with discount", function () {
const jsonData = pm.response.json();
const subtotal = jsonData.order.subtotal;
const discountPercent = jsonData.order.discount.percent;
const deliveryFee = jsonData.order.deliveryFee;
const expectedTotal = subtotal * (1 - discountPercent/100) + deliveryFee;
pm.expect(jsonData.order.total).to.equal(expectedTotal);
// Доп. проверка: скидка не применяется к стоимости доставки
pm.expect(jsonData.order.total).to.be.above(deliveryFee);
});
Ключевые результаты:
- Обнаружен критичный баг: При определенной последовательности запросов скидка применялась дважды. Автотест стабильно воспроизводил сценарий.
- Ускорение проверки релиза: Ручной прогон основных сценариев занимал ~2 часа. Автотесты в пайплайне — 7 минут.
- Документация: Актуальная коллекция Postman стала живой документацией по API для разработчиков.