Основи нефункціонального тестування програм

Aug 28, 2024

Нефункціональне тестування

Основні концепції

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

Перформанс-тестування

Load Testing

  • Перевірка поведінки системи під навантаженням.
  • Наприклад, як сайт буде працювати, якщо на нього зайде 50 тисяч користувачів одночасно.

Stress Testing

  • Визначення точки, на якій система "падає" під надмірним навантаженням.
  • Наприклад, визначення, що програма зламається при навантаженні в 78 тисяч користувачів.

Recovery Testing

  • Перевірка здатності системи до відновлення після "падіння".
  • Оцінка, чи вдасться відновити систему без втрати даних.

Volume Testing

  • Перевірка швидкості програми при зміні обсягів бази даних.

Scalability Testing

  • Визначення можливості системи витримувати збільшене навантаження.

Endurance/Soak Testing

  • Перевірка стабільності системи при тривалому постійному навантаженні.

UI-тестування

User Interface Testing

  • Перевірка "юзер-френдлі" інтерфейсу.
  • Оцінка відповідності стилів, розташування елементів.

User Experience (UX) і Usability Testing

  • Юзабіліті: зручність та інтуїтивність використання.
  • Перевіряється зручність розміщення елементів (наприклад, профіль у правому верхньому куті).
  • Виконується кінцевими користувачами, включає learnability, memorability, satisfaction, error checking.

Системне тестування

Configuration та Compatibility Testing

  • Перевірка роботи програми на різних системах (браузери, ОС).

Portability Testing

  • Перевірка легкості зміни системи без втрати функціональності.

Локалізаційне тестування

Localization Testing

  • Перевірка якості перекладу та національних адаптацій (формати дати, тексту).

Internationalization Testing

  • Перевірка готовності продукту до роботи з різними національними особливостями.

Globalization Testing

  • Перевірка роботи програми з усіма можливими локалями.

Необхідні знання

  • Вивчити: Load, Stress, Performance testing.
  • User Interface, User Experience, Usability testing.
  • Configuration/Compatibility.
  • Різницю між Localization та Internationalization.

Дякую за увагу! Якщо є питання, задавайте в коментарях.