Нефункціональне тестування
⚡ Розумний підсумок
Нефункціональне тестування перевіряє, як програмний застосунок працює з точки зору надійності, зручності використання, безпеки, масштабованості та інших атрибутів якості. У цьому посібнику пояснюються цілі, параметри, характеристики, поширені типи тестування та практичні приклади тестових випадків, що використовуються командами із забезпечення якості.
Що таке нефункціональне тестування?
Нефункціональне тестування – це категорія тестування програмного забезпечення, яка перевіряє нефункціональні аспекти застосунку – продуктивність, зручність використання, надійність та аналогічні атрибути якості. Воно оцінює готовність системи за критеріями, які функціональне тестування ніколи не розглядає, гарантуючи, що застосунок відповідає очікуванням підприємства в реальних умовах.
Класичним прикладом нефункціонального тестування є вимірювання кількості одночасних користувачів, які можуть увійти в програму без погіршення продуктивності. Нефункціональне тестування є таким же важливим, як і функціональне, оскільки воно безпосередньо впливає на задоволеність клієнтів та загальне сприйняття продукту.
Цілі нефункціонального тестування
Нефункціональне тестування проводиться для покращення загальної якості та довговічності продукту. Ключові цілі включають:
- Підвищити зручність використання, ефективність, ремонтопридатність та портативність продукту.
- Зменшити виробничі ризики та витрати, пов'язані з нефункціональними дефектами.
- Оптимізуйте спосіб встановлення, налаштування, виконання, управління та моніторингу продукту.
- Збирати вимірювання та показники для внутрішніх досліджень та розробок.
- Покращити розуміння поведінки продукту та технологій, що використовуються.
Характеристики нефункціонального тестування
Наступні риси визначають, як слід планувати та виконувати нефункціональне тестування:
- Він має бути вимірним, не залишаючи місця для суб'єктивних описів, таких як хороший, кращий або найкращий.
- Точні цифри зазвичай невідомі на початку процесу розгляду вимог.
- Вимоги повинні бути пріоритетними, щоб у першу чергу розглядалися області з найвищим рівнем ризику.
- Атрибути якості точно визначаються на етапі розробки програмного забезпечення.
Параметри нефункціонального тестування
Одинадцять параметрів зазвичай використовуються для визначення обсягу нефункціонального тестування:
- Безпека: Вимірює, як система захищена від навмисних та випадкових атак з внутрішніх або зовнішніх джерел. Перевіряється за допомогою тестування безпеки.
- Надійність: Ступінь, до якої система безперервно виконує свої задані функції без збоїв. Перевіряється шляхом тестування надійності.
- Живучість: Підтверджує, що система продовжує функціонувати та відновлюється після збою. Перевірено за допомогою тестування відновлення.
- наявність: Визначає ступінь, до якої користувач може покладатися на систему під час роботи. Перевірено за допомогою тестування стабільності.
- Usability: Легкість, з якою користувачі можуть навчатися, працювати, готувати вхідні дані та споживати вихідні дані системи. Перевірено за допомогою тестування зручності використання.
- Масштаб Ступінь, до якого програмний застосунок може розширити свої обчислювальні потужності для задоволення зростаючого попиту. Перевірено за допомогою тестування масштабованості.
- Сумісність: Перевіряє, як програмна система взаємодіє з іншими програмними системами. Перевіряється за допомогою тестування сумісності.
- Ефективність: Ступінь, до якої система обробляє ємність, кількість та час відгуку під навантаженням.
- Гнучкість: Легкість, з якою програма може працювати з різними конфігураціями обладнання та програмного забезпечення, такими як різні характеристики оперативної пам'яті або процесора.
- Портативність: Гнучкість програмного забезпечення для переходу з поточного апаратного або програмного середовища до іншого.
- Багаторазовість: Відноситься до частини програмної системи, яку можна адаптувати для використання в іншій програмі.
Тип тестування програмного забезпечення
Тестування програмного забезпечення загалом класифікується на три категорії:
- Функціональне тестування
- Нефункціональне тестування
- Тестування технічного обслуговування
Кожна категорія містить кілька рівнів тестування, які команди часто називають типами тестування. Різні книги та довідкові матеріали можуть класифікувати їх дещо по-різному, тому очікуйте незначних відмінностей.
Перелік типів тестування не є вичерпним — існує понад 100 різних типів тестування, і нові продовжують з'являтися. Не кожен тип застосовується до кожного проекту; сфера застосування залежить від характеру, профілю ризику та складності тестованої програми.
Види нефункціонального тестування
Найпоширеніші типи нефункціонального тестування, що виконуються командами контролю якості, включають:
- Тестування продуктивності
- Тестування навантаження
- Тестування відмов
- Тестування сумісності
- Тестування на зручність
- Стрес-тестування
- Тестування ремонтопридатності
- Тестування масштабованості
- Тестування обсягу
- Тестування безпеки
- Тестування аварійного відновлення
- Перевірка відповідності
- Тестування портативності
- Тестування ефективності
- Тестування надійності
- Базове тестування
- Випробування на витривалість
- Тестування документації
- Тестування відновлення
- Тестування інтернаціоналізації
Приклади тестових випадків для нефункціонального тестування
Наведені нижче приклади ілюструють, як нефункціональні тестові випадки пишуться в реальних проектах:
| Тестовий приклад № | Тестовий випадок | сфера |
|---|---|---|
| 1 | Час завантаження програми не повинен перевищувати 5 секунд, коли до неї одночасно звертаються до 1000 користувачів. | Тестування продуктивності |
| 2 | Програмне забезпечення має бути встановлюваним на всі підтримувані версії Windows та macOS. | Тестування сумісності |
| 3 | Усі веб-зображення повинні містити описові теги alt. | Тестування доступності |



