SDET, также известный как инженер-разработчик программного обеспечения в тестировании, является должностью в области тестирования программного обеспечения и обеспечения качества. Первоначально этот термин использовался Microsoft, а затем Google с целью замены рутинных и повторяющихся задач ручного тестирования автоматизацией.
С годами все больше и больше компаний нанимают SDET, поскольку они играют ключевую роль в Agile и DevOps. Однако это сложная роль.
Технологии меняются очень быстро, и тестировщикам нужно многому научиться, чтобы оставаться впереди всех.
В моем предыдущем посте Тестирование в мире DevOps , Я объяснил, как роль тестировщика изменилась за последнее десятилетие, что привело к нехватке тестовые единороги .
В этом посте рассказывается о роли SDET и о том, почему SDET единорога так сложно найти.
SDET - это тестер технического программного обеспечения, специализирующийся на разработке сценариев автоматического тестирования.
Как правило, они являются частью гибкой команды и работают вместе с разработчиками, чтобы помочь автоматизировать критерии приемлемости в пользовательских историях.
Помимо участия в типичных мероприятиях по обеспечению качества, они могут писать все, что угодно, от автоматических интеграционных тестов, тестов API и / или тестов автоматизации пользовательского интерфейса.
Кроме того, SDET могут помочь в обзоре модульных тестов, написанных разработчиками.
В каждом продукте есть некоторые основные функции, которые должны работать в каждой версии продукта. Это означает, что в каждом спринте необходимо тестировать новые функции плюс существующие.
Гибкая разработка идет быстрыми темпами. В случае коротких спринтов, которые обычно длятся две недели, у тестировщиков нет времени проверять все вручную.
Когда тестировщики в команде не обладают необходимыми навыками для написания автоматических проверок, все тестирование приходится проводить вручную.
В конечном итоге тестирование становится узким местом при разработке и выпуске программного обеспечения, поскольку на его выполнение уходит все больше времени.
Таким образом, наем и размещение SDET в гибкой команде может облегчить бремя за счет автоматизации большей части ручных тестов и задач.
Итак, почему так сложно найти и нанять хорошие SDET?
На протяжении многих лет большинство так называемых SDET, с которыми я беседовал, либо не обладают необходимыми техническими навыками, либо не понимают принципов обеспечения качества и тестирования.
Они не до конца понимают основную причину роли SDET в команде. Большинство из них полагают, что все, что от них требуется, - это автоматизировать критерии приемки. Давайте проясним, SDET НЕ является инженером по автоматизации .
Ключевым моментом является правильный баланс способностей к тестированию и технических навыков.
Отличный SDET - тестировщик программного обеспечения по профессии, увлеченный качеством программного обеспечения. и в то же время технически подкован и обладает правильным сочетанием технических навыков.
Во время собеседования для SDET я всегда ищу Образ мышления QA а также Технические навыки.
Как выглядит профиль отличного SDET? Какие навыки должны иметь SDET?
Некоторые из нас слышали о разработчиках полного стека, но можем ли мы тестировщики полного стека ?
На мой взгляд, SDET должен иметь по меньшей мере следующие навыки и атрибуты:
Как можно видеть, диапазон навыков, ожидаемых от SDET, довольно широк.
Мой совет тестировщикам, которые хотят стать SDET и оставаться актуальными в новую эпоху QA:
Убедитесь, что вы стремитесь получить все вышеперечисленные навыки в профиле SDET_, но как минимум: _
Прежде всего, нужно знать основы тестирования программного обеспечения.
Слишком хорошо быть на одном уровне с разработчиками и уметь писать красивый код. Но если у вас отсутствует образ мышления QA, если вы не можете придумать достаточно сценариев для всестороннего тестирования пользовательских историй и функций, вы не добавите никакой ценности. Вы могли бы работать усерднее и стать разработчиком.
Большинство современных веб-приложений взаимодействуют с API.
Очень важно знать и понимать архитектуру HTTP и то, как работает Интернет. Если вы не можете отличить запрос POST от запроса GET или не знаете, как разобрать JSON , тогда как можно эффективно протестировать API?
Потратьте время на изучение инструментов тестирования API, таких как Каратэ .
Вы не можете называть себя SDET, если все, что вы хотите делать, это автоматизировать тесты, и все, что вы знаете, это Java, Selenium и Cucumber!