Jmeter Переваги та Недоліки

Це 1 -й допис по JMeter. Узагалі по JMeter -у ми плануємо публікувати серію статей, щоб згодом сформувати на нашому сайті власний міні туторіал по JMeter -у для потреб наших студентів, курсу Основи Тестування Програмного Забезпечення. Ну, а всім решта, думаю він стане в нагоді для самонавчання. Бо як показує досвід, здавалося би офіційна документація JMeter гарно описана, на guru99.com чудовий туторіал по JMeter. Усе розжовано з малюнками і гіфками, зрозуміліше далі нікуди, але на англійській — і люди то зависають від цього кепсько 😯

Обіцяємо цей туторіал  JMeter -у познайомить Вас з поширеною популярною програмою для Load & Performance Testing, її перевагами та обмеженнями. І найголовніше, забере страх, боягузкість, яка виникає через деяке нерозуміння, щоб спробувати скористуватися JMeter.

Що таке JMeter?

JMeter — це десктопний додаток, опенсорс інструмент навантажувального тестування, який написаний на чистій Java, а працює на JVM (віртуальній машині Java, особливість JVM в тому, що JVM використовуватися для виконання програм, написаних в інших мовах програмування і завдяки цьому наш герой JMeter кросплатформенний).

JMeter має свою мову опису сценаріїв навантаження, і навіть графічний UI. Багато хто сперечається, що графічний інтерфейс джімітера є страшним і не дружнім, але як по мені — нормальний, не в ньому суть. Окрім, тести можна запускати не тільки із графічної оболонки, тести дозволено запускати із командної строки.

Розробляється JMeter Apache Foundation, код і API джімітера є у відкритому доступі, не потребує ліцензії, тому кому чогось не вистачає, проте має відповідні пізнання може собі щось доробити чи переробити, а хтось як ми просто використовувати також. Прикладами таких доробок інструментів Performance testing, котрі працюють з JMeter є TaurusBlazemeter. Джимітер має велике співтовариство користувачів тестувальників та розробників по усьому світу.

Для чого тестувальнику потрібен JMeter?

Застосовується JMeter для тестування load functional performance testing — українською, для перевірки на великі навантаження функціональної поведінки (багаторазовий та одночасний трафік користувачів за різними сценаріями) і вимірювання продуктивності різного виду аплікацій, що працюють за схемою клієнт-сервер, таких як: сайти, веб сервіси, бази даних, FTP сервери і т. д. По-простому перевірити скільки витримає, доки не лопне 💥

Читайте: Все про Performance Testing або тестування продуктивності

Отже, в JMeter, на момент написання версії 4.0  можна тестувати такі типи аплікацій:

  • Вебсайти: HTTP and HTTPS
  • Веб сервіси — REST і SOAP
  • Бази Даних
  • FTP Servers
  • LDAP Servers
  • Mail Servers – SMTP, POP3, IMAP
  • Shell скрипти
  • TCP Servers

Переваги JMeter

  1. Безкоштовний  доступний продукт що не вимагає ліцензії.
  2. Просто інсталюється
  3. Багатофункціональний — може тестувати навантаження різного виду програм з різної категорії, як веб аплікації, веб сервіси, бази даних, LDAP, shell скрипти і т. д.
  4. Багатопотововий фрейворк — одночасно можна семплити різні гілки завдань, виставляти число ітерацій, час підігріву тощо.
  5. Кросплатформенний — є незалежним від платформ і може працювати на різних.
  6. Функція запису і відтворення — JMeter має функцію запису і відтворення, а також дає можливість перетягувати файли, завантажувати сторонні файли, що дозволяє створювати скрипти простіше і швидше.
  7. Адаптивний — оскільки джімітер є з відкритим вихідним кодом, розробники можуть налаштувати його вихідний код відповідно до їхніх специфічних вимог, про це ми вже писали + використовувати різноманітні плагіни, про це ми поговоримо трішки пізніше.
  8. Підтримує тести розподіленого навантаження — JMeter підтримує функцію тестування розподіленого навантаження, в якій ми можемо створити налаштування типу “мастер-підопічний” для тестування навантаження на декількох машинах. Та й узагалі різні функціональні сценарії.
  9. Візуалізація результатів тестів — результат тесту може відображатися в різних форматах, наприклад діаграмі, таблиці, дерева та журналу логів. Якщо не подобається аналітика з коробки, допомагають її покращити плагіни.
  10. Добра підтримка спільноти — це означає JMeter має багато онлайн тюторіалів, блогів, форумів, відео і підтримку спільноти у відповідях на поставлені запитання.

Також Джімітер для того чого не вміє з коробки, має у вільному доступі багато плагінів, котрі допомагають в створенні і аналізі скриптів. Завдяки такій модульній архітектурі JMeter можна розширити в потрібну користувачеві сторону, реалізувати навіть досить екзотичні сценарії тестування. Підключати плагіни за посиланням цим посиланням. Є навіть особливий плагін — агрегатор плагінів, підключаєш і отримуєш ще більше плагінів  їх там багато, 64 штуки, 64 плагіна для інструменту навантажувального тестування, це повірте мені багато !!! До речі джімітер і навпаки вміє відключати плагіни, які йдуть в JMeter за замовчуванням, що дозволить позбутися 100500 непотрібних пунктів контекстного меню при створенні тест плану.

Обмеження JMeter

  1. Написання тестових сценаріїв за допомогою Джімітера вимагає певного рівня експертизи та розуміння його елементів, регулярних виразів, обробки сеансів тощо.
  2. Функції візуалізації на відміну від інших інструментів тестування продуктивності, таких як Loadrunner багатьом не подобаються.
  3. Потужності конфогурації одиночної звичайної машини недостатньо для проведення випробування тестування навантаження з великою кількістю користувачів. У таких випадках потрібно йти у хмари, або проводити розподілене тестування.
  4. Джімітер не підтримує ajax, javascript та flash, і також він не розглядає такі веб-елементи як браузер.
  5. JMeter надає дуже обмежену можливість тестування в режимі реального часу порівняно з іншими більш новішими інструментами Performance тестування.

Як JMeter працює?

Основний робочий процес JMeter показано на малюнках нижче

Workflow Jmeter

Джімітер імітує поведінку користувача, що надсилає запити на цільовий сервер, і повертає статистичну інформацію з сервера і так по колу, скільки користувачів у нас задано у Workflow JMeter, для представлення тестувальнику дані тестування агрегуються та інтерпретуються.

Related posts

Leave a Comment

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.