С каким типом API у вас больше практического опыта в тестировании: SOAP или REST?

«С каким типом API у вас больше практического опыта в тестировании: SOAP или REST?» — вопрос из категории API тестирование, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В моем опыте тестирования API значительно больше работы с REST. Это связано с его доминированием в современных веб- и мобильных приложениях благодаря простоте, производительности и удобству использования JSON.

Мой практический опыт с REST API включает:

  • Тестирование эндпоинтов (GET, POST, PUT, DELETE) с помощью инструментов вроде Postman и REST Assured.
  • Валидацию JSON-ответов: проверку структуры схемы, статус-кодов, заголовков и бизнес-логики в теле ответа.
  • Написание автотестов. Например, на Java с использованием библиотеки REST Assured:
    
    import static io.restassured.RestAssured.*;

@Test public void testGetUser() { given() .baseUri("https://api.example.com") .when() .get("/users/1") .then() .statusCode(200) .body("name", equalTo("John Doe")) .body("email", containsString("@example.com")); }


*   Работу с аутентификацией (OAuth 2.0, JWT, API-ключи).

**Понимание SOAP:** Я также знаком с принципами тестирования **SOAP API**, которые часто используются в корпоративных и legacy-системах. Я понимаю работу с XML, WSDL-контрактами и такими инструментами, как SoapUI. Однако в последних проектах чаще встречался REST-подход.

**Краткое сравнение с точки зрения QA:**
*   **REST:** Быстрее в тестировании из-за простых HTTP-запросов и читаемого JSON. Легче интегрируется в пайплайны CI/CD.
*   **SOAP:** Требует более строгой проверки XML-схем (XSD) и соблюдения структуры, описанной в WSDL. Часто связан с более сложными сценариями безопасности (WS-Security).