Ответ
Я ищу возможность для профессионального роста и работы над более сложными и масштабными задачами в области QA.
В моей текущей компании я достиг значительных результатов: построил с нуля фреймворк автоматизации, который покрывает более 90% регрессионных сценариев, и интегрировал его в CI/CD. Однако сейчас я столкнулся с "потолком" в развитии: основные процессы автоматизированы, и задачи стали более рутинными — поддержка и расширение существующих тестов.
Меня привлекают проекты со сложной архитектурой, такие как:
- Распределенные системы и микросервисы, где интересно решать задачи тестирования resilience (отказоустойчивости), контрактного тестирования (Pact) и работы с очередями сообщений (Kafka).
- Углубление в нефункциональное тестирование — performance (например, с JMeter или k6) и security testing. Я начал изучать это самостоятельно, но хочу применять знания на практике.
- Внедрение современных практик, таких как shift-left testing, где QA-инженер активно участвует в проектировании архитектуры на ранних этапах, или использование методов машинного обучения для оптимизации тестовых наборов.
Например, я изучал, как можно писать тесты для отказоустойчивости в Kubernetes-окружении, и хотел бы реализовать подобное:
// Примерная логика теста на resilience (псевдокод)
@Test
public void testServiceResilienceOnPodFailure() {
// 1. Найти работающий pod основного сервиса
String podName = k8sClient.findPod("payment-service");
// 2. Имитировать его сбой
k8sClient.deletePod(podName);
// 3. Проверить, что система переключилась на другой pod и осталась доступна
await().atMost(30, SECONDS)
.until(() -> paymentServiceHealthCheck() == HEALTHY);
// 4. Проверить, что не было потерянных транзакций
assertNoFailedTransactionsDuringOutage();
}
Я ищу команду, где тестирование — это стратегическая функция, а не формальность, и где есть пространство для инноваций и решения сложных инженерных задач.