Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Нужен максимально полный курс Automation QA, ищу курсы Киев

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

Привет ребятки.
Вопрос к автоматизаторам прежде всего :)
Может кто просто искал и нашел курсы по автоматизации которые можете посоветовать? Ищу такие чтобы там можно было научиться тестировать и BE (API, DB). Навыков в программировании нет. Только поделитесь пожалуйста теми курсами которые прошли вы или ваши знакомые, или там где точно не лажа.
Что нужно чтобы было в программе?

PS: я знаю, что можно самой, гугл и куча всего в интернете. Гуглю, смотрю, сравниваю программы..Запуталась. На курсах мы платим за то чтобы в сжатые(лучше даже не сжатые) сроки получить то что актуально и нужно, а не полуфабрикат :)

РPS: вот прямо сейчас актуально WebDriver, но кажется лучше по максимуму сразу научиться, не только FE, а BE на мой взгляд важнее. Некоторые говорят что сначала нужно пройти Java, подойдет ли общий курс Java или для тестирования есть специфика?

Онлайн курсы вообще идеально, но уже хоть какие-то :)

Спасибо!

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

На протяжении последних 5 лет я с переменных успехом запускал отдел автоматизации тестирования в своей компании Design and Test Lab. Первый запуск был примерно в 2017 — нашлось несколько талантливых инженеров-тестировщиков, которые самостоятельно изучили Python + Selenium и написали скрипты автоматизации. Но эти люди со временем ушли из компании и знание автоматизации в компании тоже ушло. :)

Второй запуск был в 2021 году. Тогда уже мы ввели внутренний еженедельный семинар по Селениуму и автоматизации и начали всех инженеров учить Питону и Селениуму с нуля. Получилось тоже не очень, потому что на это выделяли мало времени.

Третий запуск в 2022 был самым успешным. Я разработал и записал видео-курс Selenium + Python: QA Automaton. Особенности: изучается Python с нуля, но в том объеме, которого в принципе хватает чтобы понимать и писать скрипты автоматизации. Так же изучается основа Selenium WebDriver тоже в том объеме, чтобы было достаточно начать автоматизировать наши веб-проекты. Т. е. я старался подстраивать программу курса под нужды моей компании. В этот раз автоматизированное тестирование сдвинулось с мертвой точки, наши ребята написали уже больше 1000 автотестов на наши веб-приложения. Покрытия тест-кейсов иногда доходит до 50%, что в принципе очень хорошо, когда на проекте больше 1000 тест-кейсов.

По вопросу: «Нужно ли знать <язык программирования> чтобы автоматизировать?» — в Селениуме однозначно нужно (будь это Python, Java или C#), и чем лучше знаешь — тем проще, но основ хватает.

Онлайн курс по самому Питону лежит в открытом доступе на YouTube: Язык программирования Python/Питон.

Дисклеймер: я автор этого курса, т. е. по сути это самореклама. И я готов отвечать за качество курса.

Рекомендую! https://it-testing-school.com/ua/qa-automation

@QAonlineEducation телеграм. Обращайтесь!

Еще по теме Python vs Java для WebDriver.
Даже если компьютер высокопроизводительный, при работе с WebDriver достаточно медленно начинает работать программа. Вначале загружается WebDriver, затем браузер, затем загружается страница.
При отладке на Java нужно будет каждый раз дожидаться загрузки браузера и страницы.
А в Python есть интерактивная консоль.
В ней можно отлаживать скрипт почти с нуля, не закрывая браузер и WebDriver
То есть не нужно каждый раз ждать пока загрузится браузер и страница, один раз запустили часть кода которая запускает WebDriver и браузер, и уже отлаженную часть скрипта, и далее в консоли отлаживаем остальной код.
А отладки может быть очень и очень много! Каждый раз запускать при этом браузер — никаких нервов не хватит, особенно если компьютер не особо мощный.
Хотя я на Java почти не работал с WebDriver, не знаю как джависты решают эту проблему — возможно что есть какое-то решение.

судя по твоим рассуждениям ты мало что знаешь по этой тематике, кури мануалы, учи матчасть

Я же написал, не знаю как решается в Java этот вопрос — почти не работал с WebDriver на этом языке.
Для Python у меня такой проблемы нет, из консоли отладку провожу если много раз что-то повторять приходится.

И не заявляю что знаю много.
Нельзя объять необъятное.

Люди, Человечищи! Спасибо!!!!)

Java, подойдет ли общий курс Java или для тестирования есть специфика?

Никакой специфики, изучаешь общий курс программирования на том языке который выберешь. И только когда освоишь — переходишь к изучению автоматического тестирования.
Если не было серьезного знакомства с программированием — вначале нужно понять есть ли способности и склонность к работе программистом. Что-бы тут не писали те кто никогда не сталкивался с обучением новичков — далеко не у всех есть способности. И даже те у кого есть способности — далеко не всегда хотят работать программистами. Программирование — это достаточно тяжелый интеллектуальный труд. Особенно тяжелый и скучный — для тех кому не нравится код писать (даже если получается).
Так что не рекомендую оплачивать длительный курс обучения, есть шанс что уже в первый месяц станет понятно что программистом работать не получится.

а JS, не?)

Неee :-) Не рекомендую JS.

  1. Достаточно редко применяется в тестировании, особенно редко попадается в связке с WebDriver
  2. Cложнее в обучении чем Java или Python
  3. Гораздо неудобнее в работе. C WebDriver пробовал писать на всех вышеупомянутых языках, JS для меня самый неудобный, предпочитаю Python. JS незаменим в web, там его и надо использовать.
Python или Java? Для меня ответ однозначный — Python
  1. Я считаю что это лучший язык для обучения основам программирования.
  2. Гораздо более удобный как язык, как правило быстрее можно решить поставленные задачи чем на других языках (иногда в разы быстрее).
  3. Больше учебных материалов.
  4. py.checkio.org — замечательное место для изучения Python, настоятельно рекомендую! Это сборник задач (почти все есть и на русском) нарастающей сложности с автоматической многостадийной проверкой, отличным форумом и community. Фактически это полноценный курс для самостоятельного обучения основам программирования. Этот же задачник на JavaScript — js.checkio.org (изначально сайт все же для Python, задачник для JS «переведен» с Python и перевод этот все же чуть хуже оригинала). Для Java есть аналог — javarush, но по моему заметно хуже checkio, к тому же платный.
  5. Интерактивный учебник и задачник по изучению синтаксиса Python (именно с него нужно начинать обучение) — pythontutor.ru Тоже на русском и с автоматической проверкой.
    Проходишь уровни с первого по восьмой (третий, Вычисления, можно пропустить), хотя бы половину задач на уровне нужно решить, те что покажутся слишком сложными — можно пропустить. Цель на pythontutor — изучение синтаксиса, изучения программирования как такового будет на checkio, начиная с раздела Elementary, затем Home и т.д. Checkio нужно хотя бы половину пройти прежде чем приступать к изучению WebDriver, а лучше весь checkio решить — пропускать можно только задачи уровня Elementary.

Если самостоятельное обучение покажется сложным — обращайтесь, помогу. Найдите меня в скайп или телеграм — oleozy
По Python и JavaScript (можно и по Java — еще не забылся вроде, хотя в последнее время редко сталкиваюсь, если есть выбор — предпочитаю Python). Автоматическое тестирование тоже помогу освоить.

Олег, я честно очень удивлена. Почему-то чаще люди фыркают на вопросы, чем так много и по делу структурированно говорят, а тем более помощь предлагают. Автоматизацию я рассматриваю для того, чтобы не делать одно и тоже, сомнения насчет подходит или нет совершенно разумные, иногда это выясняется уже когда человек работает год:) хорошо если раньше) а почему Java более популярный в астоматизации?

а почему Java более популярный в автоматизации?

Не знаю. Так сложилось?
Java более популярный чем Python, причем раньше он был раз в десять популярнее (сейчас раза в два). Это общая статистика по Украине, не по автоматизации — там Java медленнее сдает позиции.
К тому же у разных программистов разные предпочтения. Сейчас я большой поклонник Python, но при первом знакомстве он мне категорически не понравился из-за непривычного после Java синтаксиса. Но потом по работе пришлось писать на Python, и вскоре я оценил и синтаксис, и все прочие особенности.
Некоторое время назад было почти полное доминирования Java и похожих на него языков — C, C++, C#, Objective-C, JavaScript (хотя он и сам по себе, но во как минимум внешне очень похож).
Сейчас и сам Python растет, как и похожие на него языки — а Java, C++ и близкие к ним языки теряют популярность (кроме JavaScript).

я честно очень удивлена.

Можно сказать что рекламирую себя на dou, поэтому стараюсь писать структурировано и по делу.
Обучение для меня во многом хобби, но бесплатно помогаю лишь первые несколько дней.

Есть ли что-то критичное, что можно сделать на Java, но нельзя сделать на Python? Мне сказали " у Python нет concurrency. Если что-то серьезное, и серьезный проект то там будет Java". Что вы думаете на этот счет?

у Python нет concurrency

Есть concurrency.
Подозреваю что имелось ввиду что multithreading в Python (в отличии от Java) загружает только одно ядро процессора.
Если нужно загрузить несколько ядер — в Python используется multiprocessing.
Подозреваю что необходимость задействовать несколько ядер в работе тестера может никогда и не возникнуть (узкое место — как правило сервер). Но если возникнет такая необходимость — Python способен использовать все доступные процессорные мощности.

Есть ли что-то критичное, что можно сделать на Java, но нельзя сделать на Python?

Вроде чем крупнее проект, чем больше программистов над ним работает — тем больше резона использовать Java.
Зато мелкие скрипты гораздо быстрее пишутся на Python (иногда в разы быстрее).
Мое мнение — фрилансеру-автоматизатору Python гораздо удобнее.

Java на настоящий время чаще используется c WebDriver (в разы больше вакансий), и возможно что работу проще найти (хотя не факт, по моему сейчас перепроизводство потенциальных Java — джунов).
Учебников, сайтов и примеров кода на Python для WebDriver не меньше чем на Java.

Я бы еще посоветовала книгу „A byte of Python”, есть на рус.яз. — goo.gl/6RzXyY www.codecademy.com/learn/learn-python, и на udemy курсы типа Python. From zero to Hero.

я б расставил приоритеты:
1. Webdriver
2. если на проекте нету возможности создавать входящие данные с ЮИ — но есть нужный эндпоинт — автоматизация REST / SOAP.
3. если п.2 нету и прям горит на вчера — базы данных готовьте у себя тест данные инжектите и чистите перед/после тестов
4. Если п.2 нету и не горит — учитесь и делайте стабы/моки — лучше на том языке на котором у вас крутится BE
Все это можно нагуглить без особых проблем

Мало что поняла из этого, попробую нагуглить. Большое спасибо!)

codecademy.com — ази джави
udemy.com — далі те що цікавитиме, наприклад WebDriver

HTTP, REST и SQL. И питончик какой-нибудь скорее чем джаву.

если вам все равно какой язык начинать учить, можно просто провести анализ рынка и понять с каким языком автоматизаторы самые востребванные

Сдается мне что главное чтобы решить задачи для автоматизации, если оба языка это позволяют в полной мере- тогда смотреть что эффективнее, а потом что легче для обучения) а Вы как считаете?)

Вообще есть старая пословица про «Сколько языков ты знаешь столько раз ты человек». Было бы полезно если есть желание переключиться наиболее быстро и продуктивно готовиться таки под требования конкретного проекта или позиции.

Но в целом не, JS скорее не.

@QAonlineEducation телеграм . Обращайтесь

Ну, для мелкой автоматизации типа дернуть ендпоинт — посмотреть что получилось скриптовый язык с интерактивной консолью по-моему будет предпочтительней, особенно если не лезть во всякие эти ВебДрайверы.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

народ, никто ни на какие курсы не ходил и ничего не может посоветовать? :)

Нет таких курсов. По кусочкам в интеренете можно собрать всё что интересует.

не могу я собрать по кусочкам, поэтому ищу тех кто уже собрал ) нужно быстро мне )

Не можете собрать в интернете нужную Вам инфу, потому что быстро нужно стать хорошим автоматизатором? Понялпринял

ой все)
когда то давным давно, был человек который мне просто уделил 45 минут своего времени и так все завертелось и так все пошло, а вот не было бы его, то фиг его знает где бы я был и до чего дошел!

не могу я собрать по кусочкам, поэтому ищу тех кто уже собрал ) нужно быстро мне )

я читаю как «киньте ссылку где нужно что-то почитать два вечера и сразу пойти на собеседование, а то впадло искать самому и разбираться, а в ИТ, говорят, можно на теплый стул присесть», а не как «вот тут у меня не получается, я попробовал то-то и то-то, перечитал то-то и то-то, потратил N дней. Можешь помочь и глянуть со мной?»
Попахивает успешной карьерой хорошего автоматизатора (нет)

И что здесь такого? В начале каръеры ниразу не ясно что нужно, а что нет, или что современно, а что устарело. В свое время, я бы многое отдал за хорошего ментора или хороший интерактивный курс по основам Java и вообще по разработке. Да и сейчас хорошая книга/ресурс/курс на вес золота. Особенно из-за разнообразия и изобилия контента, большинство из которого очень поверхностно покрывает материал.

Странная интерпретация. Почему-то часто встречаю такую реакцию, будто я к Вам в карман лезу ) Для человека у которого пара часов свободного време в день это роскошь и часть информации это названия и правда здорово было бы выйти на хорошие ресурсы с самого начала. А потом выходить с вопросами получилось не получилось спасите помогите. Это где это срочно можно начать автоматизировать интересно? Даже курсы длятся 3-4 месяца и это по верхам, полуфабрикат. У вас есть масса времени, выходит разобраться? Здорово. Сюда тоже долго думала писать или нет, но приятно удивилась отзывчивости.

Яна, нашли курс для себя? я сейчас тоже в поиске

Для использования селениума, можно брать практически любой язык. Тыкать через него по кнопочкам не составляет никакого труда. Куда трудней поднять/настроить окружение, сделать моки и тд. Все это подразумевает, что вы разработчик, а потом уже

Automation QA

но за меня же его никто не будет собирать :)

Составляет это неплохой такой труд.
Кнопочки могут не иметь id (привет xpath), могут динанически пропадать/появляться, могут быть не совсем кликабельными, могут быть хз в каком другом состоянии. С другимим элементиками все так же или еще веселее. Добавляем сюда медленный интернетик «пользователя», частично медленный «интернетик» при вызове сторонних ресурсов, и получаем вполне себе геморную задачу, которая требует, как минимум, неплохого опыта для эффективного и, главное, стабильного решения.

Вы к тому, что сайт должен «позволять» наладить автоматизированное тестирование? я поняла теперь, спасибо. Я больше думаю в сторону тестирования бекенда, где все постабильнее, но почему-то все уделяют особове внимание фронту, не знаю отчего.

Как минимум id должны иметь все элементы (динамически создаваемые особенно) для более удобного их нахождения.
С использованием Selenium проблема тут в другом. На сколько я знаю, сейчас нету возможности определить когда страница полностью закончила загружаться из-за динамической её природы.
С кнопочками все достаточно просто, хотя и это зависит от конкретного случая.
Сложее когда нужно протестировать элементы типа выпадающих списков и их значений (которые могут зависеть от других элементов), поиска с автодополнением, поиска с dropdown, таблиц с pagination и/или сортировкой, эффект от выбора radio button/checkbox/dropdown list и т.д. Нельзя точно понять когда js код закончил подгружать новые данные. Соответственно, нужно делать задержки с опрашиванием. А длина задержки может быть разной при разной скорости интернета пользователя и/или количества данных.
Возможно уже придумали новые крутые утилиты на базе Selenium Webdriver или на базе чего-то другого и я не в курсе. Ну или то, что я описал выше можно обработать оптимальние.
Но это то с чем я столкнулся когда тестировал свой предыдущий проект. Мне нужно было что-бы Selenium тесты работали неделями и не падали, периодически выполняя определенные действия или проверяя текущее состояние приложения через Web UI. Все ошибки нужно было отловить и зарепортить, но не падать. У меня ушел месяц на 20± страниц с достаточно богатым функционалом.

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

Есть там всякие waitFor элемент и так далее :) И с динамикой загрузки ок, чекаются запросы

wait ... until? Сами то пробовали это использовать, или в документации просто есть такое?

для себя нашел решение через проверки которые смотрят, что на станице выполнилcя весь js, angular и загрузка на странице завершена + в нашем приложении есть парочка спинеров, котоырые появлятся в момент подгрузки какой то даты, тоже добавил это в проверку, пока спинер виден, ждать
В общем всегда можно и нужно отказываться от статики в подобных случаях и привтязваться к событиям

Ну я в принципе об этом же. Пришлось писать свои conditions для многих случаев и искать варианты как отследить нужные состояния без false positives. Функционала «из коробки» не хватило, а тот что есть далеко не всегда подходил по разным причинам.

привет xpath

Для людей, что это юзают уже готово место в аду. Только javascriptexecutor.

Очень удобно javascriptexecutor’ом ловить ElementNotClickable/NotVisible exception’ы, правда?
При том что xpath не сильно сложнее чем ходить по ФС командной строкой. Если вы (или кто-то из ваших) копи-пастите xpath из браузера — вовсе не значит что так правильно. (не вижу ничего ужасного в //button[text()=’Yes’], //h1[contains(@title,’blabla’)]
и зачастую альтернативы xpath нет — так как у разных кнопок одинаковы цсс селектор (а чтоб пробраться к уникальному — выражение будет аж никак не лучше чем у xpath)/ нейм аттрибута нету + он дает возможность использовать текст элемента в селекторе.
тыкать разработчиков чтоб добавили какой-то аттрибут — как-то не очень (если со старта не было заложено). Если юзают реакт (например) и есть компонент с полечком — добавили обязательный аттрибут testid (для удобства тестирования) — рефакторить весь проект с этим, это как-то не ок

не вижу ничего ужасного в //button[text()=’Yes’], //h1[contains(@title,’blabla’)]

вот где зло. вместо того чтобы нативным js селектором найти нужный дом элемент, нужно учить xpath, который будто не из этого мира. по опыту скажу что лучше не писать огромные выражения, а пробираться к целевому элементу постепенно — так легче читать все эти селекторы спустя время.

xpath как xpath. Мне лично очень удобно. Покрывает все кейсы для локации элемента (поправьте, если ошибаюсь). Просто нужно набить руку в обходе деревьев, эта задача требует практики.Ну и нужно учить DOM/HTML/CSS, xpath элементарен.
Хотя это все субъективно.

Если ты такой умный покажи мне свои деньги

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