Возможности и нюансы применения Kotlin в автоматизации тестирования ПО

Возможности и нюансы применения Kotlin в автоматизации тестирования ПО
21.08.2024
#новости Возможности и нюансы применения Kotlin в автоматизации тестирования ПО
Возможности и нюансы применения Kotlin в автоматизации тестирования ПО Язык разработки Kotlin стал широко известен во всем мире после того, как его представили на Google I/O 17 и поддержка созданных на нем инструментов была добавлена в официальный инструментарий Android Studio 3.0. Kotlin — язык простой, асинхронный, функциональный и поддерживает ООП. Имеет довольно большое применение во всех областях разработки приложений, а разработчики языка на вопрос «Почему использовать Kotlin?», отвечают, что он еще и идеальный для тестов. Посмотрим, насколько справедливы такие утверждения.

Kotlin в лабораторных условиях


Чтобы проверить, насколько хорошо Kotlin готов выполнять возложенные на него задачи автоматизации тестирования, мы в IT_ONE провели эксперимент: создали проект, в котором на Kotlin реализовали базовые архитектурные компоненты фреймворка для автоматизации тестирования, согласно обобщенной архитектуре ISTQB. Реализовали слой выполнения с возможностью логирования и формирования отчета о результатах выполнения тестов. На слое адаптеров (драйверов) проверили возможности работы с веб-интерфейсом, REST API и базой данных. Для этого написали базовые тесты «как есть» для каждого предполагаемого объекта тестирования. В дальнейшем это позволит оценить, насколько удобно и эффективно будет работать на слое определения тестов при написании самих тестов, определении тестовых процедур, параметров среды выполнения и формировании библиотеки тестов. Данный подход можно применять для любого языка или инструмента, который вы планируете использовать в дальнейшем для автоматизации тестирования.

На этом этапе можно назвать ряд выявленных нами преимуществ Kotlin для тестировщиков. Во-первых, в Kotlin присутствует DSL (доменный язык) для cистемы автоматической сборки проекта Gradle и CI/CD сервераTeamCity, то есть мы можем использовать один язык и для написания тестов, и для сборки, и настроек запуска, что гораздо проще, чем использовать разные. Во-вторых, в Kotlin JVM изначально присутствует необходимая функциональность для написания тестов — хотя и не для всех библиотек, написанных изначально на Java, есть готовая адаптация под идиомы Kotlin — и их нужно дополнительно расширять и «адаптировать». В-третьих, в язык уже встроены некоторые возможности из коробки: объекты одиночки, ленивые свойства, делегирование свойств и другие, которые позволяют быстро реализовать различные шаблоны проектирования и писать меньше кода.

Подробнее по ссылке.