🐞 П’ятнична флудильня для QA-спільноти. #1 Обираємо мову програмування, яку варто вчити для автоматизації

Усі статті, обговорення, новини про тестування — в одному місці. Підписуйтеся на DOU | QA!

Привіт, друзі!
У нас є новина 🙌

Відтепер, щоп’ятниці, будемо зустрічатися усією спільнотою тестувальників тут, на форумі, щоб обговорити актуальні питання, ділитися досвідом та корисними лайфхами.

Тема на сьогодні: Яку мову програмування вчити для автоматизації? Ділимося досвідом та спостереженнями у коментарях.

👍ПодобаєтьсяСподобалось4
До обраногоВ обраному2
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Якщо вам треба не модно молодьожно, а годувати родину, то вчить ту мову на якій вже купа проектів і яка буде існувати ще десятки років. Тобто ту на якій ви зможете працювати вічно. Вибір робиться аналізом вакансій зараз, і, якщо є можливість, вакансіями, які були раніше, щоб побачити тренд. Я в свій час обрав джаву і ще ніколи не було проблем з пошуком роботи, чи можливість щось автоматизувати.

А як вам таке.
0. Вчити англійську
1. Перед тим як почати вчитись автоматизовувати щось і вчити якусь мову —> Розібратися з суттю професії тестувальника і навчитись виконувати фундаментальні речі руками
2. Почати вчити мову ту, яка є релевантна проекту. Якщо стек на проекті на C#, то якось тупо починати вчити JS. У вас є готовий проект, де можна реалізовувати те, що ви вчите. У вас є колеги, які щось зможуть підказати по мові. Ви зможете почати одразу втілювати вивчене, а не просто повчити і забути

Віталій, а якщо проект міняється кожний рік?

Починав з Python, потім разом з проектом перейшов на JS і маю декілька аргументів «за».
1. Весь фронт на JS, знаючи мову простіше додавати собі локатори у фронті, пофіксити багу, яка заважає тест написати, написати юніт тест.
2. Якщо ми говоримо про selenium, то іноді треба зібрати дані безпосередньо з браузера через execute. А там тільки JS
3. Є інструменти для веб, мобайл і десктоп.
4. Можна світчитися в девелопмент куди завгодно. На JS пишуть фронт, бек, мобайл, десктоп, IoT туди ж.
Але маю застережити. Легко починати, а от щось нормальне написати вже не так легко.

не можна писати на ts не знаючи js. звичайно, що ts то просто спасіння ) але до того ще треба прийти

Коротко — все залежить від Ваших скілів, команди та планів на кар’єру. Більш докладно про це я писав у своєму каналі.

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

Якщо у блокчейні — то так. Можна писати тести на Rust та навіть на Haskell )

Якщо проекти на котлін та свіфт, то яку мову краще б вчити для автоматизації?

Тут явно є ухил до автоматизації мобільних застосунків. Тут краще орієнтуратись на інструменти, в першу чергу. Так, для Android це Espresso, a для iOS це XCUITest. І вони використовують колін та свіфт відповідно

Якщо ви плануєте писати тести за допомогою уніфікованого фреймворку типу Appium — то можете брати ті мови, які він підтримує: Java, Python, JS, etc.
Якщо все ж таки Ви хочете писати тести більш «заточені» під конкретну операційну систему — то треба буде писати набір тестів на Kotlin, та набір тестів на Swift.

Проекти завжди для двох платформ одночасно, щоб не розбиратися з двома мовами, краще оберу уніфікований варіант. Дякую!

Дивлячись на якiй мовi бiлше платять, С# зараз на першому мiсцi

Ruby вже втрачає популярність. У 2000-х це була гарна платформа, деякі двигуни спочатку з’явилися саме в Ruby реалізації. Зараз вже реалізації на інших мовах підтягнулись та підтримуються вендорами.

Обирайте ту мову, з якою потім ви зможете легко знайти роботу на ринку праці. Додатково — для таких мов вже є багато готових бібліотек та інструментів. Для екзотичних мов прийдеться багато чого писати «з нуля».
З найбільш розповсюджених зараз це Java, JS, Python. Трохи меншою мірою — C#.

На роботі все на джаві. Але маю крихти знань та хапаюсь за безкоштовні курси з пітона та джс. Сумно і смішно одночасно.
Але насправді думаю, що резонно вчити ту, яка є на проекті або ж яка подобається. Зайвим ніколи не буде.

В двох компаніях була Support & QA і в обох була Джава, не вчила її принципово, бо не подобається з їхньою машиною возитися, мені здається компіляторні краще вчити, те що подобається. Пітон точно буде легше, якщо не «програміст від Бога» :)

Коли вам реально треба було з нею возитися? За 10 років один раз тільки збільшив к-ть пам’яті для неї в параметрах.

Ні яким чином не кажу про себе як про спеца по цій мові, і дійсно, давно було — 10 років назад довелося лазити глибоко в репозиторії. Ну складна це мова, якщо ти не програміст.
А якщо ти програміст, то що робиш в QA ?

Я автоматизатор і так, нам треба теж гарно програмувати. Джава — мова вічномолода, бо вбирає в себе всі нові фічі, які намагаються робити для інших мов. На пайтоні, груві теж пробував, і захоплювався рівно до першої проблеми з типами, бо джава сама це контролює, а вони — ні.
Одним словом, варіантів вибору навряд чи буде багато і, скоріш за все, їх зроблять до нас, і про обраний вже варіант напишуть в вакансії.

Подскажите, на каком этапе лучше активно начинать изучать автоматизацию? Имею в виду поработав год? Или чем раньше — тем лучше? Спасибо

я би роки через два в мануальному тестуванні тіки рекомендував дивитися в сторону автоматизації. коли навчишся тести мануальні писати та як апка працює з сторони юзерів, коли клієнт-серверну архітектуру подолаєш, коли руками навчишься тестувати тіки потім переходити до автоматизації вже.

Все залежить від того, який у вас план розвитку, який проєкт та який Ваш бекграунд, Є проєкти, де й за 3-5 років не зможеш навчитися нормально тестувати).
Якщо є досвід програмування з університету (лаби) то можна вчитися базі автоматизації практично з першого дня роботи.
Усе буде залежати від того, який буде Ваш подальший профіль роботи.
Якщо ви будете просто General QA (який і тестує й автоматизовує тести) — тоді Вам дійсно потрібно вміти нормально тестувати. Якщо ви будете full-time автоматизатором, котрий не бачить світу білого, крім нескінченного фіксу тестів — то в такому випадку гарно тестувати не обов’язково. Обов’язково знати програмування та мати технічні навички.

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

Знаю багато людей якi прекрасно пишут тести та не знають англiйську

Вчити ту яка підходить або така, що вимагається на роботі))
Я особисто пайтон вчив, і нормально, мені подобається. А вакансій на пайтоні вистачає якщо цікаве працевлаштування.

Java/JS
в цей час починати з чогось іншого — дивно

мені здається, менша ксть тулів і фреймворків, відповідно, менше ком‘юніті

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

ну судячи з вакансій, то на джаву більший попит все ж таки)
81 проти 116
jobs.dou.ua/...​=QA&search=python&descr=1
jobs.dou.ua/...​ry=QA&search=java&descr=1

бо джава кльова :) сам пишу на джаві як основна мова. проте зараз на пайтоні довелося писати останні пів року))

я теж на Джаві писав багато років, але от вже півроку як пишу на Го.
ну дуууже подобається :)

Підписатись на коментарі