Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Должен ли автоматизатор быть больше тестировщиком или программистом?

job
Теги: #<Tag:0x00007fedc1094e10>

(Mykhailo Poliarush) #1

Мне еще раз задали такой вопрос, я хотел бы узнать ваш мнение об этом.


(Леша) #2

Видел всего лишь один такой пример - насколько я понял, то в данном случае работа автотестера оказалась для человека менее напряжной, чем работа программистом (при том, что как программист он был довольно неплохо уровня). Гораздо чаще происходят обратные движения - из автотестирования в программирование.


(Леша) #3

По моему мнению автоматизатор должен быть больше программистом.

По сути автотесты - это такой же программный продукт, как и тестируемое приложение. И недостаточно просто наклепать тестов (например, через рекординг в любой более-менее толковой туле) - необходимо планировать и строить дизайн тестов, понимать техническую платформу тестируемого приложения (чаще всего это GUI, но не только), писать тесты так, чтобы они были поддерживаемы с разумными затратами и читаемы не только автором.

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

Так что, гусь - это хорошая аналогия, только гусь дикий (он летает получше), а не домашний :)


(Mykhailo Poliarush) #4

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


(Леша) #5

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


(Alan.Shmyga) #6

Как говорил Николай Алименков на XP Days: Тестировщик это личность творческая, которая должна лишь генерировать идеи для поиска уязвимостей и узких мест. Он недолжен забивать себе голову кодом. Автоматизацией должны заниматься программисты. Это их профессия. (с) Николай Алименков

В этом я с ним согласен (хотя раньше думал обратное).

Есть такая профессия Software engineer in quality - это по большему счету программисты, но со скилами тестировщика.

Эта профессия существует в огромных компаниях, таких как Гугля или Фейсбук.

Люди занимаются разработкой и написанием тестов одновременно. Но эти люди больше программисты (с хорошим бэкграундом в тестировании).

Развиваются начиная с тестирования, потом переходят в разработку, а потом совмещают.

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

И лично я хотел бы двигаться по этому пути. Но не потому что тестирование легче, а потому что Software engineer in quality - профессия, которая вобрала в себя лучшие практики и из программирования и из тестирования.

А автоматизатор по моему мнению это скорее тестировщик с навыками программирования и дизайнера. Это как одна из последних ступеней эволюции описанной выше.

Так что наверное Гусь отдыхает :)


(d3unka) #7

Должность называется SDET (Software Development Engineer in Test). И туда по большей части берут разработчиков, и очень очень редко ребят из тестирования. Эти инженеры занимаются написанием тестовых фреймворков для разработчиков. Ходила даже такая шутка. Жаль выгонять SDE, пусть идет в SDET.

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

Нужно не забывать откуда пришла автоматизация тестирования. Какие процессы были в компаниях, которые использовали тесты на QTP, SilkTest и т.д. Это было очень не дешевое удовольствие, только купить эти продукты. А написание тестов требовало совсем новых навыков, отменных от программирования на проекте.

В современном же мире все очень сильно изменилось. Это очень связано с развитием технологий по разработке ПО. И для той же автоматизации появились новые инструменты. Которые стали максимально близкими к современному программированию.  

Новые практики решают много проблем. Но кое что они решить пока не могут. Это тот факт, что на написание и сопровождение UI тестов тратится больше всего времени. И потому даже именитые продуктовые компании нанимают людей для написание UI тестов. Чтобы увеличить тестовое покрытие и поддерживать существующие тесты. Публичный пример этому компания Mozilla

Мой вывод, роль автоматизатора нужна и будет нужна ближайшие 5-7 лет


(t.gkurnosova) #8

должен побыть тестировщиком И побыть программистом


(Mykhailo Poliarush) #9

а часто вы встречали людей, которые были программистами, а потом стали автоматизаторами?


(taleja) #10

У нас на проекте есть бывший программист, который сейчас работает тестировщиком, причем не автоматизатором. Правда он с перспективой на QA lead. 


(Mykhailo Poliarush) #11

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

тут мотивация четкая и понятная, хочу управлять людьми. как я этого достигну не имеет значения, да хоть через команду тестирования.

а вот истинная мотивация перехода программиста в тестировщика или автоматизатора - это пока что загадка 


(KaNoN) #12

Навыки автоматизатора можно сравнить с навыками гуся. Гусь может бегать, но не так быстро как страус. Гусь может плавать, но не так проворно, как пингвин. Гуси и летать умеют, но не так хорошо, как орлы. Но в то же время, страус совершенно не умеет летать и плавать. Пингвин бегает отвратительно, а уж летать совсем не судьба. А орел хорош только в небе, но ни та суше ни в воде у него шансов нет. Так и автотестер, может кодить, но не так хорошо, как разработчик. Он может создавать тесты, но не так хорошо и тщательно, так это делает тест-дизайнер. Может, при необходимости, развертывать и поддерживать инфраструктуру, но не так хорошо, как с этим справляются те же билд-инженеры.

Все эти навыки должны быть распределены примерно поровну. Надо уметь все, но в разумных пределах. Не забывайте, что например, автотестер за достаточно короткий промежуток времени может сменить достаточно большой набор используемых технологий. Сегодня автоматизируем на QTP какой-то ГУИ для медицинской системы, завтра это будет веб для чего-то мультимедийного и будет использоваться тот же селениум и джава, а через неделю это серверная часть какой-нибудь телеком системы и там все на чистой Джаве пишется. И так далее.


(Mykhailo Poliarush) #13

за гуся ты в самую точку попал согласен аж на 200%, только беда в том что к этому выводу приходят не так уж много людей, и то это в основном автоматизаторы
другим автоматизатор, кажется немного по-другому, т.е. человек, который знает все эти вещи хорошо, потому его перебрасывают с одной активности на другую


(Alan.Shmyga) #14

А я и не говорил что роль автоматизатора умирает)

Я просто сказал что автоматизатор должен быть больше тестировщиком и привел свои примеры. А больше программистом будет SDET.

Хотя мне кажется что в ближайшее время эти роли обьединятся в одну. И когда это случится - люди, которые понимали это раньше и шли к этому станут очень востребованы.

Уже сейчас можно проследить эту тенденцию...

Буквально пару лет тому назад на рынке были больше востребованы тестировщики со знанием подходов в тестировании. Автоматизаторы считались элитой тестировщиков и в открытых вакансиях я невидел много требований в сфере автоматизации.

Сегодня же навыки автоматизации у тестировщиков стали практически обязательными. Если ты неумеешь автоматизировать - единицы компаний смогут предложить сотрудничество.

Мое мнение по поводу роли автоматизатора - в обозримом будущем в сфере тестирования в 90% случаев будут востребованы именно автоматизаторы. Так что если вы хотите быть востребованы, учавствовать в интересных и сложных проектах и получать достойные деньги за это, то без автоматизации вам никак.


(Mykhailo Poliarush) #15

То что автоматизация будет 100% в будущем - это факт, но я бы не сказал, что каждому тестировщику надо будет знать автоматизацию. 

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


(galogen) #16

А почему Вы так считает? ТО. что будет в будущем не может быть фактом, а может быть весьма вероятным, но не более. Никому не дано узнать будущее. Можно говорить о тенденции.

Да тестирование автоматизируется, тестирование встраивается в механизмы компиляции, проверки кода. Но можно ли ВСЕ автоматизировать. Мне думается, имеющиеся факты как раз указывают на противоположное.

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

 

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

Тестирования "по-черному" может быть и очень эффективными и эффектным, но может быть затратным. Т.е. постановщик задачи (аналитик), тот кто активно взаимодействует с заказчиком, кто часто является носителем здравого смысла заказчика и понимает бизнес, может быть очень и очень эффективным в тестировании. Но и тут есть слабое место: повторять тестирование часто требуется раз за разом. Нужна автоматизация, но далеко не в 100%.

 

Лично я считаю, что тестировщик-автоматизатор должен обладать неплохими навыками программиста и, возможно, быть им. Просто разработка ато-тестов по сути мало чем отличается от разработки целевого продукта. А если проект долгоиграющий, то и система автотестов должна обладать отличной архитектурой, подвергатся легкой модификации, быть гибкой и адаптивной под изменения в тестируемом продукте. С кондачка тут не возьмешь. Всякие keywordtesting тут не прокатят

 

 


(SergeyS) #17

Он должен быть прежде всего автоматизатором. Да. есть такая специальность.


(Дмитрий Жарий) #18

Почему же тогда слово "автоматизатор" Word подчеркивает как неправильное?

 

Я думаю что автоматизатор должен быть в первую очередь хакером. 

И любить все хачить. 

 

В реальной разработке, хаки, хаканье и хачипури считаются плохими подходами. А вот в тетировании и автоматизации тестирования -- как раз самое то!


(t.gkurnosova) #19

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


(vovik815) #20

Автоматизатор, по-сути, программист. Чаще всего он не занимается разработкой сценариев (если это грамотно построенный процесс). Например, есть команда из 3-4 QA инженеров и 1-2 автоматизаторов. Manual QA изучают приложение с точки зрения бизнеса, готовят стратегию тестирования и тесты. Автоматизатор изучает приложение с точки зрения технологии - как к нему лучше подступиться, использую доступные средства. По-сути, он создает программный продукт (Automation Framework + Test Scripts Set), получая требования (Manual Test Senarios). Часто он не знает приложение, не рассматривает его с точки зрения пользователя, фактически он не тестирует. Он "обслуживает" команду тестирования (обеспечения качества).

Таких примеров большинство.