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

Зараз стикаюся з тим, що не можу обрати, яку мову та фреймворк вивчати для переходу в 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

Це називається 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.

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.

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