Какой ЯП выбрать для Автоматизации и не только?

java
selenium
python
Теги: #<Tag:0x00007fedb82a8958> #<Tag:0x00007fedb82a87c8> #<Tag:0x00007fedb82a8610>

(Alex King) #1

Всем привет, я знаю что тема не новая особенно тут, но у меня не просто вопрос какой язык лучше. Я знаю, что лучше не существует, нужно выбирать который больше подходит для конкретных целей.
Когда решил быть QA я с самого начала, планировал, не просто мануал, а с развитием в автоматизацию, но понимал, что для начала нужно познать профессию, а потом автоматизировать. Я ознакомлен с программированием и несколькими языками программирования.
Сейчас тот момент, когда я бы хотел начать изучение автоматизации, но не могу решить уже неделю на чем.
И мне нужно помощь опытных людей.

Я работаю в вебе, основные языки которые используются в моей организации это #php и #javascript . PHP я исключаю сразу, хотя бы потому что #selenium официально не поддерживает этот язык и мне он вообще не интересен.
Но кроме всего прочего, я хочу, развиваться серьезно, а не прыгать между языками на уровне новичка, потому хочу выбрать язык на котом потом смогу расти и если будет потребность перерасти в программиста и может работать в другом месте.

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

Из кандидатов - #java , #python , #ruby , #javascript .
Как я это вижу.

  • Java - несомненно крутой популярный язык, но в нем достаточно трудно разбираться и медленно разрабатывать, также не популярен в вебе, а потому учить ее можно только с надежной, что вдруг, когда-то, попаду на работу в Энтерпрайз. Есть базовые знания.
  • Ruby - с языком не знаком вообще. Крут только в вебе и только на рельсах, не сильно популярен, но говорят что в тестировании он хорош.
  • JS - JS крут, на фронте, но вот для тестирования нужен бек, потому нужно юзать Node.js и это вообще другая кухня и мне кажется что там не все так круто с селениумом и с другими инструментами под него. Немного знаком с основами языка.
  • Python - Ну в душе, я почему-то его люблю. Но мне никто не разу ничего хорошего про него не сказал, все знакомые программисты (Java и JS), воротят носом и говорят что якобы он никому не нужен и работу на нем не найдешь хотя бы как тестировщик, потому что никто не пишет проекты на Python и соответственно и автоматизировать на нем не придется и если честно это меня пугает.

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


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

Пишу уже год на ProtractorJS (WebdriverJS) - брат жив, зависимость есть. Своя кухня только в плане что он асинхронный.
А так это все тот же родной Selenium - не важно какие ты выберешь языковые биндинги - все равно selenium standalone server это Java.

Как первый язык для автоматизации я бы рекомендовал JS (только самый последний EcmaScript 6 или TypeScript), или Python - тоже весьма годный язык.


(Bohdan Harasym) #3

Фреймворк должен писаться на языке тестируемого приложения. выбирать тут нечего, все…)))


(Goshko Nazar) #4

Вот на них и пишите, по крайней мере есть менторы которые помогут.

[quote=“Alex_King, post:1, topic:11133, full:true”]хотя бы потому что Silenium официально не поддерживает этот язык и мне он вообще не интересен
[/quote]
селениум как бы проме джавы ничего и не поддерживал официально, да и в общем - open source это, нет там ничего официального[quote=“Bohdan_Harasym, post:3, topic:11133, full:true”]
Фреймворк должен писаться на языке тестируемого приложения. выбирать тут нечего, все…)))
[/quote]
не городите, ради Бога… открою Вам мир удивительного ИТ, из 45 человек тех отдела,10 из которых QA - я единственный ATQA Python


(Yaroslav Pernerovskyy) #5

Рекомендую Groovy. Почти идеальный язык для автоматизации + наличие миллионов полезностей из мира Java.


(Yury) #6

Язык глубоко вторичен, ибо он есть средство выражения. Изучайте алгоритмы, паттерны проектирования, лучшие практики, устройство различного ПО, API, разные форматы данных и т.п. Если вы сейчас в вебе и начинаете изучать автоматизацию на базе Селениума, то сузьте свой выбор до Питона и Джавы. Из них и выбирайте. Я за Питон.


(Yury) #7

Блин, вот с чего вы взяли, что эти люди - программисты? Не подходите к ним ближе, чем на 10 метров. Ничему хорошему они вас не научат.


(Mykhailo Poliarush) #8

Я просто хочу оставить ссылки на подобные обсуждения


(Oleksandr Khotemskyi) #9

Официальный репозиторий Selenium с вами не согласен, как и официальная страница - http://www.seleniumhq.org/download/


(rmerkushin) #10

Полностью согласен. Программисты на питоне из гугла, яндекса и других крупных компаний крайне негодуют от таких высказываний :grinning:


(rmerkushin) #11

Вы и на C++ тоже будете писать тесты? :grinning:


(rmerkushin) #12

Пишете на том, что вам больше нравится и что вы быстрее освоите. Те кто говорят что нужно писать на ЯП на котором написан проект несут откровенную чушь. В большинстве случаев программисты из проекта вам не сильно помогут в ваших задачах, у них другие цели и направления развития, большинство из них даже не слышало о page object, потому что им это просто не нужно, и это не значит что они плохие программисты :slight_smile: Ну а выбирать лучше всеж из этих: Java и ее производные (scala, kotlin. groovy, etc.), Python, Ruby, C# c остальными будет сложнее в плане библиотек и плюшек.


(Alex King) #13

Спасибо за советы :slight_smile:


(Goshko Nazar) #14

http://c2n.me/3ChwLLf
бэмс…


бемс…
слово оффициальный, возьмите в кавычки)