Реальность…

Привет, друзья! Сегодня я подумал о том, чтобы высказать свое мнение о языках, которые мы используем для автоматизации тестирования. Я чаще вижу эту проблему, будучи SDET/Lead, и не могу говорить об этом. Два языка, java и javascript, я сузил круг. Обратите внимание, что конкуренцию по-прежнему составляют Python и C#, хотя в этой статье я особенно говорю о Java и javascript.

1. Java в автоматизации тестирования программного обеспечения.

2. Как и почему Js стал таким популярным в ТА.

3. Почему организации проверяют компетентность специалистов по тестированию программного обеспечения в Javascript?

4. Заключительные мысли.

Почему Java?

Если вы работаете инженером-программистом в отделе тестирования или обеспечения качества, я уверен, что в какой-то момент своей карьеры вы сталкивались с Java. Если нет, то вы либо новичок в отрасли, либо лжете. Java довольно популярен в автоматизации тестирования программного обеспечения по целому ряду причин. Я не буду рассказывать о преимуществах Java, таких как независимость от платформы, открытый исходный код и объектно-ориентированное программирование… но позвольте мне рассказать, почему Java так популярен среди инженеров по автоматизации.

Поскольку Java существует уже давно, существует множество легкодоступных платформ, подключаемых модулей, API и библиотек, позволяющих использовать Java для автоматизации тестирования.

Поскольку Selenium, один из самых популярных инструментов автоматизации тестирования, в основном написан на Java, существует значительное сообщество, поддерживающее автоматизацию тестирования с использованием языка Java. Например, если вы погуглите «Как обрабатывать выпадающие списки в селене», я уверен, что 95% результатов будут на Java.

Инженеры по обеспечению качества выбрали Java в качестве языка программирования для автоматизации тестирования из-за поддержки большого сообщества и широко доступных фреймворков, подключаемых модулей и API. Так что, по крайней мере, если они застряли, они могут легко найти решения, поискав их в Google.

По вышеупомянутым причинам многие фреймворки для автоматизации тестирования написаны на Java. Если есть так много веских причин для использования Java в качестве языка программирования, зачем использовать Javascript? Давайте углубимся и посмотрим, что произойдет!

Популярность JS в автоматизации тестирования.

Несколько лет назад Javascript в основном использовался для сценариев на стороне клиента, но теперь он используется и для сценариев на стороне сервера. Одной из основных причин популярности Javascript среди разработчиков является его раннее внедрение интернет-гигантами, такими как Facebook, Netflix, Uber и даже LinkedIn. Итак, давайте посмотрим, как выросла популярность Javascript в автоматизации тестирования.

В настоящее время почти все компании используют тестирование сдвига влево. При использовании этих подходов крайне важно участие команды. Поскольку разработчики проводили тестирование, они хотели использовать знакомый им язык, поэтому Javascript был очевидным выбором!

Если код автоматизации написан на том же языке, что и код разработчика, почему бы не сохранить их вместе в одном проекте? Это зависит от компании; тем не менее, некоторые распространенные причины включают сотрудничество между разработчиками и QA для автоматизации сценариев, предоставление API для среды автоматизации, чтобы упростить получение данных или создание локаторов на основе их родительских/дочерних элементов, а также компании, желающие сохранить код разработки и тестовый код вместе. , для лучшего качества кода и удобства использования проекта!

Желание создать средства тестирования на основе языка программирования Javascript возникло по указанным выше причинам, что открыло путь для разработки новых сред автоматизации на основе javascript: Protractor, Puppeteer, Cypress, CodeceptJS и WebdriverIO — вот несколько примеров.

Почему компании ищут способности Javascript в инженерах по тестированию программного обеспечения?

Многие предприятия идут к автоматизации программного обеспечения, и теперь это часть их определения готовности! Компании ищут кого-то, кто может тестировать, автоматизировать и интегрировать конвейеры CI/CD и DevOps. если вы мне не верите, я бы хотел, чтобы вы изучили несколько вакансий инженера по контролю качества программного обеспечения; это один из лучших способов освоить быстро меняющийся стек технологий в этой отрасли. Некоторым работодателям явно нужны знания javascript, поскольку их код разработки написан на нем. Таким образом, как инженеру по автоматизации тестирования, понимание кода разработки будет чрезвычайно полезно при анализе PR разработчиков. Когда вы проводите сеансы группового/парного программирования с разработчиками, вы можете вносить свои предложения и отзывы на самом раннем этапе DLC, что поможет повысить общее качество продукта, который вы производите.

Раньше должность QA Engineer была больше похожа на реактивную, на которой вы должны были протестировать код после завершения разработки, обнаруживая недостатки и протоколируя их. Тем не менее, тестирование развивалось со временем. Теперь это более активная и совместная роль с разработчиками; помните, если вы обнаружите недостатки на ранней стадии, вы станете хорошим инженером по обеспечению качества, поскольку устранение ошибок на ранних стадиях обходится дешевле.

Как показано на следующем изображении из stack overflow, javascript занимает 69 процентов рынка и будет продолжать расти. В результате вполне вероятно, что многие компании будут искать навыки работы с javascript при приеме на работу в качестве инженера по тестированию программного обеспечения.

Заключительные мысли

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

С другой стороны, для Java мощная поддержка сообщества, удобный oop и легкодоступные библиотеки надолго сохранят его лидерство. Будьте уверены, автоматизация баз данных будет по-прежнему осуществляться с помощью Java. Не говоря уже о том, что Java остается одним из величайших языков программирования в мире (3 миллиарда устройств все еще «работают» на Java :)).

Вот мой взгляд на интеграцию java и javascript для автоматизации тестирования. Если кто-то спросит меня, какой язык программирования вы должны использовать для автоматизации тестирования, я бы порекомендовал начать с языка программирования, с которым вы знакомы, изучить основы сред автоматизации, а затем легко выполнить миграцию.

До скорой встречи! Мир ✌️!