База знань

Нефункціональне тестування (Non-functional testing)

На відміну від функціонального тестування, метою якого є перевірка відповідності реальних функцій продукту з  функціональними вимогами, як Ви вже здогадалися, мета нефункціонального тестування – оцінити роботу нефункціональних складових готового програмного продукту. 

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

Тестовані властивості ПЗ визначають наступні характеристики продукту:

  • Надійність (реакція системи на непередбачені ситуації).
  • Продуктивність (працездатність системи під різними навантаженнями).
  • Зручність (дослідження зручності роботи з додатком з точки зору користувача).
  • Масштабованість (вимоги до горизонтального або вертикального масштабування додатків).
  • Безпека (захищеність призначених для користувача даних).
  • Портативність (переносимість додатків на різні платформи).

І багато інших якостей.

Дослідження вищевказаних властивостей програмного забезпечення проводиться при використанні таких видів тестування, як:

  • Тестування установки (Installation testing) – дозволяє перевірити наскільки успішно проходить встановлення, налаштування, оновлення та видалення додатків. Даний вид тестування мінімізує ризики втрати призначених для користувача даних, а також виникнення помилок в роботі програми та ін.
  • Тестування зручності використання (Usability testing) – характеризує систему з точки зору зручності використання кінцевим користувачем.
  • Конфігураційне тестування (або тестування портативності) – дослідження працездатності програмної системи в умовах різних системних конфігурацій (зазначених платформах, підтримуваних браузерах, при різних конфігураціях комп’ютерів та ін.).
  • Тестування на відмову і відновлення (Failover and Recovery Testing) – дослідження програмної системи на предмет відновлення після помилок або збоїв,оцінювання реакції захисних властивостей програми.
  • Тестування сумісності (Compatibility Testing) – перевірка коректної роботи продукту в певному середовищі, яке може включати в себе наступні елементи:

           – апаратна платформа;

           – периферія (принтери, CD / DVD-приводи, веб-камери та ін.);

           – операційна система (Unix, Windows, MacOS, …)

           – бази даних (Oracle, MS SQL, MySQL, …)

           – системне програмне забезпечення (веб-сервер, фаєрвол, антивірус, …)

           – програми перегляду (Internet Explorer, Firefox, Opera, Chrome, Safari)

  • Тестування  інтерфейсу  користувача (UI Testing) – перевірка наскільки очікувано поводиться програма і як відображаються елементи інтерфейсу на різних пристроях при вчиненні користувачем певних дій. Це дозволяє оцінити наскільки ефективна робота користувача з додатком.
  • Тестування локалізації (Localization Testing) – перевірка правильності перекладу елементів інтерфейсу користувача, перевірка правильності перекладу системних повідомлень і помилок, перевірка перекладу розділу “Допомога”,” Довідка” і супровідної документації. Мета тесту локалізації – переконатися, що додаток підтримує багатомовний інтерфейс і функції. А також проблеми, пов’язані з локалізацією (переклад на іншу мову, формат дат і чисел, поштові адреси, порядок імені та прізвища, валюти і т.д.). Орфографія і граматика зазвичай не тестуються.
  • Тестування безпеки – оцінка вразливості програмного забезпечення до різних атак.

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

 

Набагато більше інформації на курсі базовий модуль тестування