Ответ
Работал над проектом веб-приложения для онлайн-банкинга. Выполнял комплексное тестирование:
1. Функциональное тестирование (Frontend):
- Критические пользовательские сценарии: регистрация, двухфакторная аутентификация, переводы между счетами, оплата услуг.
- Проверка валидации полей форм, обработки граничных значений.
- Кросс-браузерное (Chrome, Firefox, Safari, Edge) и кроссплатформенное тестирование.
2. API-тестирование (Backend):
-
Тестирование REST API эндпоинтов (использовал Postman, позже — автотесты на Python +
requests/pytest).# Пример автотеста для API перевода def test_money_transfer(api_client, auth_token): transfer_data = { "fromAccount": "ACC123", "toAccount": "ACC456", "amount": 100.50 } headers = {"Authorization": f"Bearer {auth_token}"} response = api_client.post("/api/v1/transfer", json=transfer_data, headers=headers) assert response.status_code == 200 assert response.json()["status"] == "completed" # Проверка side-effect в БД assert db.get_balance("ACC123") == old_balance - 100.50 - Валидация JSON-схем ответов.
3. Интеграционное тестирование:
- Проверка взаимодействия между микросервисами (например, сервис платежей → сервис уведомлений).
- Работа с очередями сообщений (Kafka).
4. Нефункциональное тестирование:
- Проверка безопасности: Участвовал в ревью требований на предмет уязвимостей (SQL-инъекция, XSS).
- Тестирование баз данных: Написал скрипты для проверки консистентности данных после выполнения бизнес-операций.
- Нагрузочное тестирование: Участвовал в составлении сценариев в JMeter для ключевых операций (вход в систему, просмотр выписки).