Ответ
На последнем проекте использовался гибкий подход Agile/Scrum с интеграцией тестирования на всех этапах жизненного цикла (Shift-Left Testing).
Ключевые практики и методологии:
-
Гибкая разработка (Agile/Scrum):
- Участие QA в планировании спринтов и уточнении требований.
- Ежедневные стендапы для синхронизации команды.
- Демонстрация готового функционала в конце спринта.
-
Ручное тестирование:
- Исследовательское тестирование для изучения нового функционала.
- Составление и выполнение тест-кейсов в TestRail.
- Тестирование пользовательского интерфейса (UI), юзабилити и кросс-браузерной совместимости.
-
Автоматизация тестирования:
- 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) для прогона при каждом коммите.