SDET Unicorns - Почему так сложно нанять SDET?

SDET, также известный как инженер-разработчик программного обеспечения в тестировании, является должностью в области тестирования программного обеспечения и обеспечения качества. Первоначально этот термин использовался Microsoft, а затем Google с целью замены рутинных и повторяющихся задач ручного тестирования автоматизацией.

С годами все больше и больше компаний нанимают SDET, поскольку они играют ключевую роль в Agile и DevOps. Однако это сложная роль.

Технологии меняются очень быстро, и тестировщикам нужно многому научиться, чтобы оставаться впереди всех.


В моем предыдущем посте Тестирование в мире DevOps , Я объяснил, как роль тестировщика изменилась за последнее десятилетие, что привело к нехватке тестовые единороги .

В этом посте рассказывается о роли SDET и о том, почему SDET единорога так сложно найти.




Что делает SDET?

SDET - это тестер технического программного обеспечения, специализирующийся на разработке сценариев автоматического тестирования.

Как правило, они являются частью гибкой команды и работают вместе с разработчиками, чтобы помочь автоматизировать критерии приемлемости в пользовательских историях.

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

Кроме того, SDET могут помочь в обзоре модульных тестов, написанных разработчиками.




Зачем нужны SDET?

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

Гибкая разработка идет быстрыми темпами. В случае коротких спринтов, которые обычно длятся две недели, у тестировщиков нет времени проверять все вручную.

Когда тестировщики в команде не обладают необходимыми навыками для написания автоматических проверок, все тестирование приходится проводить вручную.

В конечном итоге тестирование становится узким местом при разработке и выпуске программного обеспечения, поскольку на его выполнение уходит все больше времени.


Таким образом, наем и размещение SDET в гибкой команде может облегчить бремя за счет автоматизации большей части ручных тестов и задач.



Собеседование и найм SDET

Итак, почему так сложно найти и нанять хорошие SDET?

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

Они не до конца понимают основную причину роли SDET в команде. Большинство из них полагают, что все, что от них требуется, - это автоматизировать критерии приемки. Давайте проясним, SDET НЕ является инженером по автоматизации .


Ключевым моментом является правильный баланс способностей к тестированию и технических навыков.

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

Во время собеседования для SDET я всегда ищу Образ мышления QA а также Технические навыки.



Профиль SDET - тестеры полного стека

Как выглядит профиль отличного SDET? Какие навыки должны иметь SDET?


Некоторые из нас слышали о разработчиках полного стека, но можем ли мы тестировщики полного стека ?

На мой взгляд, SDET должен иметь по меньшей мере следующие навыки и атрибуты:

  • Имеет образ мышления тестировщика, любопытен и может придумывать интересные сценарии тестирования.
  • Хорошо разбирается в принципах и методологиях тестирования.
  • Знает, что все испытания носят исследовательский характер, и понимает разницу между тестирование и проверка.
  • Может применять соответствующие методы тестирования для данного сценария
  • знает разницу между тестированием и QA
  • Может кодировать в по меньшей мере один язык сценариев или программирования (наиболее популярными являются Java и Javascript)
  • Понимает HTTP и как создаются современные веб-приложения
  • Может писать UI также как и Автоматические тесты API. Одно или другое недостаточно!
  • Знает Git, запросы на извлечение, ветвление , так далее…
  • Является гибким по своей природе и знает, как тестирование вписывается в гибкую модель.
  • Может писать сценарии тестирования производительности ( Гатлинг и / или JMeter )
  • Думает о безопасности и знает OWASP
  • Понимает CI / CD и конвейеры сборки
  • Знает услуги, предлагаемые поставщиками облачных платформ, такими как AWS, Azure и Google Cloud.


Стать отличным SDET

Как можно видеть, диапазон навыков, ожидаемых от SDET, довольно широк.

Мой совет тестировщикам, которые хотят стать SDET и оставаться актуальными в новую эпоху QA:

Убедитесь, что вы стремитесь получить все вышеперечисленные навыки в профиле SDET_, но как минимум: _

Знать и понимать основы тестирования

Прежде всего, нужно знать основы тестирования программного обеспечения.

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

Знайте и понимайте HTTP

Большинство современных веб-приложений взаимодействуют с API.

Очень важно знать и понимать архитектуру HTTP и то, как работает Интернет. Если вы не можете отличить запрос POST от запроса GET или не знаете, как разобрать JSON , тогда как можно эффективно протестировать API?

Потратьте время на изучение инструментов тестирования API, таких как Каратэ .

Вы не можете называть себя SDET, если все, что вы хотите делать, это автоматизировать тесты, и все, что вы знаете, это Java, Selenium и Cucumber!