Gatling — це інструмент для проведення навантажувального тестування на 3 -ох технологіях: Scala, Akka і Netty. Сценарії симуляції Gatling написані на мові програмування Scala, однак інструмент відмінно справляється і з UI тестами.
Більшість фахівців для навантаження використовують Jmeter. Проте Gatling є доволі простіший для розуміння. Тому, незважаючи, на те що мова програмування Scala володіє значно меншою популярністю серед розробників, аніж Java, C# або JavaScript Gatling доволі популярний і часто використовується багатьма компаніями. Чому? Дізнайся нижче:
#1 Безкоштовно
Окрім корпоративної у Gatling, є безкоштовна версія, якою можна користуватися без обмежень у часі і вона цілком покриватиме Базові потреби Performance Testing
#2 Хороші документація і підтримка
На сайті https://gatling.io/ у Блозі, Resourses розділі та Youtube каналі детально описані кроки успішного старту із Gatling -ом. Час від часу відбуваються вебінари із навчання корисних фіч, пояснення роботи із оновленнями.
#3 Gatling Works Everywhere
Gatling написаний на Scala, що дозволяє запускати його в будь-якій системі. Значить практично немає шансів зіштовхнутися з будь-якими проблемами, використовуючи різні локальні машини та хмарні сервери для запуску та створення своїх тестів.
#4 Gatling потужний інструмент
Гатлінг має переваги над іншими інструментами у зв’язку з архітектурними рішеннями врахованими при його створенні. Архітектура Гатлінга асинхронна.
Наведена вище архітектура дозволяє Gatling -у реалізовувати віртуальних користувачів як повідомлення замість потоків, і кожен з них може мати унікальний сценарій тестування.
Реалізація цих віртуальних користувачів як повідомлень коштує дуже дешево на ресурсах локальних машин, що сприяє можливостям масштабування,
Отже, Gatling обробляє навантаження краще, ніж JMeter, і може допомогти зекономити процесор і оперативну пам’ять, що допомагає імітувати трохи більше користувачів.
#5 Gatling гнучкий
Тут тести і сценарії можна писати самостійно практично з нуля, і саме головне з рядочків легко читабельного коду!
Для багатьох розробників та автоматизаторів це величезна перевага. Це дозволяє зберігати тести в системах контролю версій, покращує співпрацю у команді, зберігаються чіткі історичні зміни у коді, що не дають втратити роботу, яка зроблена і яку можна перевикористати. На додаток до сказаного, тести Гетлінгу можна ще рефакторити у будь-якій популярній програмі IDE, що є потужним елементом їх оптимізації.
#6 Gatling Assertions
Ілюстрація без слів але зрозуміла.
#7 Приємний графічний інтерфейс
#8 У Гатлінга є детальні і гарно згруповані метрики
На відміну від Jmeter який криво-бідно працює з Allure. Кольорові інформативні звіти у Gatling — краса.
Gatling автоматично генерує HTML звіт із панеллю показників, які зручно аналізувати та порівнювати. Звіт ти можеш одразу підзавантажити у браузері після виконання тестів без необхідності додавати для цього додаткові плагіни. Крім цього, звіт є інтерактивним. Один звіт підсумовує загальну картину. А з нього є переходи по кліках на детальніші звіти. Причому якщо тебе цікавлять якісь моменти, то для цього ти підкоректовуєш у коді ці конкретні запити й отримуєш на них окремі звіти.
#9 У Gatling -у присутня інтеграція з інструментами моніторингу в реальному часі
Іноді не має сенсу чекати, коли тест закінчиться, оскільки навіть початкові результати іноді можуть дати усі відповіді. Тому, одним з найважливіших аспектів тестування продуктивності є моніторинг виконання, щоб знати коли тест зупинити, процес “вбити”.
У Gatling дуже проста інтеграція з інструментами моніторингу в реальному часі. Варіанти є реалізувати безкоштовно моніторинг інструментом моніторингу з відкритим кодом Grafana, усього підконфігуривши кілька файликів. Або ж інтеграцією з Taurus.
Запусти свої тести Gatling з BlazeMeter! Отримай масштабованість, безліч геолокацій та розширений звіт.
#10 Gatling інтегрований з Continuous Integration Pipelines
Gatling performance tool запускається і всі його команди можуть бути повністю виконані за допомогою командного рядка CLI. Це робить його сумісним з будь-якою платформою СІ. Подвійне щастя плагін Jenkins, запускати і трекати метрики у одному місці тест-плану.