Дорожная карта SDET

«SDET (Software Development Engineer in Test) — одна из ролей (тайтлов) в команде, разработчик в должности тестировщика, то есть квалифицированный разработчик, выполняющий задачи тестировщика, отвечающий за качество продукта на более высоком уровне и более квалифицированный. Эта роль была придумана в Microsoft и сейчас присутствует во многих крупных IT-корпорациях.

Чаще всего в SDET выдвигают самых перспективных тестировщиков-автоматизаторов, или же, при нехватке тестировщиков или нежелании расширять штат, главные задачи QA выполняют разработчики.

SDET работают с разработчиками и продакт-менеджерами, стараясь обеспечить отсутствие ошибок в ПО, его функциональность и соответствие пользовательским требованиям и стандартам. SDET выявляют и устраняют проблемы до того, как их заметят потребители.

SDET должен обладать достаточно большим набором скиллов, и приспосабливаться к различным обстоятельствам, уметь преодолевать препятствия. Эффективная работа в роли SDET предполагает весьма разнообразные технические навыки, а особенно умение легко «переключаться» по обстоятельствам, подобно хорошему полузащитнику в футболе.

Поскольку эта роль предполагает высокую квалификацию (и большую нагрузку), она везде хорошо вознаграждается.

Здесь я делюсь дорожной картой SDET в соответствии с моим собственным опытом. Возможно, эта карта несовершенная и ее нужно дополнить. Итак, 

Кликабельно; но может быть плохо видно; здесь прямая ссылка на несжатую картинку

Методы тестирования

Функциональное тестирование — процесс проверки функциональности различных приложений. Черный ящик, серый ящик, белый ящик и в целом методы QA.

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

Автоматизация — без владения автоматизацией тестирования на должном уровне нельзя даже мечтать о должности SDET.

Главные инструменты автоматизации в QA:

Mocking — мокинг это репликация («воссоздание») окружения, в котором будет работать приложение. Используется для концентрации на тестируемом сейчас коде, а не на его поведении или внешних зависимостях. Популярные инструменты: WireMock, Mockito, SoapUI, Postman, MockServer и др.

Языки программирования и Middleware

Язык(и) программирования — SDET должен очень хорошо владеть языками программирования и т.н. DSA (структуры данных + алгоритмы). В первую очередь объектно-ориентированными языками, такими как Java, Python, JS.

Большой гайд по языкам программирования тестировщика

Большой гайд по структурам данных для тестировщика

Управление тестовыми данными — SDET должен владеть TMS-инструментами (Test Data Management) и технологиями управления данными. А также иметь понятие о базах данных и SQL/NoSQL. Должен знать разницу, например, между RDBMS и NoSQL и подобного уровня вопросы.

Большой гайд по базам данных для QA

Навыки отладки — отладка, или в просторечии дебаг, или просто проверка кода, иногда может быть одной из рабочих задач SDET, поскольку она позволяет «чинить» не только код разработчика с багами, но и код автотестов других тестировщиков. Умение читать логи, владение соответствующими инструментами, Kibana и т. д. Также требуется знание инструментов мониторинга и наблюдения за состоянием системы («обсервабилити»), в первую очередь это Grafana.

Контроль версий, или системы управления версиями, или Source Control, или управление исходным кодом. Системы для обслуживания кода и отслеживания изменений. Используются и для других типов файлов — документы, рисунки и т. д. Инструменты, разумеется, GitHub, BitBucket и т. Д.

API Integration & Frameworks — Знание API Integration необходимо для SDET. Платформы/фреймворки интеграции API используются для обмена данными с другими приложениями и системами. Чтобы лучше понимать всю тестируемую систему, SDET должен разбираться в API как концепции, в соответствующих фреймворках тестирования API, и тестировании пользовательских путей (user flows) между системами, чтобы избегать проблем на верхних уровнях из-за изменений на нижних.

QAOPs — TestOps — SDETOps

CI-CD Pipeline & Build Tools — Инструменты непрерывной интеграции и непрерывного развертывания. Они ускоряют и упорядочивают цикл разработка → тестирование → развертывание. Распространенными инструментами являются Jenkins и Sonar для создания CI/CD-конвейера («пайплайна») и достижения нужного уровня покрытия тестами.

Контейнеры — виртуализируют ОС и помогают развернуть приложение в любом удобном месте, например в облаке или в локальном тестовом окружении. Контейнеры помогают решить проблему чистоты окружения деплоя и упрощают автоматизацию QA. Распространенными контейнерами являются Docker (здесь быстрый гайд) и Kubernetes.

Развертывание/Релиз — Иногда задача SDET может состоять также в том, чтобы тестировать production-релиз в production-среде, если компания работает по схеме DTFR (Deploy on Single Server → Test on Deployed Server → Full Rollout on Production).

Цикл QAOps — теперь Operation (Ops) входит в задачи SDET

Софт-скиллы

★ Problem Solving (умение решать поставленные задачи и преодолевать препятствия)

★ Критическое мышление

★ Аналитическое и стратегическое мышление

★ Адаптивность и гибкость

★ Управление тестированием

★ Командная работа и сотрудничество (коллаборация)

Подробнейший гайд по софт-скиллам тестировщика

Дополнительно

★ Умение плодотворно сотрудничать с продакт-менеджером, бизнесом и разработчиками

★ Экспертность в предметной области

★ Умение делать презентации (для бизнеса, клиентов)

★ Знание Agile и его церемоний

★ Планирование тестирования

Дополнительные хард-скиллы

Облака — AWS, GCP. Azure, гибридные

Queues — Владение Kafka, RabbitMQ, Solace и др.

LB/Proxy — Nginx, F5, Kong и другие прокси-серверы и балансировщики нагрузки

AI/ML/DS

★ Gen AI (генерация изображений, текста, звука и видео) — самая хайповая тема в индустрии

★ Cognitive Computing

★ Компьютерное зрение

★ Нейронные сети

★ Глубокое обучение (DL)

★ Машинное обучение (ML)

★ Обработка естественного языка (NLP)


Упоминание скилла в списке не означает, что SDET должен владеть им в превосходной степени, или владеть всеми без исключения. Он должен разбираться в них, чтобы претендовать на роль хорошего, надежного связующего звена — между бизнесом, продуктом (приложением), разработчиками и клиентами. Примерно так:

SDET - балансировщик цифровых сущностей

SDET как бы балансирует сущности цифрового мира»

Источник


Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

🔥 Популярное

💬 Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас