У SDET — сердце разработчика

в 12:58, , рубрики: qa, qa automation, SDET, виды тестирования, теория тестирования, Тестирование веб-сервисов
У SDET — сердце разработчика - 1

Я Software Engineer in Test (SET). Многие не совсем понимают, что это значит. Разработчики часто называют меня «тестировщиком» или «QA», а бывший директор однажды подумал, что я занимаюсь DevOps. Хотя моя работа и охватывает данные области, они не являются моим основным направлением занятости. Давайте я постараюсь прояснить, что значит быть SET. 

Кто такой Software Engineer in Test?

Software Engineer in Test (ака Software Development Engineer in Test, SDET) — это разработчик, который занимается разработкой софта для тестирования: инструменты, фреймворки, автоматизированные тесты. SET-ы главным образом фокусируются на автоматизации, чтобы запускать тесты быстро и с возможностью повторов. Автоматизированные тесты это тоже программный продукт: точно так же, как фронтенд-разработчики программируют веб-страницы, а бэкенд-разработчики пишут код для микросервисов, SET-ы пишут автоматизированные тесты, для чего применяются те же практики и навыки написания кода. Я часто говорю, что у Software Engineer in Test сердце разработчика.

Так что, они занимаются просто написанием скриптов для тестирования?

Нет. Никогда не говорите подобного SET. Автоматизация тестирования включает гораздо больше, чем просто «написание скриптов для тестирования». Серьезные решения касательно тестирования требуют серьезной разработки и усилий. Высокоуровневая автоматизация тест-кейсов это обычно только небольшая часть всего. SET-ы ответственны за:

  • Взаимодействие с разработчиками и владельцами продукта:

    — участие в планировании и реализации
    — ревью продуктового кода
    — формулировка тестовых сценариев.

  • Разработка фреймворков автоматизации тестирования.

  • Автоматизация тестовых сценариев с использованием фреймворков.

  • Использование шаблонов проектирования, где это возможно.

  • Настройка инфраструктуры для запуска тестов:

    — Запуск тестов на CI/CD.
    — Запуск параллельных тестов. 
    — Запуск тестов с подходящими тестовыми данными.

  • Настройка дашбордов для предоставления отчетности по результатам тестов в режиме реального времени.

  • Обучение других лучшим практикам тестирования и обеспечения качества.

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

Говоря о том, что тестирование это «всего лишь написание скриптов», мы умаляем роль SET и недооцениваем объем работ.

Как появилась эта роль?

Роли «тестировщик» и QA существовали десятилетиями, но роль SET впервые была обозначена в 2000-х, когда стала необходимой и возможной крупномасштабная автоматизация тестирования. Как указано в Википедии, название роли “Software Developer Engineer in Test” (SDET) ввел Microsoft  в 2005, и другие IT-компании, например Amazon and Apple быстро подхватили этот термин. Google же использовал для этой же роли термин Software Engineer in Test. Лично я предпочитаю говорить SET просто потому, что оно более лаконичное.

Как эта роль отличается от QA и роли тестировщика? 

По моему мнению, роль SET заметно отличается от традиционной роли QA или тестировщика. Тестировщики исторически фокусируются на ручном тестировании и поэтому им не требуются сильные навыки программирования. Их сильными сторонами всегда были знание предметной области, интуиция, нестандартное мышление, навыки планирования тестирования и настройки системы тестирования. И это все безусловно важные, незаменимые навыки. В это время SET-ы живут одновременно в мире как тестирования, так и разработки. Они используют навыки разработчика, чтобы поставить программные решения для проблем тестирования. Для роли SET гораздо более важна автоматизация. В наши дни большинство вакансий, связанных с тестированием, предполагают роль SET; ручные тестовые роли в значительной степени устарели. Тем не менее, потребность в ручном тестировании будет всегда, потому что есть такие проблемы, которые самому человеку обнаружить гораздо легче, чем с помощью скрипта (или интеллектуального агента).

Лично я избегаю использования названий QA и «тестировщик» в отношении себя, поскольку они не в полной мере описывают всё то, чем я занимаюсь. Я также избегаю названия «инженер по автоматизации», поскольку, опять же, оно не включает в себя все задачи, с которыми я имею дело. Я занимаюсь тестированием программного обеспечения как разработчик и поставляю решения для автоматизации с нуля. Я горжусь тем, что являюсь разработчиком, специализирующимся на тестировании.


Всех желающих приглашаем на открытое занятие «Теория тестирования. Виды тестирования». На этом уроке мы поговорим о различных видах тестирования. Научимся отличать черные коробки от белых, регрессионное тестирование от дымового. Регистрация здесь.

Автор:
rikki_tikki

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js