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

Нефункціональне тестування описує тести, необхідні для визначення характеристик програмного забезпечення, які можуть бути виміряні різними величинами. У цілому, це тестування того, «як» система працює. Далі перераховані основні види нефункціональних тестів:

  • Тестування продуктивності (англ. Performance Testing):
    • тестування навантаження (англ. Load Testing) — визначення масштабованості додатків під навантаженням, при цьому відбувається: вимір часу виконання вибраних операцій за певних інтенсивностей виконання цих операцій; визначення кількості користувачів, що одночасно працюють з додатком; визначення меж прийнятної продуктивності при збільшенні навантаження (при збільшенні інтенсивності виконання цих операцій); дослідження продуктивності при високих, граничних, стресових навантаженнях;
    • стресове тестування (англ. Stress Testing) дозволяє перевірити наскільки додаток і система в цілому працездатні в умовах стресу і також оцінити здатність системи до регенерації, тобто до повернення до нормального стану після припинення впливу стресу. Стресом у даному контексті може бути підвищення інтенсивності виконання операцій до дуже високих значень або аварійна зміна конфігурації сервера. Також одним із завдань при стресовому тестуванні може бути оцінка деградації продуктивності, таким чином цілі стресового тестування можуть перетинатися з цілями тестування продуктивності;
    • тестування стабільності або надійності (англ. Stability / Reliability Testing) — перевірка працездатності програми при тривалому (багатогодинному) тестуванні з середнім рівнем навантаження. Час виконання операцій може грати в даному виді тестування другорядну роль. При цьому на перше місце виходить відсутність витоків пам'яті, перезапусків серверів під навантаженням й інші аспекти, які впливають саме на стабільність роботи;
    • об'ємне тестування (англ. Volume Testing) — отримання оцінки продуктивності при збільшенні обсягів даних у базі даних програми. При цьому відбувається: вимір часу виконання вибраних операцій за певних інтенсивностей виконання цих операцій; може проводитися визначення кількості користувачів, що одночасно працюють з додатком;
  • Тестування установки (англ. Installation Testing) спрямоване на перевірку успішної інсталяції та настройки, а також оновлення або видалення програмного забезпечення. На даний момент найбільш поширена установка ПЗ за допомогою інсталяторів (спеціальних програм, які самі по собі так само потребують належного тестування). У реальних умовах інсталяторів може не бути. У цьому випадку доведеться самостійно виконувати установку програмного забезпечення, використовуючи документацію у вигляді інструкцій або readme файлів, де крок за кроком описано всі необхідні дії та перевірки;
  • Тестування зручності користування (англ. Usability Testing) — це метод тестування, спрямований на встановлення ступеня зручності використання, навченості, зрозумілості та привабливості для користувачів розроблюваного продукту в контексті заданих умов. Тестування зручності користування дає оцінку рівня зручності використання програми за наступними пунктами:
    • продуктивність, ефективність (англ. efficiency) — скільки часу і кроків знадобиться користувачеві для завершення основних завдань програми, наприклад, розміщення новини, реєстрації, покупки тощо (менше — краще);
    • правильність (англ. accuracy) — скільки помилок зробив користувач під час роботи з додатком (менше — краще);
    • активізація в пам'яті (англ. recall) — як багато користувач пам'ятає про роботу програми після припинення роботи з нею на тривалий період часу (повторне виконання операцій після перерви має проходити швидше ніж у нового користувача);
    • емоційна реакція (англ. emotional response) — як користувач почувається після завершення завдання — розгублений, знаходиться у стані стресу? Чи порекомендує користувач систему своїм друзям (позитивна реакція — краще)?
  • Тестування на відмову і відновлення (англ. Failover and Recovery Testing) перевіряє тестований продукт з точки зору здатності протистояти й успішно відновлюватися після можливих збоїв, що виникли у зв'язку з помилками програмного забезпечення, відмовами обладнання або проблемами зв'язку (наприклад, відмова мережі). Метою даного виду тестування є перевірка систем відновлення (або дублюючих основний функціонал систем), які, у разі виникнення збоїв, забезпечать збереження і цілісність даних тестованого продукту.
  • Конфігураційне тестування (англ. Configuration Testing або Portability Testing) — ще один вид традиційного тестування продуктивності. У цьому випадку замість того, щоб тестувати продуктивність системи з точки зору навантаження, тестується ефект впливу на продуктивність змін у конфігурації. Прикладом такого тестування можуть бути експерименти з різними методами балансування навантаження. Конфігураційне тестування також може бути поєднане з навантажувальним, стрес- або тестуванням стабільності;
  • Тестування локалізації (англ. Localization Testing) — перевірка правильності перекладу елементів інтерфейсу користувача, перевірка правильності перекладу системних повідомлень і помилок, перевірка перекладу розділу «Допомога», « Довідка» і супровідної документації. Мета тесту локалізації — переконатися, що додаток підтримує багатомовний інтерфейс і функції. А також проблеми, пов'язані з локалізацією (переклад на іншу мову, формат дат і чисел, поштові адреси, порядок імені та прізвища, валюти і т. д.). Орфографія і граматика зазвичай не тестуються.

Див. також

Література

  • Lisa Crispin, Janet Gregory. Agile Testing: A Practical Guide for Testers and Agile Teams. — Addison-Wesley Professional, 2008. — 576 с. — (Addison-Wesley Signature Series) — ISBN 978-0-321-53446-0.
  • Cem Kaner, Jack Falk, Hung Q. Nguyen. Testing Computer Software, 2nd Edition. — Wiley, 1999. — 480 с. — ISBN 978-0471358466.
  • Robert Culbertson, Chris Brown, Gary Cobb. Rapid Testing. — Prentice Hall, 2001. — 414 с. — ISBN 978-0130912947.
  • Boris Beizer. Black-Box Testing: Techniques for Functional Testing of Software and Systems. — Wiley, 1995. — 320 с. — ISBN 978-0471120940.

Посилання

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya