С чего начать изучение автоматизации тестирования?

Здравствуйте.

На данный момент я работаю QA и чувствую некий простой в моем развитии.
Поэтому я решил начать изучения автоматизированного тестирования. Для этого мне нужно будет изучить основы какого-то языка программирования, изучить инструменты.

Я посмотрел некоторые статьи в интернете, посмотрел вакансии — в них фигурируют такие технологии как: PhantomJS, WebDriver, Capycabra, ZombieJS, JUnit и многие другие.
Так вот, я немного запутался.

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

👍НравитсяПонравилось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

если кто-то планирует начать автоматизацию на мобильных устройствах, здесь туториал для Android, Ruby, Cucumber BDD
www.udemy.com/...appium-cucumber-and-ruby
coupon: LEARNFOREVER

Добрый день, Алексей.

Ознакомился с описанием вашего курса на Udemy. Возник вопрос.

На сколько сложно/проблематично будет после его прохождения начать автоматизировать под iOS?

Сам фреймворк будет точно такой же (features, step_definitions).
Локаторы в Android & iOS отличаются, но команды одни и те же.
Ну и естесственно под iOS только Mac подойдет.

Правильно ли я понял, что при наличии Мака + разобраться с локаторами на iOS и вперед?

+ найти апп для iOS на котором можно будет тренироваться

PhantomJS, WebDriver, Capycabra, ZombieJS, JUnit
PhantomJS — консольный вебкит, у нас на проекте гоняются в фантоме и фаерфоксе.
Capycabra — используется в связке с руби, встречал вариант Ruby+Cucumber+Capycabra(BDD)
ZombieJS — сам не юзал, но вроде самый частый вариант это Mocha+Zombie.js+Node.js

Вообще стандартно это Java+JUnit/TestNG+Selenium WebDriver. И да, на C# автоматизация реже чем на джаве. Силениум можно также использовать для автоматизации мобильных приложений(Appium + Selenium).

Python+WebDriver — щас в тренде для написания скреперов, особенно когда нужно получить какую то инфу(к примеру узнать стоимость звонка из определенного места в другое с разными методами оплаты). По сути та же автоматизация.

Для десктопа Testcomplete, не писал на нем, не могу ничего сказать.

Capybara может все-таки? Хотя.. Капикабра неплохо звучит :)

Да, Ctrl+C а потом Ctrl+V очень бэд практис)
как говорил один очень мудрый человек «Да отсохнет рука дублирующая код»)

Капикабра неплохо звучит :)
Ну так! Звучит?-Звучит!)

К слову интересный пример на эту тему(ruby+capybara+cucumber), довольно доступно описано и с примером:
www.gamesparks.com/...th-cucumber-and-capybara

а вы уже изучили базовые принципы — что автоматизировать, зачем и когда? :-)

что же до инструмента — да неважно
возьмите любой
selenium/webdriver + java — универсальная будет связка

а потом перейдете на что надо будет (если надо будет) — не забудьте только общее погроммирование подтянуть

с помощью которых можно эффективно автоматизировать тестирование веб-приложений

Каких веб приложений?
Какой уровень тестирования (юнит, функциональные, нагрузочные, тесты стабильности, на сетевых условиях, приемочные) ?

Универсальный ответ: 42

не знаешь за что браться
Что поставят в задаче, то решайте.

Пощупайте ab, yandex tank — для нагрузочных, а для JS попробуйте сами написать фреймворк для функциональных тестов, если совсем лень то селениум залепите

Для PHP есть Codeception codeception.com

В нем можно автоматизировать Selenium2, а если что, низкоуровневые запросы выполнять через curl или ещё проще — как функциональные тесты нужного фреймворка.

Наиболее востребованный инструмент автоматизации веб-приложений сейчас Selenium WebDriver. В нашей компании автоматизированное тестирование 90% проектов выполняется с помощью этого инструмента.

Читай «в нашей компании 90% веб проектов»

Спасибо всем за советы.
Тогда еще 2 вопроса :)
1.Как я вижу, большинство советуют java в связке с webdriver.
Скажите, если java заменить на C#, это не будет критично ? Все эти инструменты стакаются с C# ? Мне этот язык более симпатичен.
2. Если я правильно понял суть, то на ЯП производятся манипуляции с серверной частью, для манипуляции элементами DOM необходим какой-то скриптовый язык (js, и тут все эти zombie и phantom) и webdriver, который всё это объединяет. Тоесть я хочу понять суть в более абстрактных понятиях, без инструментов. Можно где-то про это почитать ?

webdriver
Работает через HTTP протокол через драйвер (как ни странно) для ЯП.
Писать можно много на чём, ну кроме PHP ;)
Как он работает поболее подробно можно почитать на сайте (вы не поверите) Selenium WebDriver-а — docs.seleniumhq.org/docs :)

Ради оспаривания вашего комментария зарегистрировался тут.
Насчет Selenium WD + PHP — гуглите Behat Mink

Також підтримаю) Selenium WD + PHP нормально разом працюють

Вы бы не через 2 года, а лет через 5 еще ответили...

краще пізно ніж ніколи))) (а взагалі щось не звернув увагу на дату)

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

а что используется для автоматизации в геймдеве ?

в Wargaming пишут автотесты на Python

Чистый ЯП, обычно никакого готового инструмента нету, писать нужно самому всё...

представляю себе тестирование в гейм-деве!!

Я раннее автоматизировала web, сейчас с головой ушла в геймдев и могу сказать, что лично мне здесь на много больше нравится. Пишу тоже на Python-е. Так что очень даже реально.

больше нестандартных скриптов?)

Capycabra
Только во не «капикабра»,а "Капибара"(capybara).
Можете просто курсы автоматизации пройти,сейчас все чаще используют WebDriver+Java,иногда Ruby+Cucumber+WebDriver,еще реже QTP.

я использую robot framework, есть свои плюсы, в том числе и библиотека selenium, но он мало распространен

Если есть понимание ООП то начинайте изучать Java, иначе сначала разберитесь с ООП. Я начал изучать Java по книге Шилдт-а «Полный справочник по Java. Java SE™ 6 Edition». Также есть и видео-курсы www.youtube.com/...harkovITCourses.
Если Вы хотите работать с вебом, Вам необходимо будет разобраться с WebDriver-ом (youtu.be/aJsrR36toLg) и локаторами ( www.youtube.com/...t=TLttvoHRm1tPA ).
Конечно лучше читать документацию, дал ссылки на видео, что-бы посмотрели что это такое.
Порталы для автоматизаторов:
automated-testing.info
software-testing.ru
Канал на youtube: www.youtube.com/...er/autotestinfo

Еще очень классная штука имхо htmlunit, но он совсем не распространен.

для веба есть ещё смысл посмотреть на github.com/...ls/htmlelements
очень удобная штука

Как тут уже написали Selenium web driver вам в руки
остальные заметно менее распространенные.

Selenium 2.0 + TestNG + Jenkins/TeamCity + Java Core — золотой стандарт.
Для начала хватит с головой.

Интересно, у нас от Ant давно ушли, насколько я знаю.

У нас Jenkins редкий зверь, по умолчанию при Java-разработке TeamCity используем и стараемся стандартизоваться на нем

У нас Selenium 2 + Behat Mink + Jenkins. И все отлично. И программисты пхп-писты, и тестеры такие же.

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