Нет, здесь не говорим об экзотике типа Rust, Julia, Crystal или Elixir.
Тестировщик, претендующий на высокую зарплату, в 2022 году обязан иметь профильные технические знания/навыки. Тестировать интерфейс еще допустимо без знания ЯП; но вот что-то сложнее уже не получится; невозможно предметно разбираться в автоматизации, тестировании API, баз данных и микросервисов без знания языков.
К счастью, в 2022 году языки для тестировщика все еще достаточно традиционные и широко используемые, по ним есть много хороших туториалов и книг.
HTML
Да, старый-добрый язык разметки, без которого и в 2022 году невозможна веб-страница. (Хотя HTML не является, в строгом понимании, языком программирования). При помощи HTML в визуально удобном формате отображается текст, рисунки, и медиа. Можно быть уверенным, что “связка” HTML c JS-скриптами и в ближайшие годы будет широко использоваться в веб-разработке, а значит и в веб-тестировании.
Разумеется, если ты не знаешь, что такое <img>, <p>, <a>, <span>, то тебе придется трудно. Если ты тестировщик и не знаешь HTML, то советуем начать с самого популярного в мире туториала по HTML на W3Schools (на русском языке есть отличный справочник на htmlbook.ru). Заслуженно считается самым лучшим и самым “правильным” туториалом, лучше ничего не может быть, ведь его пишет организация, которая, собственно, и задает общемировые стандарты интернета для всех остальных — Консорциум W3С. Туториал на английском, там же есть и видео-туториалы.
Да, и CSS тоже
В дополнение к HTML, тестировщику-новичку в 2022 надо знать и CSS. Это тоже считается, в некотором роде, языком программирования. CSS стили встречаются практически на каждой странице, которая будет попадаться тебе в работе.
Таблицы стилей “украшают”, сам по себе в общем-то бедноватый HTML. Создание CSS 25 лет назад было призвано “логически разделить контент и его отображение”. Практически каждая веб-страница в 2022 году построена с применением CSS-стилей. Удобочитаемое форматирование, реюзабельность, упрощение работы с десятками, сотнями и тысячами страниц на сайте, кэширование стилей, а значит ускорение загрузки.
Если катастрофически не хватает времени “нырять в глубины” CSS на серьезном уровне и разбираться в стандартах, то здесь удобный список самых важных стилей; этого должно хватить для самого базового уровня.
JavaScript
А теперь переходим к настоящим, серьезным языкам программирования. И JavaScript в 2022 году, видимо, все-таки главнейший язык для тестировщика, особенно веб-тестировщика. Веб-программирование (и веб-тестирование) немыслимо без знания JS.
97% сайтов в 2022 году применяют JS. И практически каждый крупный сайт в 2022 году использует какую-то JS-библиотеку для расширения функциональности. Самого по себе JS, скорее всего, окажется маловато: очень желательна еще отдельная “специализация”. Тестировщик, умеющий в React, или Ember.js, или Vue.js, или AngularJS, или Node.js, будет отмечен еще на этапе собеседования, и может рассчитывать на отличные карьерные перспективы.
В практическом рассмотрении, JS нужен тестировщику потому, что на нем часто пишутся тесты веб-приложений. Самые распространенные тестовые фреймворки позволяют писать тесты на JavaScript: Mocha, Jasmine, Nightwatch, Selenium WebDriver, Protractor, и Puppeteer.
Java
За 30 лет бурного развития ИТ в небытие ушли десятки интересных перспективных языков программирования. “Джаве” повезло: у нее была поддержка крупнейшей мировой корпорации. Java все так же в топах самых популярных языков программирования и в 2022 году. Несмотря на перспективность Kotlin и Dart, старая-добрая Java по прежнему “официально основной” язык программирования самой популярной мобильной платформы Android. Не теряет актуальности desktop-программирование. И все так же актуален огромный (и очень хорошо оплачиваемый) корпоративный сегмент программирования на Java (и, следовательно, тестирования). Также веб-серверы, веб-приложения, иногда игры все еще пишутся на стабильном хоть и громоздком Java. Кроссплатформенность, от огромных корпоративных вещей — и вплоть до запуска на Raspberri PI, это то что держит Java на плаву в 2022 году.
Что касается тестирования, то Java прекрасно работает в связке с самым распространенным в 2022 рабочим инструментом тестировщика — Selenium.
Необходимо знание хотя бы базовых конструкций Java тестировщику, работающему в Selenium (и не только). Мощные современные фреймворки автоматизации — без знания Java? Найти работу QA в крупной компании, без Java? Вряд ли.
Python
Читабельность кода, особенно если в команде много новичков “после курсов” — это то, чем выгоден Python. Изначально ориентированный на читабельность, он позволяет быстро писать код, имеет дружелюбное к новичкам коммьюнити, прост в изучении.
Тестировщик, знающий Python, будет работать в Robot, PyTest, или PyUnit — фреймворках автоматизированного тестирования.
Если с Python незнаком совсем-совсем, то, вместо тысячи хайповых (и столь же бестолковых) туториалов и видео “Как научиться программировать на Python за полчаса”, лучше начать знакомство с благословления непосредственно от создателей и хранителей Python: вот здесь.
Ruby
Своеобразно красивый, лаконичный, элегантный Ruby пережил взлет и падение. Но не ушел в небытие, хотя времена всеобщего хайпа по RoR давно позади. Достаточно “нишевый” и, все еще, высокооплачиваемый ЯП, в том числе что касается тестирования.
При создании был фокус на простоте и продуктивности:
“Ruby создавался как такой ЯП, который нравится разрабам, а не бизнесу.” — Хабр
“Рельсы”, то есть веб-фреймворк Ruby on Rails, в 2022 году работают на мощнейших мировых платформах. Посуди сам: будь Ruby плохим, устаревшим языком, разве его применяли бы в BaseCamp, GitHub, Shopify, Twitch, Airbnb, Hulu, Square? Потому-то Ruby и не уходит из видимости, как программистов так и тестировщиков.
Тестировщику нужно знать, что фреймворки для тестирования RSpec, Cucumber и Minitest работают с Ruby, и что знание Ruby QA-специалистом все еще неплохо оплачивается.
Статистически, “Путь Тестировщика” начинается с HTML/CSS; и к сожалению часто на этом и заканчивается; «Middle/Senior Test Automation Engineer«, как правило, владеет или JavaScript, или Python.
Жаль только, что мало кто даже из разработчиков знает все эти языки.
Но тестировщик обязан!
«Тестировщик, умеющий в React, или Ember.js, или Vue.js, или AngularJS … »
AngularJS в этом месяце прекращают поддерживать, наверное имелся ввиду просто Angular
Тестировщик, умеющий в React пойдет во фронт разработку …
Видимо имеется ввиду тестировщик в кремниевой долине, не меньше
Тестировщик, умеющий писать на паскале и в config.cfg менять цвет прицела может хотя бы работать за еду в 2022?
Самый топовый язык для тестирования веб-интерфейса c#
Перед тем как начать изучать тестирование ПО, нужно изучить хотя бы один из языков программирования?