Про выбор технологийПривет, давайте в пятницу немного пофилософствуем. Сегодня поговорим на тему лучших языков программирования для автоматизации тестирования. Тема очень холиварная, да и через
@automation_qa_bot прилетает много вопросов: какой язык учить, как все привильно сделать, какие тренды😒.
Мой личный ТОП языков для автоматизатора
1️⃣ Python - мощный язык, умеренно простой, легко писать скрипты любой сложности. Много различных библиотек для работы со всем, чем угодно. По факту 1 тест ранер - pytest. Из недостатков - чехарда с версиями 2.7 и 3+.
2️⃣ JavaScript/Typescript - язык фронтенда и на данный момент номер 1 по популярности. Безмерное количество разных библиотек. Выбирая JS/TS, вы увеличиваете шансы приблизиться к Shift left и начать делать тестирование фронтеда правильно. За последние годы появилось много библиотек: Jest, Cypress, Puppeteer, WebdriverIO. Недостаток - асинхронность, которая в тестах не нужна. Вторым недостатком являются странности языка по части работы некоторых функций.
3️⃣ Старуха Java - классика. Почему java так популярна в мире автоматизации? Потому что до JavaScript эры именно Java была самым популярным языком. Selenium был написан для джавы и активнее всего развивался имеенно под эту экосистему. Материалов, лекций и документации больше всего именно под Java + Selenium. На стороне Java надежность, стабильность и наличие кучи библиотек. Большинство вакансий для QA Automation пока еще требуют знаний java. Есть и недостаток - громоздкость и сложность. Тесты - это то, что нужно уметь быстро создавать, быстро чинить и быстро удалять. Быстро создать тесты у вас получится, только если вы годами на ней пишете. Поставить Java, поставить Maven/Gradle, написать build script, настроить junit/testng, скомпилировать - это все занимает в разы больше времени, чем в питоне или Js. Kotlin? Он ничего принципиально не меняет.
4️⃣ C# - есть достаточно большое количество проектов, написанных на C#/.Net. Этот язык не очень популярен в мире автоматизации, там есть 3-5 библиотек, которые покроют вам нужды автоматизации. Скажу честно, мне этот язык не нравится чисто по каким-то субьективным особенностям. Из недостаков - завязка на технологии и экосистему Майкрософт и Windows.
Вот такой мой, очень субъективный, рейтинг получился. А как выглядит ваш ТОП? Жмите внизу discuss и давайте обсудим. Хорошей пятницы !☕️🍺