Нефункціональне тестування (Non-Functional testing)
Нефункціональне тестування проводиться для перевірки нефункціональних вимог програми, таких як продуктивність, безпека, сумісність, надійність, зручність використання тощо. У більшості випадків це виконується методом black box testing. Воно перевіряє, чи поведінка системи відповідає вимогам з усіх аспектів, не охоплені функціональним тестуванням. У нашому повсякденному тестуванні багато уваги приділяється функціональному тестуванню та функціональним вимогам і клієнти також зацікавлені у виконанні функціональних вимог, які безпосередньо пов'язані з функціональністю програми, але коли програмне забезпечення виходить на ринок та використовується реальними кінцевими користувачами, у них є шанси зіткнутися з проблемами. Ці проблеми не пов'язані з функціональністю системи, але можуть негативно вплинути на досвід користувача.
Нефункціональні вимоги можуть бути відображені як :
Користувальницькі / Технічні історії (User /Technical Stories): запис нефункціональних вимог у вигляді історії користувача такий самий, як і запис будь-яких інших вимог. Єдина різниця між користувачем і технічною історією полягає в тому, що історія користувача вимагає обговорення і має видимість (? visibility);
У разі приймання (Acceptance criteria): це точка, що визначається прийняття товару замовником. Нефункціональна вимога повинна бути включена до критерію приймання, але іноді неможливо перевірити нефункціональні вимоги з кожною історією, тобто з кожною ітерацією. Отже, вимоги слід додавати чи тестувати лише з відповідною ітерацією;
В артефактах (Artifact): для нефункціональних вимог слід підготувати окремий артефакт, це, своєю чергою, допоможе краще зрозуміти, що потрібно тестувати і як це можна робити в ітераціях;
Документ підходу до тестування (Approach Document) :
Розробте конкретний підхід до етапу тестування, уточнивши загальну стратегію тестування. Цей підхід до тестування допомагає при плануванні та виконанні всіх завдань тестування:
Об'єм випробувань (Test Scope);
Метрики тестування;
Інструменти тестування;
Основні дати та результати;
Види нефункціонального тестування (список не повний) :
Тестування продуктивності (Performance Testing)
Навантажувальне тестування (Load Testing)
Стресове тестування (Stress Testing)
Об'ємне тестування (Volume Testing)
Тестування відновлення (Recovery Testing)
Тестування відмовостійкості (Failover Testing)
Тестування ефективності (Efficiency Testing)
Тестування аварійного відновлення (Disaster Recovery Testing)
Тестування установки (Installation Testing)
Тестування документації (Documentation Testing)
Тестування на зручність використання (Usability Testing)
Тестування графічного інтерфейсу користувача (User Interface Testing)
Тестування сумісності (Compatibility Testing)
Тестування обслуговування (Maintainability Testing)
Тестування безпеки (Security Testing)
Тестування масштабованості (Scalability Testing)
Тестування витривалості (Endurance Testing)
Тестування надійності (Reliability Testing)
Тестування відповідності (Compliance Testing)
Тестування локалізації (Localization Testing)
Тестування інтернаціоналізації (Internationalization Testing)
Тестування переносимості (Portability Testing)
Тестування на основі базового рівня (Baseline Testing)
Приклади чек-листів :
Тестування продуктивності:
Час відгуку (The response time) програми, тобто скільки часу потрібно для завантаження програми, за який час будь-яке введення, надане програмі, забезпечує висновок, час оновлення браузера і т. д.;
Пропускну здатність (Throughput) слід перевіряти за кількістю транзакцій, завершених під час тесту навантаження;
Налаштування середовища (Environment) має бути таким самим, як і в реальному середовищі, інакше результати не будуть такими ж;
Час процесу (Process time) - такі дії, як імпорт та експорт Excel, будь-які обчислення у додатку мають бути протестовані;
Сумісність (Interoperability) має бути перевірена, тобто. програмне забезпечення повинно мати можливість взаємодіяти з іншим програмним забезпеченням чи системами;
Необхідно перевірити час ETL, тобто час, витрачений на вилучення, перетворення та завантаження даних з однієї бази даних до іншої;
Необхідно перевірити зростаюче навантаження (Load) на додаток;
Тестування безпеки:
Аутентифікація (Authentication): лише достовірний користувач може увійти до системи;
Авторизація (Authorized): користувач повинен мати можливість входити в ті модулі, для яких він авторизований або до яких користувач надав доступ;
Пароль: Вимога пароля має бути підтверджено, тобто. пароль повинен відповідати тому, як ця вимога визначається, тобто довжині, спеціальним символам, числам тощо;
Тайм-аут: якщо програма неактивна, вона повинна закінчитися по таймууту у вказаний час;
Резервне копіювання даних: резервне копіювання даних має бути виконане у вказаний час та дані мають бути скопійовані у безпечне місце;
Внутрішні посилання на веб-застосунок не повинні бути доступні, якщо розміщені безпосередньо в браузері;
Вся комунікація має бути зашифрована;
Тестування документації:
Користувальницька та системна документація;
Документи для навчальних цілей;
Last updated