Всем доброго времени суток!

Дано:

- Полуготовый тестовый фреймворк на Java+TestNG+Selenium/Selenide с почти сформированной тестовой архитектурой;

- 2 QA-инженера со знанием JavaCore и слабым пониманием проектирования ПО;

- большая команда Java/Groovy разработчиков;

- большая потребность в инженерах по тестированию, т.е. возможность прибытия новичков;

Проблема:

- низкая скорость написания тестов;

- относительная сложность написания тестов (большая сложная система);

Варианты решения:

- поиск более легкого высокоуровневого языка под JVM с возможностью безболезненной интеграции с существующими тестами на Java

-- варианты языков: Clojure, Groovy, Kotlin.

Clojure - потому что наслышан про языки из lisp-семейства и про возможность легкого метапрограммирования и лёгкого создания DSL на языках этого семейства. Ну это не все фичи конечно же. Ещё плюсом может быть иммутабельность по дефолту и прочие возможности функциональщины. Сложность может представлять только не совсем привычный синтаксис языка, но я думаю это не такая уж большая проблема, т.к. эти особенности синтаксиса вполне можно объяснить за одну небольшую лекцию/daily + мне кажется, что поначалу может быть непривычно и сложно, но потом это окупится с лихвой (при проектировании тестов/фреймворка), но, возможно, я и не прав...

Groovy - история та же (возможность легкого метапрограммирования и лёгкого создания DSL), но синтаксис проще, но и есть подозрение, что язык предоставляет слишком большое количество развесистых граблей.

Kotlin - выглядит как самый вменяемый кандидат из всех, но лично я знаком с ним меньше всего. Радует то, что:

«В мае 2017 года компания Google сообщила, что инструменты языка Kotlin, основанные на JetBrains IDE, будут по стандарту включены в Android Studio 3.0 — официальный инструмент разработки для ОС Android.



На Google I/O 2019 было объявлено, что язык программирования Kotlin стал приоритетным в разработке под Android.»

и используется так же и для тестирования Android-приложений (тоже важный фактор).



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








 , , , ,






URL записи