1
0
mirror of https://github.com/twirl/The-API-Book.git synced 2025-01-05 10:20:22 +02:00

testing environment - begin translating

This commit is contained in:
Sergey Konstantinov 2022-07-20 09:32:44 +03:00
parent 2b079f17e3
commit 12b785a5fd
2 changed files with 3 additions and 6 deletions

View File

@ -0,0 +1,3 @@
### Testing Environment
Let us now discuss providing possibility for developers to test a full API cycle automatically. In many subject areas, that's totally not that simple — for example, in our imaginative coffee-machine API. In the real life, a full happy path of an order, beginning from searching for relevant offers and ending with giving order feedback, takes minutes, maybe tens of of minutes. To test some edge cases (let's say, a user asking for a refund because of quality issue) will require making several dozens of steps. The problem becomes even worse if we remember that directly testing money-related scenarios, both explicit and implicit (like sending SMS) might be costly. To ease working with such APIs, a testing environment is needed, in which developers might check-run their code.

View File

@ -2,13 +2,7 @@
Отдельно стоит обсудить предоставление разработчику возможности протестировать полный цикл работы API автоматически. Во многих предметных областях сделать это отнюдь не просто — в частности, и в нашем выдуманном примере с API кофе-машин. В реальной жизни полный happy path заказа, от запроса пользователем информации о доступных предложениях до выставления обратной связи по завершению занимает минуты, иногда десятки минут. Чтобы протестировать какие-то крайние случаи (например, запрос пользователем возврата денежных средств из-за проблем с качеством заказа) требует совершения нескольких десятков последовательных шагов. Ситуация осложняется также тем, что сценарии, связанные с деньгами прямо или косвенно (например, в виде отправки SMS) тестировать «в лоб» накладно. Для облегчения работы с такими API необходима полноценная тестовая среда, с помощью которой разработчики будут обкатывать свой код.
#### Полная симуляция
Очевидное решение — это предоставить специальные сборки SDK или тестовые приложения, с помощью которых разработчик сможет выполнить все необходимые действия. Последовательность шагов при этом ничем не отличается от реального цикла работы: разработчик запускает приложение, создаёт заказы и выполняет прочие действия так, как это делает реальный конечный пользователь системы.
Проблему платежей при этом обычно решают предоставлением специальных тестовых SDK же, где не требуется вводить реальных данных кредитных карт и номеров телефонов, и оплачиваемые действия каким-то образом эмулируются.
Достоинством этого подхода является максимальная приближенность к реальному миру. Недостаток всё тот же: для проверки каждого сценария необходимо вручную (или полуавтоматически с помощью фреймворков типа Selenium) выполнить множество разнообразных действий.
#### API среды тестирования