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

Ответ

На последнем проекте использовался гибкий подход Agile/Scrum с интеграцией тестирования на всех этапах жизненного цикла (Shift-Left Testing).

Ключевые практики и методологии:

  1. Гибкая разработка (Agile/Scrum):

    • Участие QA в планировании спринтов и уточнении требований.
    • Ежедневные стендапы для синхронизации команды.
    • Демонстрация готового функционала в конце спринта.
  2. Ручное тестирование:

    • Исследовательское тестирование для изучения нового функционала.
    • Составление и выполнение тест-кейсов в TestRail.
    • Тестирование пользовательского интерфейса (UI), юзабилити и кросс-браузерной совместимости.
  3. Автоматизация тестирования:

    • UI-автоматизация: Для регрессионного тестирования использовался стек Selenium WebDriver + Python (pytest).
    • Пример автотеста на вход в систему:
      
      import pytest
      from selenium import webdriver
      from selenium.webdriver.common.by import By
      from selenium.webdriver.common.keys import Keys

def test_successful_login(): driver = webdriver.Chrome() driver.get("https://app.example.com/login")

driver.find_element(By.ID, "username").send_keys("standard_user")
driver.find_element(By.ID, "password").send_keys("secret_sauce")
driver.find_element(By.ID, "login-button").click()

# Проверка успешного входа
assert driver.current_url == "https://app.example.com/inventory.html"
assert "Products" in driver.page_source

driver.quit()

    *   **API-тестирование:** Для проверки бэкенд-логики использовались **Postman** (для ручных проверок и коллекций) и **pytest** с библиотеками `requests` для автоматизации.
    *   **Нагрузочное тестирование:** Для оценки производительности использовался **JMeter** (создание сценариев, анализ отчетов).

4.  **BDD (Behavior-Driven Development):**
    *   Использовался фреймворк **Behave** для Python.
    *   Написание сценариев на языке **Gherkin** (`Given-When-Then`) для лучшего понимания требований между бизнес-аналитиками, разработчиками и тестировщиками.

**Общий процесс:** Новый функционал сначала проверялся вручную, затем для стабильных и критичных частей писались автоматизированные тесты, которые интегрировались в CI/CD пайплайн (например, Jenkins/GitLab CI) для прогона при каждом коммите.