From 12b785a5fd73f2ca72f42f55163da0a193c90152 Mon Sep 17 00:00:00 2001 From: Sergey Konstantinov Date: Wed, 20 Jul 2022 09:32:44 +0300 Subject: [PATCH] testing environment - begin translating --- src/en/drafts/04-Section III. The API Product/12.md | 3 +++ .../{12. Тестовая среда.md => 12.md} | 6 ------ 2 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 src/en/drafts/04-Section III. The API Product/12.md rename src/ru/drafts/04-Раздел III. API как продукт/{12. Тестовая среда.md => 12.md} (78%) diff --git a/src/en/drafts/04-Section III. The API Product/12.md b/src/en/drafts/04-Section III. The API Product/12.md new file mode 100644 index 0000000..021526d --- /dev/null +++ b/src/en/drafts/04-Section III. The API Product/12.md @@ -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. \ No newline at end of file diff --git a/src/ru/drafts/04-Раздел III. API как продукт/12. Тестовая среда.md b/src/ru/drafts/04-Раздел III. API как продукт/12.md similarity index 78% rename from src/ru/drafts/04-Раздел III. API как продукт/12. Тестовая среда.md rename to src/ru/drafts/04-Раздел III. API как продукт/12.md index e201c66..826ed0b 100644 --- a/src/ru/drafts/04-Раздел III. API как продукт/12. Тестовая среда.md +++ b/src/ru/drafts/04-Раздел III. API как продукт/12.md @@ -2,13 +2,7 @@ Отдельно стоит обсудить предоставление разработчику возможности протестировать полный цикл работы API автоматически. Во многих предметных областях сделать это отнюдь не просто — в частности, и в нашем выдуманном примере с API кофе-машин. В реальной жизни полный happy path заказа, от запроса пользователем информации о доступных предложениях до выставления обратной связи по завершению занимает минуты, иногда десятки минут. Чтобы протестировать какие-то крайние случаи (например, запрос пользователем возврата денежных средств из-за проблем с качеством заказа) требует совершения нескольких десятков последовательных шагов. Ситуация осложняется также тем, что сценарии, связанные с деньгами прямо или косвенно (например, в виде отправки SMS) тестировать «в лоб» накладно. Для облегчения работы с такими API необходима полноценная тестовая среда, с помощью которой разработчики будут обкатывать свой код. -#### Полная симуляция -Очевидное решение — это предоставить специальные сборки SDK или тестовые приложения, с помощью которых разработчик сможет выполнить все необходимые действия. Последовательность шагов при этом ничем не отличается от реального цикла работы: разработчик запускает приложение, создаёт заказы и выполняет прочие действия так, как это делает реальный конечный пользователь системы. - -Проблему платежей при этом обычно решают предоставлением специальных тестовых SDK же, где не требуется вводить реальных данных кредитных карт и номеров телефонов, и оплачиваемые действия каким-то образом эмулируются. - -Достоинством этого подхода является максимальная приближенность к реальному миру. Недостаток всё тот же: для проверки каждого сценария необходимо вручную (или полуавтоматически с помощью фреймворков типа Selenium) выполнить множество разнообразных действий. #### API среды тестирования