Тестування продуктивності проти навантаження
У контексті інженерії програмного забезпечення проводиться тестування продуктивності для виявлення вузьких місць системи. Тести на ефективність можуть також використовуватися для перевірки таких атрибутів, як надійність, використання ресурсів та масштабованість, та встановлення базової лінії для продуктивності системи. Тестування навантаження є одним із підгалузей тестування працездатності. Він виконується для вимірювання поведінки системи при заданому навантаженні. Тестування навантаження більше стосується багатокористувацьких систем на основі моделі клієнт-сервер, але інші програмні системи, такі як текстові процесори або графічні редактори, також можуть бути перевірені навантаженням.
Тестування продуктивності
Як було сказано вище, тестування продуктивності проводиться для визначення та усунення вузьких місць програмної системи та встановлення базової лінії її продуктивності, яка була б корисною для подальшого тестування. Тестування працездатності включає випробування, такі як випробування навантаження, випробування на витривалість (випробування на замочування), випробування на шип, конфігураційні випробування та випробування ізоляцією. Тестування продуктивності вимагає отримання ретельно контрольованого набору вимірювань системи. Щоб отримати найкращі результати від тестування працездатності, його слід добре спланувати і робити це на стабільній системі, де процес тестування може протікати безперебійно. Важливо чітко розуміти, що ви насправді хочете виміряти щодо продуктивності системи, виконуючи тестування продуктивності. Наприклад, якщо ви тестуєте працездатність веб-програми, можливо, ви захочете дізнатися прийнятний час відповіді та кількість одночасних користувачів, якими може оброблятись система. Маючи на увазі ці два аспекти, ви можете розпочати тест, постійно збільшуючи кількість користувачів та виявляючи вузьке місце.
Тестування навантаження
Як було сказано раніше, тестування навантаження є частиною тестування працездатності, і воно часто проводиться шляхом збільшення навантаження на програмну систему з використанням автоматизованих інструментів. Навантажувальне тестування іноді відоме як об'ємне тестування. Деякі приклади тестів на завантаження - тестування поштового сервера з великою кількістю поштових скриньок користувачів або тестування редагування дуже великого документа за допомогою текстового процесора. Випробування навантаження проводяться за допомогою попередньо визначеного рівня навантаження, як правило, з використанням максимального навантаження, з яким система може впоратися без збоїв. Зазвичай тестування навантаження має на меті виявити помилки, які не піддаються звичайним тестуванням, таких як проблеми з управлінням пам’яттю, витоки пам’яті, переповнення буфера тощо. Тестування навантаження також служить засобом забезпечення відповідності системи базовим рівнем продуктивності, встановленим під час тестування продуктивності..
Різниця між продуктивністю та тестуванням навантаження
Незважаючи на те, що терміни тестування продуктивності та тестування навантаження використовуються взаємозамінно, тестування навантаження є лише одним аспектом тестування працездатності. Цілі двох тестів також різні. Тестування продуктивності використовує методи тестування навантаження для отримання вимірювань та тестування, і воно використовує кілька рівнів навантаження. Але тестування навантаження працює на одному заздалегідь заданому рівні навантаження, як правило, найвище навантаження системою може управляти без збоїв. На практиці тести на працездатність робляться з наміром знайти вузькі місця системи та усунути їх. Коли система вже не може бути оптимізована, починається тестування навантаження, щоб визначити, що потрібно додати до системи (найчастіше апаратні розширення, такі як кількість веб-серверів або серверів баз даних) для забезпечення вимог, заздалегідь визначених замовником..