Тестування продуктивності 1
Тестування продуктивності (англ. Performance Testing) - це тестування, яке проводиться для визначення швидкості роботи системи або її частини при заданому навантаженні. Часто використовується для перевірки і підтвердження різних атрибутів якості системи:
- масштабованість
- надійність
- споживання ресурсів
Тестування продуктивності прагне врахувати продуктивність вже на стадії проектування і моделювання та системи, до початку основної стадії розробки.
Загальні відомості
розширені відомості
З додатковою інформацією про це поняття Ви можете ознайомитися нижче.
Напрямки тестування продуктивності
У тестуванні продуктивності розрізняють наступні напрямки:
- Тестування навантаження (англ. Load testing) - це найпростіша форма тестування продуктивності. Тестування навантаження зазвичай проводиться для того, щоб оцінити поведінку програми під заданої очікуваної навантаженням. Цією навантаженням може бути, наприклад, очікувана кількість одночасно працюючих користувачів додатка, що здійснюють вказану кількість транзакцій за інтервал часу. Такий тип тестування зазвичай дозволяє отримати час відгуку всіх найважливіших бізнес-транзакцій. У разі спостереження за базою даних, сервером додатків, мережею і т. Д. Цей тип тестування може також ідентифікувати деякі вузькі місця докладання.
- Стрес-тестування (англ. Stress testing) зазвичай використовується для розуміння меж пропускної здатності додатки. Цей тип тестування проводиться для визначення надійності системи під час екстремальних або диспропорційних навантажень і відповідає на питання про достатній продуктивності системи в разі, якщо поточна навантаження сильно перевищить очікуваний максимум.
- Тестування стабільності (англ. Endurance, soak, stability testing) проводиться з метою переконатися в тому, що додаток витримує очікуване навантаження протягом тривалого часу. При проведенні цього виду тестування здійснюється спостереження за споживанням додатком пам'яті, щоб виявити потенційні витоку. Також важливим, але часто непоміченим, фактором є деградація продуктивності, сенс якого зводиться до того, щоб швидкість обробки інформації і / або час відповіді додатки через тривалий час роботи були такими ж або краще, ніж на самому початку тесту.
- Конфігураційне тестування (англ. Configuration testing) - ще один з видів традиційного тестування продуктивності. У цьому випадку замість того, щоб тестувати продуктивність системи з точки зору подається навантаження, тестується ефект впливу на продуктивність змін в конфігурації. Хорошим прикладом такого тестування можуть бути експерименти з різними методами балансування навантаження. Конфігураційне тестування також може бути поєднане з навантажувальним, стрес або тестуванням стабільності.
Визначення цілей тестування продуктивності
Тестування продуктивності служить таким типовим цілям:
- Для демонстрації того, що система задовольняє критеріям продуктивності.
- Для визначення продуктивність якої з двох або кількох систем краще.
- Для визначення, який елемент навантаження або частина системи призводить до зниження продуктивності.
Багато тестів на продуктивність робляться без спроби осмислити їх реальні цілі. Перед початком тестування завжди повинен бути заданий бізнес-питання: «Яку мету ми переслідуємо, тестуючи продуктивність?». Відповіді на це питання є частиною техніко-економічного обґрунтування (або business case) тестування. Цілі можуть відрізнятися в залежності від технологій, які використовуються додатком, або його призначення.