Как проверяли HTTP статус-коды ответов на проекте?

«Как проверяли HTTP статус-коды ответов на проекте?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для проверки HTTP статус-кодов использовался комплекс инструментов в зависимости от контекста:

  1. Инструменты тестирования API:

    • Postman/SoapUI: Написание тестов с утверждениями (assertions) на статус-код.
      // Пример теста в Postman
      pm.test("Status code is 200", function () {
      pm.response.to.have.status(200);
      });
  2. Автоматизированные тесты на коде:

    # Python с библиотекой requests
    response = requests.get(api_url)
    assert response.status_code == 200
    // Java с RestAssured
    given().when().get("/api/users").then().statusCode(200);
  3. Командная строка (для быстрой проверки):

    curl -s -o /dev/null -w "%{http_code}" https://example.com
  4. Анализ логов веб-сервера: Файлы access.log (Nginx/Apache) содержат историю всех запросов с соответствующими кодами ответов (например, GET /page 200).

  5. Инструменты разработчика в браузере (DevTools): Вкладка Network показывает статус-код для каждого запроса, что полезно при тестировании фронтенда.

Особое внимание уделялось проверке ожидаемых ошибок (например, 404 для несуществующей страницы или 401 для неавторизованного доступа).