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

Нефункціональне тестування описує тести, необхідні для визначення характеристик програмного забезпечення, які можуть бути виміряні різними величинами. В цілому, це тестування того, “Як” система працює. Далі перераховані основні види нефункціональних тестів:
Всі види тестування продуктивності (Performance testing):
тестування навантаження (Load Testing)
стресове тестування (Stress Testing)
тестування стабільності або надійності (Stability / Reliability Testing)
об’ємне тестування (Volume Testing)
Тестування установки (Installation testing)
Тестування зручності користування (Usability Testing)
Тестування на відмову і відновлення (Failover and Recovery Testing)
Конфігураційне тестування (Configuration Testing)

Тестування навантаження або тестування продуктивності – це автоматизоване тестування, що імітує роботу певної кількості бізнес користувачів на ресурсі.

Основні види тестування продуктивності
У тестування навантаження входять наступні види тестування продуктивності:
Тестування продуктивності
Завданням тестування продуктивності є визначення масштабованості програми під навантаженням, при цьому відбувається:

  • вимір часу виконання обраних операцій при певних интенсивностях виконання цих операцій
  • визначення кількості користувачів, що одночасно працюють з додатком
  • визначення меж прийнятної продуктивності при збільшенні навантаження (при збільшенні інтенсивності виконання цих операцій)
  • дослідження продуктивності на високих, граничних, стресових навантаженнях

Стресове тестування (Stress Testing)
Стресове тестування дозволяє перевірити наскільки додаток і система в цілому працездатні в умовах стресу і також оцінити здатність системи до регенерації, тобто до повернення до нормального стану після припинення впливу стресу. Стресом в даному контексті може бути підвищення інтенсивності виконання операцій до дуже високих значень або аварійна зміна конфігурації сервера.

Тестування стабільності або надійності (Stability / Reliability Testing)
Завданням тестування стабільності (надійності) є перевірка працездатності програми при тривалому (багатогодинному) тестуванні з середнім рівнем навантаження. Часи виконання операцій можуть грати в даному вигляді тестування другорядну роль. При цьому на перше місце виходить відсутність втрат пам’яті, перезапусків серверів під навантаженням та інших аспектів, що впливають саме на стабільність роботи.

Об’ємне тестування (Volume Testing)
Завданням об’ємного тестування є отримання оцінки продуктивності при збільшенні обсягів даних в базі даних програми, при цьому відбувається:

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

Тестування Установки (Installation Testing)
Тестування установки направлено на перевірку успішної інсталяції і настройки, а також оновлення або видалення програмного забезпечення.

Тестування зручності користування (Usability Testing)
Для того щоб додаток був популярним, йому мало бути функціональним – воно має бути ще й зручним.
Тестування зручності користування – це метод тестування, спрямований на встановлення ступеня зручності використання, зрозумілості та привабливості для користувачів розроблюваного продукту в контексті заданих умов. [ISO 9126]
Тестування зручності користування дає оцінку рівня зручності використання програми за наступними пунктами:

  • продуктивність, ефективність (efficiency) – скільки часу і кроків знадобиться користувачеві для завершення основних завдань програми, наприклад, розміщення новини, реєстрації, покупка і т.д. (менше – краще)
  • правильність (accuracy) – скільки помилок зробив користувач під час роботи з додатком (менше – краще)
  • активізація в пам’яті (recall) – як багато користувач пам’ятає про роботу програми після призупинення роботи з ним на тривалий період часу (повторне виконання операцій після перерви повинно проходити швидше ніж у нового користувача)
  • емоційна реакція (emotional response) – як користувач себе почуває після завершення завдання – розгублений, випробував стрес? Порекомендує користувач систему своїм друзям? (позитивна реакція – краще)

Тестування на відмову і відновлення (Failover and Recovery Testing) перевіряє тестований продукт з точки зору здатності протистояти і успішно відновлюватися після можливих збоїв, що виникли у зв’язку з помилками програмного забезпечення, відмовами обладнання або проблемами зв’язку (наприклад, відмова мережі). Метою даного виду тестування є перевірка систем відновлення (або дублюючих основний функціонал систем), які, у разі виникнення збоїв, забезпечать збереження і цілісність даних тестованого продукту. Методика подібного тестування полягає в симулюванні різних умов збою і наступному вивченні та оцінці реакції захисних систем. У процесі подібних перевірок з’ясовується, чи була досягнута необхідна ступінь відновлення системи після виникнення збою.

Конфігураційне тестування (Configuration Testing) – називається тестування сумісності продукту, що випускається (програмне забезпечення) з різним апаратним і програмним засобами.
Основні цілі – визначення оптимальної конфігурації і перевірка сумісності програми з необхідним оточенням (обладнанням, ОС і т.д.)

Наступна лекція

  1 comment for “Нефункціональне тестування ПЗ

  1. qalearning
    Червень 9, 2015 at 17:57

    Зміст:

    1. Введення в тестування програмного забезпечення
    2. Особливості вимог програмного забезпечення. Методи тестування. Фази тестування. Класи еквівалентності.
    3. Види Тест Кейсiв. Стани Тест Кейсiв. Багтрекінгові системи. Серйозність і пріоритет дефекту. Життєвий цикл дефекту.
    4. Рівні тестування.
    5. Види тестування ПО. Функціональне тестування (Functional Testing). Тестування безпеки (Security and Access Control Testing). Тестування взаємодії (Interoperability Testing).
    6. Нефункціональне тестування ПЗ.
    7. Види тестування, пов’язані зі змінами. Кросбраузерність.
    8. Agile (Гнучка модель). Scrum. Selenium.

Comments are closed.