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

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

Майже 2 роки працюю мануальним тестувальником, хочу перейти в автоматизацію, бо мануальне трохи набридло. В компанії, де працюю зараз, автоматизація не актуальна і тут розвитку в цьому напрямку не буде. Яку мову порекомендуєте обрати в таком увипадку — Java або Python? Планую вивчати для автоматизації UI та API тестів? На JS не дивлюсь, бо колись вчила і він не зайшов.. Дякую за поради.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
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

Я не QA.
Поправте, якщо я не правий, та років з 10-12 тому, жава для цього юзалась.
Наразі пайтон у більшості випадків, та js коли щось на фронті-енді тестити.

Вчи JS/TS i буде тобi щастя :)
Просто розберись з event loop i JS зайде.
Це не складно, якщо до цього не вчила Java, наприклад.

Тут буде доцiльною така ж порада як i для програмiстiв — не обирайте мову, краще вчiть пiдходи, ази що як робити, так би мовити. Мова це лише один з iнструментiв.

На якому інструменті вчити ці підходи?

Який iнструмент використовувати щоб знати стратегiю пошуку елементiв на UI? Або де краще зберiгати локатори? Або якi типи очiкувань i коли використовувати? i т.д. Я б сказав мозок найкращий iнструмент для цих базових знань.

> якою вудкою ловити рибу — X чи Y?
> вудка це лише інструмент, треба вчити підходи вилову!

*лишається голодним*

я б сказав, що в 2023 найперспективніше це JS/TS + Playwright, але якщо вибирати між Java або Python, то вони максимально порівну юзаються, тому раджу вибрати те, що більше подобається (Java буде трохи важча, бо поріг входження вищий, імхо)

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

В сенсі завжди? ) В мене за 9 років не вимагали )

От відкопали ) Це в описі про плейтику і глобал? Якщо так, то то була моя ініціатива, а не вимога проєкту. Я починав з пайтона, тому на ньому шось там корисне і робив. Але якраз у глобалі була вимога на джс, тоді я на нього і перейшов і на ньому і залишився. Це було 7,5 років тому. Але лайк за уважність )

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

Можливо має сенс попрацювати на проекті, де є AQA, які вивозять самостійно. Базові знання — ну це дивлячись, що ви там автоматизуєте. Якщо це функціонал рівню «ввести інпут — клікнути окей», то звичайно, цілком достатньо бази.

и как она узнает что там такие есть? везде команда супер профессионалов по вводным

бо qa обычно не вывозят сами

Це має відношення до цього. Якщо хтось не вивозить у вас — спробуйте попрацювати з тими, хто вивозить.

C# також непогано працює з playwright.

Там ще і C# є та навіть С++. Та реальність така переважна більшість автоматичних тестів пишуть саме на Java. Selenium, REST-assured, Cucumber та Fitnesse, це головні затребувані фреймверки. Усі Java.

То ви шось трохи відстали в трендах мені здається. Джава вже давно однозначне лідерство втратила.

Яку мову Ви порекомендуєте обрати для старту в автоматизації?

Вам не сподобається ) Дуже багато нових інструментів стартують на джс зараз. Дуже популярний сайпрес, хоч і хрєновий ) Плейрат почався з джс, зараз є порти на інші мови, але наче з джс воно краще працює. Важливий також момент для юай автоматизації це виконання скриптів на стороні браузера. Уявімо, у вас є таблиця на 2000 комірок. З кожної вам треба витягнути дані. Селеніум зробить 2000 запитів, які будуть довго бігати по мережі взад вперед. Або ви пишете скрипт, якій збере з ДОМу всі дані і закидаєте цей скрипт одним запитом в браузер. В браузері, вочевидь, живе тільки одна мова, то і скрипт має буди джс. Також є проблема локаторів, яка вирішується дуже просто — йдеш і додаєш самостійно. Це також підвищує вашу цінність для проєкту, бо ви не відволікаєте розробників на свої іграшки ) Весь (умовно) фронт енд на джс. Щоб якісно додавати локатори треба розбиратися в джс і, бажано, у фрейморці, на якому написан фронт хоча б трошки.
PS я починав з пайтону, дівчина поруч починала з джс. Той джс мені прям дуже не подобався, Ну хрєнь якась, рілі ) Але потім потрапив на проєкт, де треба було писати автотести на джс. Розібрався, втягнувся і для себе альтернативи взагалі не бачу. Мені прям дуже подобається, особливо якщо тайпскрипт ) Кожна лягушка своє болото хвалить, так шо сорі, що морочу голову )

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

Був. Не було в кого спитати. Зараз багато великих ком’юніті, де можна все спитати, зараз простіше. Ну і починав я з ES5 де ще не було класів і великої купи інших плюшек. Так що зараз буде простіше. Найскладніше було з асинхронністю розібратися. Я про це колись доповідь робив, на ютубі є. Сподіваюся комусь допомогло не страждати, як я страждав. З джс головне розібратися як воно працює, потім все стає логічно, зрозуміло і зручно. Мені дуже заходить мультипарадігменність. Сапортиться і ооп і функціональщина. Використовувати на рівних переваги обидвох дуже зручно

Та мені насправді однаково. Як я вже писав, якщо техлід замовника впровадив інструмент на С++ який треба компілювати IBM компілятором (та авто-тествальники кличуть мене щоб допомігш засетапити, писати вони можуть і самі та прилінкувати статичну бібліотеку чи додати додаткові папки з хеадерами та лібами це проблема ) це звичайна ситуація. На сьогодні JS інструменти це просто новомодна екзотика, яка в яккогось молодого техліда на проекті є. У переважної більшості проектів що я працював на протязі п’яти років — Java, та REST-assured. При чому бекенд на чому вийде, часто на Node. Те ще тули на Python можуть бути дещо краще — то безперечно, так кому це цікаво ?

То ж моя відповідь Євгенії була ) Вона сказала одразу, що джс не хоче, тому я почав з «вам не сподобається» ) Про екзотику і молодого тех ліда не погоджуся. Там є дуже потужні інструменти, які мають багато можливостей і вони дійсно зручні. Це про UI автотести. Бо то, що ви описуєте, юаєм дуже слабо пахне ) Там, де треба компілювати плюси в автотестах, то це якраз про молодого техліда зі своїм джс ) Тут, звичайно, інструменти мають бути інші.

Мова написання продукту = мова написання автотестів.
Ну тобто не викаблучуватись, і на якій мові(ах) написаний продукт на тому і пишуться автотести.

p.s. написання автотестів це самий натуральний девелопмент.
Тож якщо досвіду програмування у вас мало, то біжіть підтягувати спочатку Базу програмування.
Це зекомономить вам купу часу.

Це зрозуміло. База є, в мене питання, з якої мови почати вивчати автоматизацію, на якій поріг нижчий?

На який джуном влаштуватись легше.

Так я і питаю, яка це мова) Бо в вакансіях є і Java, і Python, і JS/TS + до кожної мови свої бібліотеки, інструменти і тд

Python, напевно, можна вивчити трохи швидше, ніж Java. Плюс Selenium для UI і лібу requests для API (або може є щось новомодне вже). З власного досвіду нещодавнього пошуку роботи — приблизно 30% вакансій — це Python, ще 25-30 — Java.

Java абсолютно точно. Щодо порогу входження — не існує мови програмування яка захищає від неефективного програмування. Щодо безпосередньо важкості для починаючої людини, по типу складно встановити та почати писати першу программу то: Java, C# та Python приблизно на однаковому рівні. При наявності сучасних матеріалів в інтернеті, лише бажання треба.

Счаз, вже тобі. Авто-Тести пишутьна тому, на чому працює команда автотестувальників, тобто якою технологією керівник поставив процесс. Як керівник із за кордону, там може бути абсолютно усяка всячина, навіть відверта екзотика яку треба компілювати С++ компілятором IBM. А так переважна кількість авто-тестів пишуть на Java. І не через мову — фреймверки є. А коли хтось пише софт вкрай погано, то не існує мови програмування яка це виправить. Тут тільки меторінг та муштра коли треба швидко навчити.

Мова написання продукту = мова написання автотестів.

В більшості випадків, але не завжди

Мова написання продукту = мова написання автотестів.

навіщо?

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