Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Выбор языка для автоматизатора - питон или руби?


(sleep-walker) #1

 

Всем доброго времени суток.
 
Передо мной сейчас стоит выбор - какой язык (и соответственно всю линейку инструментов) учить для автоматизатора лучше - python или ruby? Java просьба не предлагать. :) Начал учиться и работать на ней, впечатления ниже среднего. Причина - раньше работал на руби, оооочень привык к динамической типизации и разным другим плюшкам.
 
Почему не могу оторваться от руби:
 
1. Работал на нём программистом порядка 3 лет.
2. ИМХО очень красивый язык - простой в написании, но за этой простотой скрывается огромная мощь.
 
Почему решил сменить и смотрю в сторону python:
 
1. Найти работу тестировщиком на ruby весьма тяжело. Программистом ещё можно, но чисто программировать я не хочу, а вот автотестировать - я не знаю ниодного проекта (в своём городе, по крайней мере).
2. После гугления создаётся впечатление, что на python в целом вакансий на автотестирование, да и вообще проектов больше - соответственно больше работы. + тут есть вакансии даже не только на веб-тестирование, но и на спецефичное тестирование линейки open stack технологий.
3. Много тренингов в сети для автотестировщиков направлены как раз на python (тренинг на этом сайте, на софтваре-тестинг.ру видел рекламу)
4. Во многих обсуждениях в сети python упоминается рядом со scala как следующая мейнстрим технология - соответственно в будущем больше работы.
 
У меня такие вопросы:
 
1. Имеет ли смысл всвете всего вышесказанного переходить и учит python?
2. Почему python может выбираться как язык для обучения на всевозможных курсах?
 
+ буду благодарен за любые мысли, дополнения, комментарии и тд :)
 
Заранее спасибо.

Выбор языка написания тестов (нет акцента на чем написано приложение)
(KaNoN) #2

А в чем проблема? Для того, чтобы преуспеть в автоматизации, нужно быть готовым к тому, что нужно постоянно менять технологический стек. То есть, что-то типа "вчера писали на Java, сегодня на Руби, а завтра будет .NET" - это вполне обычное явление (пусть немного утрированно, но это так). Более того, набор средств автотестирования настолько разный, что хотя бы что-то придется учить с нуля каждый раз, так как мало кто видит разницу между автоматизаторами даже если они работали с разными инструментами (хотя разница выше, чем между разработчиками C# и Java).

Так что нужно ли учить python? Да, вы только от этого выиграете. Но без явной необходимости не закапывайтесь в него. Будут задачи - научитесь всему, что нужно. В тестировании есть вещи куда более важные хитрого и закрученного кода.


(Artur Korobeynyk) #3

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

Руби больше используют китайцы и индусы, питон - западные страны. О руби не знаю, но питон ещё весьма неплохо вклинивается в С++, но думаю и в руби та же фишка есть. Если хорошо знаешь руби, не парься, можешь смело писать что знаешь питон, за выходные освоишь и в понедельник будешь экспертом.


(Сергей Блохин) #4

Видно мне повезло с работодателем, т. к. я сам выбираю технологический стек для автоматизации.
Программисты пишут на том, что удобно им (чаще всего Python.Django, реже на Ruby.Ruby-on-Rails).
Я автоматизирую на Ruby в осносном. Правда бывают моменты, когда необходимо что-то делать на Python или Java (Android в основном).

Совет такой: Учить нужно в той или иной степени все технологии. Выбирать ту, на которой ваша работа будет выполняться быстрее всего.
Это далеко не последний фактор (скорость разработки тестов).


(sleep-walker) #5

Спасибо всем огромное за комментарии. Ушёл учить python.


(Mykhailo Poliarush) #6

python и ruby находятся приблизительно в одном диапазоне

но если смотреть со стороны поиска работы, то на python вы быстрее найдете работу

тем более, если вы уже программировали на ruby, то проблем с python вряд ли будут

хотя, надо учитывать что вы хотите автоматизировать и стек инструментов автоматизации

для python - robot framework, sikuli, behave, etc

для ruby - waitr, capybara, cucumber, etc