Из ручников в автоматизаторы — Дорожная карта инструментов

Ситуация

Вы попали сюда, потому что:

  • Сейчас занимаетесь ручным тестированием, чем-то недовольны (понятно чем) и раздумываете, как войти в автоматизацию
  • Или вы уже на стажировке и думаете как прокачать свой скилл-сет
  • Или всё, что вы можете показать по программированию, это условный сертификат Python на Степике. И вы все равно хотите вкатиться в аутомэйшн. Поэтому вас интересуют инструменты low-code или no-code.

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

Выбор инструментов

Давайте сразу договоримся, что всё знать невозможно, то есть что хорошо изучить можно лишь несколько QA-инструментов, а скорее даже один инструмент. Но зато знать его хорошо — на этом и сосредоточить усилия.

Какой «тулз» изучать, зависит от следующего:

  • Что вам нравится. Это во первых. Что бы там не говорили — хорошо учится только то, что «хорошо заходит» изначально. К чему у вас есть склонности и способности. Обычно вы это сразу видите. Если «не нра», не нужно себя заставлять.
  • Специализация — по заумному называется домен вашей экспертизы.

Область, платформа и тип тестируемого приложения в значительной степени определяют выбор инструмента. 

Быстрый пример, если нравится заниматься функциональным тестированием сайтов, то изучать такие инструменты автоматизации Web-интерфейсов как Selenium, Watir, QTP и подобные. 

Для мобильных приложений — инструменты Appium, Robotium и подобные.

  • Опыт программирования — зависит от того, насколько хорошо вы умеете программировать. И умеете ли вообще. И способны ли научиться. И есть ли для этого время. Существуют инструменты, требующие минимального знания языков программирования (low-code) или вообще не требующие (no-code tools, еще называемые codeless). 

Не требующие знания ЯП, по утверждениям их создателей — тем не менее требующие понимания каких-то базовых закономерностей. 

Качество этих no-code tools бывает очень разным, некоторые появляются и исчезают, некоторые существуют многие годы. Существуют и может быть даже кому-то помогают вкатиться.

  • Платные или бесплатные — Большинство указанных далее инструментов являются бесплатными и с открытым кодом. Но не все. Платные инструменты, как правило, более гибкие в настройке, богаче функционалом, там интуитивный и приятный интерфейс не вызывающий ностальгию по 2007, наглядные репорты и документация, и так далее. Такие стандартные вещи в глобальной QA-индустрии как QTP или Loadrunner являются платными, причём не дешевыми, поэтому даже не все компании могут позволить себе их, не говоря об обычных разработчиках/тестерах.

Исходя из перечисленных факторов, я составил таблицу, которая должна помочь сориентироваться в инструментах.

Дисклеймер

Примечания. Наверное, не все приведенные автором инструменты — стопроцентно релевантны. Некоторые вообще малоизвестны в РФ (да чё уж, 99% читающих эту статью некоторые инструменты увидят впервые в жизни). У автора статьи, Kuldeep Rama, который is the founder and lead author of ArtOfTesting — «глобальное» видение, рассчитанное на широкий круг читателей от США и Европы до Индии и Ближнего Востока. Некоторые платные инструменты будут релевантны наверное только для релокантов. И это при наличии чудесных бесплатных аналогов. По некоторым инструментам вообще вопрос, нужны ли они там в таблице. Тем не менее, таблица вполне себе универсальная, очень даже полная, и позволяет сориентироваться по крайней мере в основных QA-инструментах. И сопоставить с ними свои скиллы ЯП, реалистично оценивая свои возможности. 

Большинство инструментов бесплатные, интуитивные, и не требуют особых способностей чтобы научиться с ними работать. Тем более при наличии огромного количества текстовых и видео-туториалов.

Ну, а если и с этим всё плохо, то единственный выход остается следующий — прокачивать софт-скиллы к уровню «бог» и искать стажировки. Вполне рабочий вариант, по крайней мере по отзывам прекрасной половины QA-сообщества в тг-каналах. 

И, может быть, со временем подыскивать себе опытного ментора. Который как-то сумеет подобрать вам индивидуальный ключ к Automation.

Таблица QA-инструментов

Чем НРАВИТСЯ заниматься и что должно хорошо получаться (желаемая специализация в QA Automation)Если достигнут хотя бы средний уровень скиллов программированияМинимальный уровень ЯП или близкий к нулевому (и сейчас нету времени этим заниматься)
Тестирование веб-интерфейсов на сайтах (Website UI)Selenium (бесплатный)-Языки — Java, PHP, C#, Python, Groovy, Ruby и Perl. Предпочтительный вариант, в 99,999% случаев.

Watir (бесплатный)-Языки — только Ruby. В РФ малопопулярен.

QTP (платный)-Языки — VB script

Telerik (платный)-Языки — C# и VB [там целое семейство инструментов этой компании]
Sahi (есть платная и бесплатная версия)-Язык — Javascript [прим.: что-то специфическое, но можно пробовать]
Tellurium (бесплатный)-Язык- упрощенный инглиш наподобие Gherkin [прим.: а вот это внешне кажется вполне неплохим вариантом для новичков.]
TestComplete (платный)-Возможность «учиться программированию» перетаскиванием мышкой; Python, JavaScript и VB.NET
Тестирование мобильных приложений под AndroidAppium (бесплатный)-Языки — Java, Ruby, C#, Python
Предпочтительный вариант. Здесь базовый гайд.

Robotium (бесплатный)-Языки — Java [тоже неплохо]Selendroid (бесплатный)-Selenium for Android.Языки — Java [прим.: проект подзаброшен, но пока еще живой; для новичка может и сгодится]
MonkeyRunner (бесплатный)-Языки — Jython, реализация Python в Java [прим.: немного специфичная штука, выше есть варианты получше; но если понравился — ок]
Ranorex (бесплатный)- вполне неплохая платформа для старта.Языки — скрипты на C# и VB, визуальный конструктор (перетаскивание мышкой)

EggPlant (платный)-Языки — SenseTalk (English-like). [прим.: тоже специфичная вещь, но м.б., кому-то зайдёт]
Тестирование мобильных приложений для IOSТоже Appium -Языки — Java, Ruby, C#, Python. Предпочтительный.

Frank (бесплатный)-Язык — Gherkin-подобный (конструкции типа Given-When-Then)
Ranorex — как и для Android, см. выше

EggPlant — тоже
Тестирование SOAPSoapUI (бесплатный, платная версия новичку не нужна)-Языки — Groovy, Javascript. Предпочтительный вариант для 99,99%.
Наш полный гайд по SoapUI. Самый полный, самый годный гайд по SoapUI в русскоязычном интернете (по крайней мере с точки зрения Google и Яндекса)
TestingWhiz (платный)-Языки — Не требует знания ЯП для написания скриптов

SOAPSonar (платный)-Языки — Не требуется знание ЯП

Storm (бесплатный)-По отзывам на форумах, это была отличная вещь, по функциональности сравнимая с SoapUI, при том что бесплатная, very nice tool written in F++, alas last released in 2008. Works for 90% of my cases. К сожалению уже даже китайский сайт недоступен. 

А вообще, co-code tools, в случае с тестированием такой сложной области как SOAP или REST — это изначально как-то очень неправильно, это кривой путь в автоматизацию. 
Тестирование REST APIRest-assured (бесплатный)-Языки — Java
И здесь наш большой гайд.
Предпочтительный вариант.

HttpMaster (бесплатный)-Языки — Java. Тоже годится, но Rest Assured — неформальный стандарт в этой области. А другие — дополнение.
vREST NG (платный)-.Языки — нет; Запись и воспроизведение действий; позиционируется как полный no-code-tool, но… см. выше.
Тестирование десктопных приложенийAutoIT (бесплатный)-Их внутренний ЯП (похожий на BASIC). Личное мнение: это простая штука для входа, но зачем учить ЭТО, если есть Python или JS или Java?

Winium (бесплатный)-Языки — Java, Objective-C, JavaScript с Node.js, PHP, Python, Ruby, C#, Clojure, Perl.Обзор на Хабре.
Ranorex (бесплатный)- годится, см. выше.

Sikuli (бесплатный)-Языки — Распознавание изображений (Image-based recognition) с помощью Jython (Python для Java-платформы). Довольно известная в мире вещь, в России непопулярная.
Тестирование производительностиJMeter (бесплатный)-Языки — рекомендованы Groovy и Java. Поддерживается Drag & Drop, запись и воспроизведение. Неформальный стандарт, отпетлять от изучения не удастся. Предпочтительный вариант.

Grinder (бесплатный)-Языки — Jython и Clojure

Gatling (бесплатный)-Языки — Вообще рекомендован Scala. Но разумеется никто учить его не будет, а сойдет Java или Kotlin.
JCrawler (бесплатный)-Языки — декларируется “Не требует использования скриптов на ЯП”

OpenWebLoad (бесплатный)-Языки — аналогично.

Примечание. Тестирование производительности, судя по открытой статистике, и по тому что публикуется в тех же джоб-каналах в ТГ, это +- самая высокооплачиваемая специализация в QA. Но даже для стажеров требования к Performance Tester очень высокие. Понятно, что вряд ли т.н. no-code-monkey удастся нормально вкатиться в эту сложнейшую сферу без серьезного изучения ЯП.

Как ускориться

  • Планирование — После выбора инструмента составьте план его изучения и найдите онлайн и офлайн-ресурсы для его изучения.
  • Составьте график изучения — в учебе огромную роль играет регулярность. Составьте личный график, удобный вам. И отмечайте свой прогресс (так называемые майлстоуны, знаковые достижения) на своем таймлайне.
  • Практика — вдумчиво читать учебники это хорошо, но этого мало, старайтесь сразу же отрабатывать каждую команду/функцию на практике. Большинство книг и туториалов в Интернете идут с примерами кода — пользуйтесь.
  • Смотрите скрипты из чужих реальных проектов — Существует разница между примерами скриптов, которые мы видим в туториалах, и скриптами в реальных проектах. Поэтому старайтесь получить реальный опыт из первых рук. Вникайте в эти скрипты. Старайтесь понять, почему то-то и то-то сделано именно так, а не по другому. Спрашивайте, почему.
  • Зарегистрируйтесь наконец на ГитХабе — и понемногу пилите там свой личный Automation-проект. Или, если сейчас вы Manual, пытайтесь автоматизировать свои операции, а код на GitHub.

Источник

***

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас