Що вивчати для переходу в автоматизацію тестування?

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

Зараз стикаюся з тим, що не можу обрати, яку мову та фреймворк вивчати для переходу в AQA. Мене приваблюють Cypress та Playwright, але не знаю, чи затребувані вони зараз. Чи, можливо, краще обрати Java або Python? Розумію, що це залежить від стеку проєкту, але все ж таки. Чи є тут фахівці, які можуть допомогти зрозуміти, що краще вивчити, щоб стати затребуваним спеціалістом на ринку?

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

Почитавши коменти бачу що зараз немає сенсу вчити автоматизацію на selenium? й якщо python то з playwright? і якщо брати js/ts playwright чи зручно там писати тести для api й sql... чи в такому разі краще обрати вже python/playwright щоб легше було розібратися в тестуванні api та sql?

Та тут тобі напишуть. Піди краще подивись що треба у вакансіях, на вкладці «робота». Відкриваю першу там одразу «Досвід від двох років в Selenium» (хоча там треба декілька днів щоб засвоїти, якщо знаєш Java).
В так зараз усе ще популярний Cucumber та Rest Assured.
На Python за останні 5 років бачив лише load testing.

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

Та який легасі — у мене з нуля проект, те саме. Де де, а в AQA Java чітко тримає марку, Python не катується. AI тут так досі ще Python хоч це і не найкращій вибір від початку, та ідея була в тому щоб задіювати не професійних програмістів а спеціалістів із статистики і аналізу данних, для яких кодінг — вторичний. Так само як і в AQA — не так сталось як гадалось.

Цікаво, а в чому сенс брати для нового проекту саме Selenium зараз? Навіть з Java юзають Playwright зараз в основній масі на нових проектах

По нових проектах REST API повально тестують, тобто більше популярний Rest Ashured. Тим не менше подекуди є різні сіленіди і т.п.

З цим згоден, Rest Assured все ще в тренді

А на твою думку що зараз з риночком? й перспективами?

Я б однозначно вивчав Playwright, тому що це вже стандарт у сучасній автоматизації. По мові програмування — тут вже багато відповідей дали

Це називається paralysis by analysis — параліч через аналіз «що краще? може це? а може те?». І замість того, щоб вивчати та автоматизувати час гається на роздуми.

Приваблюють Cypress та Playwright? Супер! Почніть автоматизувати за допомогою цих технологій. Java або Python? Будь що, але пишіть скріпти автоматизації.

Мій особистий шлях — це Python + Selenium. Ми за допомогою цих технологій написали декілька тисяч тестів та змінювати пока що планів немає. Я розробив онлайн-курс де за 60 годин навчив десятки людей автоматизувати з нуля: Selenium + Python: автоматизація тестування веб-додатків.

вчи ту мову на якій тобі комфортно писати та на якій тебе можуть сапортити, менторити та допомагати. це найголовніше мабуть. якшо мова не заходить — то вчитися будуть пекельні борошна.
з типіцазією майже всі мови ± однакові в автоматизації. відмінність тільки в інтерфейсах які надають бібліотеки трошки.
плюси жс-а — можеш потім легше розуміти шо на фронті накодякали. можеш свічнутись в бекендери з часом.
плюси патону — можеш докручувати потім МЛ та ШІ. можеш свічнутись в бекендери з часом.
плюси джави — дійсно розберешся з структурованістью, дізайн патернами та ООП як воно задумувалось. трошки важче свічнутись як на мене в бекендери буде.
а ще підписуйся на мій канал про тестування, розробку та менеджмент -там часто корисні матеріали є t.me/from_a_to_qa

Дякую за відповідь. підписався)

Зависит от того, чего больше хочется. Ну кроме зашибать больше бабла :)
Java — более структурированный, но более длинный код.
Python — есть возможность писать код хорошо и правильно, но многие пренебрегают, поэтому часто получается говно.
JS — наверное в теории можно писать норм код, особенно в TypeScript, но ни разу не видел нормально написанных тестов на JS. Зато быстро, да. А потом все эти тесты уходят на помойку и переписываются на нормальных языках :)

Playwright — есть поддержка Java, Python.
Cypress — только JS. Ещё имеет ограничения по поддерживаемым браузерам.
Selenium — ИМХО после Playwright юзается только на оч старых проектах либо теми, кто вообще не знает, что оный вышел :)
Selenide — задумки в целом неплохие, но playwright его уделал со свистом. Нет смысл учить фреймворк с меньшими возможностями.

Обязательно выучить также взаимодействие с Web API: RestAssured для Java, Requests для Python.
Неплохо было бы выучить альтернативные методы коммуникации: очереди (тот же RabbitMQ, к примеру), WebSockets.
Выучить Git, Docker, Jenkins (можно любую другую CI, например, Bitbucket Pipelines).
Для CI придётся выучить bash и linux, если нет желания чесать пяткой ухо, пытаясь на powershell что-нить накатать.

Главное — выучить алгоритмы на выбранном языке на уровне простых задач на LeetCode, чтоб потом на форумах не задавать вопросы «как инвертировать элементы в списке» в процессе выполнения рабочих задач :))

З тулів раджу Ак74і загальний курс на полігоні, а для хоббі проектів на старості кастомний АR-15.

Мега супер тул проти УМПК. Та навіть проти просто старих БМП 1 чи БТР-60, БРДМ, ГАЗ Тигр і т.д.
Зате FPV на який він може задонатити — їх запросто спалить.
Щодо бомб — то тут усе погано, крім ППО та винищувачів — варіантів нема. РЕБ мало ефективний.

Java / Python / JS візуально приблизно однакова кількість вакансій. Playwright вже став стандартом у автоматизації, нові проекти часто пишуть з його допомогою, старі також дехто мігрує. Для API-автоматизації теж з чимось працювати потрібно вчитись: якщо Java — RestAssured, якщо Python — requests (можливо вже щось модне зʼявилось). Плюс Docker, патерни проектування, якийсь TeamCity або Jenkins потикати.

Python та Java — це мови. Cypress та Playwright — тули. То друге, а то друге :-) тим паче Cypress це, якщо не помиляюсь JS та TS, python та java там не проканає.

Та я знаю, просто не хотів розписувати усе детально)

я починав з Python + Selenium. Зараз той же Python, але фокус у мене тепер на BE в основному. Ну а так, як писали вище: паттерни програмування, принципи OOP (як то SOLID, DRY, KISS і т.д.) і буде щастя (буде легше свічнутися з однієї мови на іншу, якщо потрібно. Мені, наприклад, доводиться інколи і JS, і в Java і в Go колупатися, не те щоб я в них сильно шарю, але зрозуміти що написано — так).
Ну і знову ж як вище писали: для початку Git, а потім вже Docker та CI тули (рекомендую GitHub Actions для навчання, бо ІМХО в Jenkins з його плагінами можна трохи ногу зламати)

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

Востребованным специалистом тебя делает не знание языка и фреймворка, а умение решать поставленные задачи. Выбирай, что нравится — в твоем случае Cypress и Playwright и получается, что в итоге JS.

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