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

Нефункціональне тестування описує тести, необхідні для визначення характеристик програмного забезпечення, які можуть бути виміряні різними величинами. В цілому, це тестування того, “Як” система працює. Далі перераховані основні види нефункціональних тестів:
Всі види тестування продуктивності (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 коментар до “Нефункціональне тестування ПЗ

  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.

We #StandWithUkraine.
Learn how you can help too!

#Stand­With­Ukraine

We don't know how long the war will last. But what we do know is that we can't stand aside and watch.

The fastest way you can help too is to support Ukraine financially. The National Bank of Ukraine (NBU) has opened a multi-currency account for that purpose. Learn more

This account accepts donations in US, Canadian and Australian dollars, euros, British pounds, Swiss francs, yuan and yen.

UA823000010000032302338301027

Also accepting cryptocurrency donations – the fastest way to help. Learn more

BTC – 357a3So9CbsNfBBgFYACGvxxS6tMaDoa1P

ETH, USDT (ERC-20) – 0x165CD37b4C644C2921454429E7F9358d18A45e14

Spread the word!