Allure Starter Project. Стек на заказ
Мы живём в мире с огромным многообразием тестовых фреймворков, библиотек и инструментов. Это открывает большие возможности, но настройка стека из-за этого занимает много времени. Из-за этого у вас может не быть возможности попробовать несколько решений, чтобы сделать обоснованный выбор. Для решения этой проблемы был создан Allure Starter Project.
Зоопарк инструментов
Двадцать лет назад всё было иначе: тестовые фреймворки были редкостью. Первый популярный фреймворк, JUnit, появился в 2002 году, и какое-то время у него почти не было конкурентов. Вместе с экстремальным программированием и TDD он помог людям осознать важность автоматизированного тестирования и коротких циклов поставки.
Благодаря успеху JUnit стали появляться его порты на другие языки: CppUnit для C++, NUnit для .NET и многие другое. Спустя некоторое время стали очевидны проблемы первых фреймворков, и, чтобы их преодолеть, тестировщики писали новые фреймворки: так, TestNG должен был исправить недостатки JUnit.
Помимо тестовых фреймворков стали возникать другие инструменты, такие как Cucumber. Быстро развивались инструменты сборки: первая версия Maven — тот же 2002 год, Gradle — 2008.
В результате всех этих разработок сегодня в нашем распоряжении впечатляющий набор инструментов.
Благодаря успеху JUnit стали появляться его порты на другие языки: CppUnit для C++, NUnit для .NET и многие другое. Спустя некоторое время стали очевидны проблемы первых фреймворков, и, чтобы их преодолеть, тестировщики писали новые фреймворки: так, TestNG должен был исправить недостатки JUnit.
Помимо тестовых фреймворков стали возникать другие инструменты, такие как Cucumber. Быстро развивались инструменты сборки: первая версия Maven — тот же 2002 год, Gradle — 2008.
В результате всех этих разработок сегодня в нашем распоряжении впечатляющий набор инструментов.
Разве много — это плохо?
Хорошо, когда есть выбор, но у излишнего многообразия есть обратная сторона. Попробуем представить, сколько вариаций заложено в нашем стеке:
Это значит, что менять стек приходится довольно часто. А подробная документация у инструментов есть далеко не всегда, как и поддержка в IDE. Поэтому каждая смена стека занимает много времени.
- Язык программирования (который может иметь разные версии, часто не совместимые с предыдущими)
- Инструмент сборки
- Тестовый фреймворк
- Библиотеки, используемые для тестирования
Это значит, что менять стек приходится довольно часто. А подробная документация у инструментов есть далеко не всегда, как и поддержка в IDE. Поэтому каждая смена стека занимает много времени.
На практике мы постоянно сталкиваемся с тем, что в чьей-то системе не работает, скажем, Pytest версии x.y.z, хотя на других машинах всё запускается, и нужно воспроизвести конфигурацию, чтобы воспроизвести ошибку. Или мы хотим попробовать несколько фреймворков, прежде чем остановиться на каком-то одном - это значит несколько раз настроить конфигурацию. Или мы хотим оценить, насколько трудоёмко будет перейти со старой версии Cucumber на новую. Или мы только что пришли в индустрию, и бьёмся с настройкой IDE и зависимостей.
С нейросетями эти задачи стали решаться проще — но сама проблема не ушла.
С нейросетями эти задачи стали решаться проще — но сама проблема не ушла.
Решение
Во всех этих сюжетах выручает Allure Report Starter Project: он собирает стек, а пользователю остаётся только скачать.
Работает это так. Перейдите на https://allurereport.org/start/ и выберите набор инструментов, которые вам нужны для вашего проекта:
Работает это так. Перейдите на https://allurereport.org/start/ и выберите набор инструментов, которые вам нужны для вашего проекта:
Система затем генерирует архив со всем, что вам нужно, включая документацию. Этот стек гарантированно работает: перед скачиванием всё проверяется на CI.
Папку, которую вы получите из архива, можно открыть в IDE как новый проект. Структура файлов там следующая (на примере Java-проекта с JUnit5):
Папку, которую вы получите из архива, можно открыть в IDE как новый проект. Структура файлов там следующая (на примере Java-проекта с JUnit5):
.
├── .mvn
│ └── wrapper
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── src
│ └── test
│ ├── java
│ │ └── org
│ │ └── example
│ │ └── junit5
│ │ ├── StepTest.java
│ └── resources
│ └── allure.properties
├── .gitignore
├── mvnw
├── mvnw.cmd
└── pom.xmlПо большому счёту, Starter Project — это продвинутая кнопка «Новый проект» в IDE, с возможностью настройки проекта. Похожее решение уже существует для Spring и называется Spring Initializr. Starter Project делает то же самое — но для тестирования. По сути, это игровая площадка, где комбинацию легко поменять в несколько кликов, и можно экспериментировать, сколько душе угодно.
Преимущества полиглотности
Сколько бы перестановок мы не делали в стеке, одна позиция может оставаться неизменной: отчёт. Allure Report был разработан именно для того, чтобы интегрироваться со всем разнообразием современных инструментов.
Независимо от того, какой используется язык или тестовый фреймворк, представление в отчёте будет одинаковым: шаги с описаниями на естественном языке, вложения и трассировки стека для ошибок.
Независимо от того, какой используется язык или тестовый фреймворк, представление в отчёте будет одинаковым: шаги с описаниями на естественном языке, вложения и трассировки стека для ошибок.
Список всего, с чем интегрируется Allure Report, доступен здесь. Тестовых фреймворков там перечислено 36 штук. Раньше настройка интеграции с любым из них требовала множества усилий — настройки параметров и т.д. Но теперь Starter Project заботится обо всем за вас, и вы получаете всё готовое.
Заключение
В современном тестировании технический стек чрезвычайно разнообразен, и комбинации можно встретить самые разные. Это даёт пространство для выбора, но ограничивает количество людей в сообществе, работавших с конкретной комбинацией, затрудняет решение проблем и усложняет эксперименты с новыми инструментами.
С помощью Starter Project можно пробовать разные комбинации инструментов быстро и без ошибок, всего в несколько кликов. Это значит, что:
Попробуйте, и если понравится — киньте разработчикам звёздочку на Гитхабе!
С помощью Starter Project можно пробовать разные комбинации инструментов быстро и без ошибок, всего в несколько кликов. Это значит, что:
- тратится меньше времени на принятие решений об использовании или обновлении технологий;
- быстрее идёт диагностика технических проблем на редких технических стеках;
- снижается порог входа для людей, только начинающих изучать автоматизацию тестирования.
Попробуйте, и если понравится — киньте разработчикам звёздочку на Гитхабе!