НАВАНТАЖУВАЛЬНЕ ТЕСТУВАННЯ СИСТЕМИ: АКТУАЛЬНІСТЬ ТА ДОЦІЛЬНІСТЬ - Scientific conference

Congratulation from Internet Conference!

Hello

Рік заснування видання - 2011

НАВАНТАЖУВАЛЬНЕ ТЕСТУВАННЯ СИСТЕМИ: АКТУАЛЬНІСТЬ ТА ДОЦІЛЬНІСТЬ

16.09.2022 14:00

[1. Information systems and technologies]

Author: Точ Ростислав Володимирович, студент, кафедра програмного забезпечення, Національний університет «Львівська політехніка», м. Львів


Формулювання задачі. У наш час все більшого значення набуває віртуальний світ і загальна кількість користувачів Інтернету суттєво збільшилася в останні роки. Більшість послуг стали доступними через Інтернет: банкінг, продаж квитків, торгівля та бізнес. Через це веб-сервіси стали важливішими, ніж будь-коли.

Веб-сервери надають послуги, які повинні бути надійними та швидкими. Допустимий час відповіді сервера на запити клієнтів не повинен перевищувати кілька секунд, щоб уникнути розчарування клієнтів. Очікується, що розробники повинні проаналізувати роботу сервера при навантаженні, перш ніж він робити його доступним онлайн.

Навантажувальне тестування – це процес навантаження системи з метою визначення того, як вона буде функціонувати. Зазвичай, навантажувальне тестування виконується для імітації пікового трафіку з великою кількістю одночасних користувачів. Іншими словами, навантажувальне тестування дає відповідь на запитання: «Як сайт працює під великим навантаженням?» [1].

Постановка завдання. Основними цілями даної статті є огляд існуючих засобів для проведення навантажувального тестування системи, актуальність та доцільність використання навантажувального тестування.

Актуальність навантажувального тестування. За даними Gartner, середня вартість незапланованого простою для критично важливих програм становить 100 000 доларів [2]. Однак для бізнесу важливо розуміти, що справжня вартість збою виходить далеко за межі втрачених можливостей прибутку під час збою. Щоб повністю оговтатися від невдачі, підприємства повинні відновити систему після відключення. Такий процес може коштувати у багато разів більше втраченого доходу.

Згідно з дослідженням Aberdeen Group 2008 року, затримка на 1 секунду під час завантаження сторінки дорівнює на 11 відсотків менше переглядів сторінки, на 16 відсотків зниження задоволеності клієнтів та на 7 відсотків втрата конверсії [3]. У доларовому еквіваленті це означає, що якщо сайт зазвичай заробляє 100 000 доларів США в день, то цього року ви можете втратити 2,5 мільйонів доларів продаж за кожну секунду повільнішого завантаження вашого сайту у порівнянні до минулого року.

Навантажувальне тестування, запроваджене належним чином і виконане протягом циклу розробки програмного забезпечення, значною мірою зменшить кількість збоїв у роботі програми. Кількість невдач, яких вдасться уникнути, буде різною відповідно до складності програми, навичок розробника та використання програми. Навіть якщо тестування допоможе уникнути невелику кількість таких збоїв, вона може окупитися в кілька разів. Це особливо стосується додатків, які є критично важливими або використовуються для отримання доходу [4].

Огляд існуючих засобів для проведення навантажувального тестування. У мережі Інтернет доступна низка рішень для проведення та аналізу навантажувального тестування системи, а також чимало публікацій та статей, що описують характер поведінки системи, середовище для тестування, генератор навантаження та інші елементи тестування. Найбільш популярними засобами для проведення такого тестування є Apache JMeter та Neotys Neoload.

JMeter – це програмне забезпечення, яке можна використовувати для тестування продуктивності, навантажувального та функціонального тестування ваших веб-додатків. JMeter також може імітувати велике навантаження на сервер, створюючи безліч віртуальних одночасних користувачів [5].

JMeter – програма з відкритим кодом. Це означає, що ви можете завантажити вихідний код JMeter, щоб проаналізувати та змінити його, якщо хочете.

Першим його розробив Стефано Маццоккі з Apache Software Foundation. Зараз він інженер-програміст в Google. Сьогодні JMeter став одним із найпопулярніших інструментів тестування у світі, серед яких Selenium та Load Runner.

Переваги використання JMeter:

• Open Source: JMeter – програмне забезпечення з відкритим вихідним кодом. Це означає, що його можна завантажити безкоштовно. Розробник може змінювати та налаштовувати його вихідний код відповідно до своїх вимог.

• Простота використання – користувач може легко встановити та використовувати JMeter. Як настільна програма Java, вона готова до використання з налаштуваннями за замовчуванням. Для його використання не потрібно мати особливих навичок чи знань у предметній області.

• Незалежний від платформи: JMeter розроблено на Java, яка є найпопулярнішою мовою програмування у світі. Тому він може працювати в будь-якій ОС, будь то Windows, Linux або Mac.

• Роширений аналіз результату тестування – JMeter може створювати ефективні звіти після виконання тестування. Результат тесту можна візуалізувати за допомогою графіка, діаграми та дерева. JMeter підтримує різні формати звітів, такі як текст, XML, HTML і JSON.

• Гнучкість – ви можете налаштувати JMeter відповідно до ваших вимог і застосувати автоматизоване тестування з JMeter. Ви можете заощадити зусилля на виконання тестових випадків вручну.

• Підтримка кількох протоколів – JMeter підтримує кілька протоколів, таких як HTTP, FTP, SOAP, JDBC, JMS та LDAP. Його також можна використовувати для тестування продуктивності вашої бази даних.

Недоліки використання Jmeter:

• Споживання пам'яті – Jmeter може імітувати велике навантаження та візуалізувати звіт після. Проте, це може споживати багато пам’яті і призвести до проблем з відсутністю пам’яті під час великого навантаження.

• Тестування лише веб-додатків – JMeter є хорошим інструментом для тестування веб-додатків, але він не підходить для тестування настільних програм.

• Відсутність підтримки JavaScript – JMeter не є браузером, тому він не може запускати JavaScript у веб-додатку. Він має обмежену підтримку обробки JavaScript або Ajax, що може вплинути на точність моделювання.

Neotys Neoload допомагає розробляти, підтримувати та запускати навантажувальні тести у вигляді коду та аналізувати результати. Даний продукт дає змогу використовуючи попередньо запаковані плагіни для інструментів CI/CD та NeoLoad API. Його легко налаштувати для тестування більшості веб-застосунків [6].

Цей інструмент має продуманий та красивий інтерфейс користувача, що робить дане програмне забезпечення приємним для використання.

Проте, Neoload отримав критику від користувачів при роботі з хмарами, тому що відсутня підтримка хмарних технологій. В додаток до цього, проекти навантажувального тестування стають важкими для супроводу коли росте кількість скриптів.

Щодо ціни, то Neotys Neoload починається від 6024 доларів США на місяць і має безкоштовну 30-денну пробну версію.

Отже, серед переваг Neotys Neoload можна виділити наступні:

• Зручний та красивий інтерфейс користувача.

• Тести описані в коді, що дозволяє їх автоматизувати та ускладнювати.

• Глибинний аналіз результатів тестування.

• Підтримка плагінів для CI/CD та NeoLoad API.

Серед недоліків застосунку можна виділити:

• Відсутність підтримки хмарних технологій.

• Важкість супроводу великих проектів.

• Надзвичайно дорогий продукт.

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

Окрім того, проаналізовано існуючі засоби для проведення навантажувального тестування. Apache JMeter є чудовим засобом для проведення ретельного навантажувального тестування системи при використанні будь-якої платформи та користуючись програмою безплатно. Водночас Neotys Neoload є платною програмою для проведення даного тестування. Він має кращий інтерфейс та дозволяє тестувальнику налаштовувати систему більш детально.

Література

1. Preparing for peak traffic: a load test guide. – 3rd ed. – WP Engine, 2019. – 15 p.

2. Lanowitz T. Quality Development Is Crucial To Emerging Technologies : research paper / Lanowitz Theresa. –2003. – 19 p.

3. Aberdeen Group. The performance of web applications. Customers are won or lost in one second : research paper / Aberdeen Group. – 2008. – 22 p.

4. Suryadevara S. Preperformance testing of a website : research paper / Suryadevara Sushma. – Auckland, 2020. – 20 p.

5. Apache JMeter [Електронний ресурс]. – Режим доступу: https://jmeter.apache.org/

6. New Relic Integration with NeoLoad. – Neotys White Paper, 2018. – 16 p.



Creative Commons Attribution Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License
допомога Знайшли помилку? Виділіть помилковий текст мишкою і натисніть Ctrl + Enter
Сonferences

Conference 2024

Conference 2023

Conference 2022

Conference 2021



Міжнародна інтернет-конференція з економіки, інформаційних систем і технологій, психології та педагогіки

Наукова спільнота - інтернет конференції

:: LEX-LINE :: Юридична лінія

Інформаційне суспільство: технологічні, економічні та технічні аспекти становлення