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

Ответ

На проекте использовался комплексный подход, включающий ручное и автоматизированное тестирование разных уровней.

Применяемые виды тестирования:

  1. Функциональное тестирование:

    • Ручное: Проверка новых фич по чек-листам, исследовательское тестирование.
    • Автоматизированное: Написание автотестов на Python + pytest для API и бизнес-логики.
      
      # Пример автотеста API с использованием requests
      import requests

    def test_api_user_creation(): url = "https://api.example.com/v1/users" payload = {"name": "John", "email": "john@test.com"} headers = {"Authorization": "Bearer token123"}

    response = requests.post(url, json=payload, headers=headers)
    
    assert response.status_code == 201, f"Expected 201, got {response.status_code}"
    assert response.json()["id"] is not None
    assert response.json()["name"] == payload["name"]
  2. Регрессионное тестирование:

    • Автоматизированный прогон ключевых тест-сьютов после каждого коммита в CI/CD (Jenkins/GitLab CI).
  3. Интеграционное тестирование:

    • Проверка взаимодействия микросервисов в Docker-окружении.
    • Тестирование интеграций со сторонними платежными системами и CRM.
  4. Нагрузочное тестирование:

    • Создание сценариев в JMeter для оценки производительности критичных API-эндпоинтов (цель: удержать время отклика <500ms при 500 RPS).
  5. UI-тестирование:

    • Автоматизация с использованием Selenium WebDriver и паттерна Page Object Model (POM) для стабильности тестов.
  6. Дымовое (Smoke) и Санитарное (Sanity) тестирование:

    • Быстрая ручная или автоматическая проверка основного функционала после деплоя на staging-среду.
  7. Кросс-браузерное и кроссплатформенное тестирование:

    • Использование Selenium Grid и облачных сервисов (BrowserStack) для проверки в Chrome, Firefox, Safari на разных ОС.

Такой многоуровневый подход позволял выявлять дефекты на ранних стадиях и контролировать качество на протяжении всего цикла разработки.

Ответ 18+ 🔞

Да ты послушай, что у нас тут на проекте творилось! Это ж не просто тестирование, а целый ёперный театр с ручными паяльниками и железными роботами. Подход, блядь, комплексный — и мозги, и скрипты, всё в дело шло.

Вот чем мы, блядь, страдали:

  1. Функциональщина:

    • Руками: Сидишь, как обезьяна, новые фичи по бумажке щупаешь, а потом вообще без плана начинаешь тыкать во все дыры — исследовательское, называется. Вдруг где косяк всплывёт.
    • Автоматом: А это уже для ленивых гениев. Садишься, пишешь на Python + pytest скрипты, чтобы они за тебя API долбили. Красота, блядь!
      
      # Пример автотеста API с использованием requests
      import requests

    def test_api_user_creation(): url = "https://api.example.com/v1/users" payload = {"name": "John", "email": "john@test.com"} headers = {"Authorization": "Bearer token123"}

    response = requests.post(url, json=payload, headers=headers)
    
    assert response.status_code == 201, f"Expected 201, got {response.status_code}"
    assert response.json()["id"] is not None
    assert response.json()["name"] == payload["name"]
  2. Регресс, мать его:

    • Это святое. Залил код — жди, пока в CI/CD (Jenkins там, GitLab) не пронесётся стадо наших автотестов. Всё сломалось? Виноват тот, кто последний коммитил. Волшебно, пиздец.
  3. Интеграционное:

    • Тут уже микросервисы друг с другом, как мартышки, общаются. Запускаем всё в Docker-контейнерах и смотрим, кто кого первым посылает нахуй. И ещё эти вечные платежки и CRM — верим, но проверяем, блядь.
  4. Нагрузочное:

    • О, это ядрёна вошь! Берём JMeter и начинаем нашу бедную API-шку насиловать запросами. Цель простая: чтобы даже когда 500 пользователей в секунду приходят, она не сдохла и отвечала быстрее, чем за полсекунды. А то писец.
  5. UI-тестирование:

    • Самый ненавистный вид, потому что браузер — существо нестабильное. Но и тут придумали: Selenium WebDriver и этот ваш Page Object Model (POM), чтобы когда кнопку на сайте переебали, не переписывать все тесты, а только в одном месте поменять. Гениально, в рот меня чих-пых!
  6. Дым и здравомыслие (Smoke/Sanity):

    • Выкатили новую версию на тестовый стенд? Первым делом — быстрая проверка, не развалилось ли самое основное. Иногда руками, иногда скриптом. Главное — быстро, чтобы не упасть в обморок от результатов.
  7. Кросс-браузерная жесть:

    • Ага, а теперь представь, что твой сайт должен работать и в Хроме, и в Фаерфоксе, и в Сафари, да ещё и на разных операционках! Для этого есть Selenium Grid и облака типа BrowserStack. Запускаешь тесты и молишься, чтобы в каком-нибудь древнем Эксплорере всё не поехало.

И знаешь что? Этот многослойный бутерброд, блядь, реально работал. Косяки вылавливали ещё до того, как они до живых пользователей доползали. Контроль качества — ёбаный мастхэв, а не просто слова из учебника.