Разделы портала

Онлайн-тренинги

.
Должна ли автоматизация быть уделом разработчиков?
24.01.2017 12:14

Оригинал статьи: http://www.ontestautomation.com/should-test-automation-be-left-to-developers/

Автор: Баз Дийкстра (Bas Dijkstra)

Перевод: Ольга Алифанова

Лично я не разработчик, я получал образование по информатике, знаю пару вещей о том, как пишется код, но я абсолютно, совершенно точно не разработчик. Это как знать, как готовится еда, но не быть поваром. Люди, которые встречали меня лично, возможно, помнят эту аналогию, которой я, возможно, им до смерти наскучил (простите меня!).

С другой стороны, я постоянно талдычу, что автоматизация тестирования – это разработка ПО, и должна восприниматься как таковая. Так что же, спросите вы, как так случилось, что я работаю в автоматизации тестирования, но не считаю себя разработчиком? И, что еще более важно, разве автоматизация тестирования не должна быть уделом разработчиков, если это действительно область разработки ПО? Недавние статьи и презентации, которые я видел, заставили меня об этом задуматься.

Начнем с второго, более важного вопроса: должна ли автоматизация быть уделом разработчиков?

Я бы ответил "да".

И "нет".

Автоматизация должна быть уделом разработчиков, потому что:

Писать автоматизированные тесты – это, по сути, писать код. Лично я не верю в решения, не включающие код, которые рекламируются как "кто угодно может создавать автотесты". Итак, в деле замешан код, и так как никто лучше разработчиков не знает, как этот самый код пишется, то, с моей точки зрения, лучше всего автоматизированный тест напишет разработчик.

Приведу себя как пример. Так как создание кода не вшито в мое ДНК, я пишу автотесты минимум втрое дольше, нежели среднестатистический разработчик. Я просто не справляюсь там, где у проектов высокие темпы, короткие релизные циклы и тренд на снижение количества тестировщиков по отношению к количеству разработчиков.

Что еще хуже, новые инструменты автоматизации выпускаются, такое ощущение, ежедневно. Особенно это касается миров Java и JavaScript, хотя в других экосистемах, возможно, происходит то же самое, просто эти более заметны лично мне. Какое-то время, не будучи разработчиком, я пытался быть в курсе всех этих инструментов, но это же просто невозможно! Итак, вместо того, чтобы яростно стараться быть в курсе всего нового, я сменил карьеру. Это произошло естественным образом, когда я понял, что

Автоматизация НЕ должна быть уделом разработчиков, потому что:

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

Многие разработчики, встречавшиеся мне, не мыслят как тестировщики (пока что) и держат в голове только основной пользовательский сценарий – "давай посмотрим, работает ли это", а не "а что будет, если я сделаю вот так?". При создании автотестов, так же, как и при создании спецификаций для ПО, требуется мышление тестировщика, чтобы выйти за рамки самоочевидного основного сценария. Поэтому я считаю, что нельзя рассматривать автоматизацию, как задачу, предназначенную исключительно для разработчиков.

Неплохо также, если другие люди, а не только разработчики, чувствуют ответственность за создание автотестов. Учитывая, что большинство разработчиков – очень занятые люди, им приходится регулярно выбирать между созданием тестов и созданием кода приложения. Выбор практически всегда делается в пользу кода приложения, и это имеет смысл с точки зрения дедлайна. Однако в этом куда меньше смысла с точки зрения процессов и качества. Если люди в других ролях (например, тестировщики) будут упирать на необходимость зрелых и стабильных автотестов, это непременно улучшит вероятность создания набора таких тестов и их поддержки. От чего выиграют именно те люди, которые постоянно нервничают по поводу дедлайнов.

Итак, отвечая на первый вопрос, который я задал в статье: почему я все еще работаю в автоматизации тестирования, несмотря на то, что я не разработчик? Потому что сейчас я в основном концентрируюсь на том, что помогаю людям ответить на такие вопросы автоматизации, как "зачем" автоматизировать и "что" автоматизировать. Я делаю кое-что, относящееся к разделу "как" автоматизировать, особенно для небольших клиентов, которые только начинают свой автоматизационный путь или у которых мало опытных разработчиков, но далеко не так много, как раньше. Я люблю возиться с инструментами, даже просто чтобы быть в курсе новинок и оставаться востребованным на рынке. Но я больше не занимаюсь ежедневным созданием автотестов. Что вполне меня устраивает, потому что я использую свои сильные стороны, и от этого выигрывают абсолютно все.

Я считаю, что сообществу автоматизаторов очень пригодились бы опытные люди-(не) разработчики.

Обсудить в форуме