Нефункционално тестване

⚡ Умно обобщение

Нефункционалното тестване валидира как се представя софтуерното приложение по отношение на надеждност, използваемост, сигурност, мащабируемост и други атрибути за качество. Това ръководство обяснява целите, параметрите, характеристиките, често срещаните видове тестване и практическите примерни тестови случаи, използвани от екипите за осигуряване на качеството.

  • 🎯 Фокус върху качеството: Нефункционалното тестване измерва как системата работи, а не какво прави.
  • 📏 Измерими критерии: Всяко изискване е количествено определено, което елиминира субективните формулировки като „добър“, „по-добър“ или „най-добър“.
  • 🔐 Критични параметри: Сигурността, надеждността, мащабируемостта, използваемостта и преносимостта доминират при нефункционалната проверка.
  • 🧪 Различни видове тестове: Тестването за производителност, натоварване, стрес, възстановяване и съвместимост е насочено към специфични рискове за качеството.
  • 📊 Бизнес влияние: Силното нефункционално тестване намалява производствените разходи, времето за престой и недоволството на клиентите при различните издания.

Нефункционално тестване

Какво е нефункционално тестване?

Нефункционално тестване е категория софтуерно тестване, която валидира нефункционалните аспекти на приложението - производителност, използваемост, надеждност и подобни атрибути за качество. То оценява готовността на системата спрямо критерии, които функционалното тестване никога не разглежда, като гарантира, че приложението отговаря на очакванията на предприятието в реални условия.

Класически пример за нефункционално тестване е измерването на броя едновременни потребители, които могат да влязат в приложение, без да се влоши производителността. Нефункционалното тестване е също толкова важно, колкото и функционалното тестване, защото пряко влияе върху удовлетвореността на клиентите и цялостното възприятие на продукта.

Какво е диаграма за общ преглед на нефункционалното тестване

Цели на нефункционалното тестване

Нефункционалното тестване се извършва, за да се подобри цялостното качество и дълготрайността на даден продукт. Основните цели включват:

  • Увеличете използваемостта, ефективността, поддръжката и преносимостта на продукта.
  • Намалете производствения риск и разходите, свързани с нефункционални дефекти.
  • Оптимизирайте начина, по който продуктът се инсталира, настройва, изпълнява, управлява и наблюдава.
  • Събирайте измервания и показатели за вътрешни изследвания и разработки.
  • Подобрете разбирането за поведението на продукта и използваните технологии.

Характеристики на нефункционалното тестване

Следните характеристики определят как трябва да се планира и изпълнява нефункционалното тестване:

  • Трябва да е измеримо, без да се оставя място за субективни описания като „добро“, „по-добро“ или „най-добро“.
  • Точните числа обикновено са неизвестни в началото на процеса на изискванията.
  • Изискванията трябва да бъдат приоритизирани, така че първо да се обърне внимание на областите с най-висок риск.
  • Атрибутите за качество се идентифицират точно по време на фазата на софтуерно инженерство.

Параметри за нефункционално тестване

Единадесет параметъра обикновено се използват за определяне на обхвата на нефункционалното тестване:

  1. Сигурност: Измерва как системата е защитена срещу умишлени и случайни атаки от вътрешни или външни източници. Проверява се чрез тестване за сигурност.
  2. Надеждност: Степента, до която системата непрекъснато изпълнява определените си функции без повреди. Проверява се чрез тестове за надеждност.
  3. Оцеляване: Потвърждава, че системата продължава да функционира и се възстановява след повреда. Проверено чрез тестване за възстановяване.
  4. Достъпност: Определя степента, до която потребителят може да разчита на системата по време на работа. Проверено чрез тестване за стабилност.
  5. ползваемост: Лекотата, с която потребителите могат да учат, работят, подготвят входни данни и консумират изходни данни от системата. Проверено чрез тестване за използваемост.
  6. скалируемост: Степента, до която софтуерното приложение може да разшири капацитета си за обработка, за да отговори на нарастващото търсене. Проверено чрез тестване за мащабируемост.
  7. Оперативна съвместимост: Проверява как дадена софтуерна система взаимодейства с други софтуерни системи. Потвърждава се чрез тестване за оперативна съвместимост.
  8. Ефективност: Степента, до която системата се справя с капацитета, количеството и времето за реакция при натоварване.
  9. гъвкавост: Лекотата, с която приложението може да работи в различни хардуерни и софтуерни конфигурации, като например различни спецификации на RAM или процесор.
  10. Преносимост: Гъвкавостта на софтуера да се премества от текущата си хардуерна или софтуерна среда към друга.
  11. Повторна употреба: Отнася се до частта от софтуерна система, която може да бъде адаптирана за използване в друго приложение.

Диаграма на параметрите на нефункционалното тестване

Тип софтуерно тестване

Тестването на софтуер се класифицира най-общо в три категории:

  • Функционално тестване
  • Нефункционално тестване
  • Тестване за поддръжка

Всяка категория съдържа множество нива на тестване, които екипите често наричат ​​видове тестване. Различните книги и справочни материали могат да ги класифицират малко по-различно, така че очаквайте малки вариации.

Списъкът с видовете тестове не е изчерпателен — съществуват над 100 различни вида тестове и продължават да се появяват нови. Не всеки вид е приложим за всеки проект; обхватът зависи от естеството, рисковия профил и сложността на тестваното приложение.

Видове нефункционални тестове

Най-често срещаните видове нефункционално тестване, извършвано от екипите за осигуряване на качеството, включват:

  • Тестване на производителността
  • Тестване на товара
  • Тестване при отказ
  • Тест за съвместимост
  • Тестване за ползваемост
  • Стресиране
  • Тестване за поддръжка
  • Тестване на скалируемост
  • Тестване на обема
  • Тестване на сигурността
  • Тестване за възстановяване след бедствие
  • Тестване за съответствие
  • Тестване на преносимостта
  • Тестване на ефективността
  • Тестване на надеждността
  • Базово тестване
  • Тест за издръжливост
  • Тестване на документация
  • Тестване за възстановяване
  • Тестване за интернационализация

Примерни тестови случаи за нефункционално тестване

Следните примери илюстрират как се пишат нефункционални тестови случаи в реални проекти:

Тестов случай # Тестов случай домейн
1 Времето за зареждане на приложението не трябва да надвишава 5 секунди, когато до 1000 потребители имат достъп до него едновременно. Тестване на производителността
2 Софтуерът трябва да може да се инсталира на всички поддържани версии на Windows намлява macOS. Тест за съвместимост
3 Всички уеб изображения трябва да включват описателни alt тагове. Тестване на достъпността

Въпроси и Отговори

Функционалното тестване проверява какво прави системата спрямо зададените изисквания. Нефункционалното тестване измерва как системата се представя, включително скорост, надеждност, използваемост и сигурност, като гарантира, че приложението отговаря на стандартите за качество, отвъд основните характеристики.

Популярните инструменти включват JMeter и LoadRunner за производителност, Selenium за автоматизация на използваемостта, Burp Suite и OWASP ZAP за сигурност, и BrowserStack за съвместимост. Всеки инструмент е насочен към специфична нефункционална област, която екипите по QA искат да измерят.

Нефункционалното тестване трябва да започне, след като системата е функционално стабилна и преди основните издания. Тестовете за производителност, сигурност и надеждност обикновено се планират в късните фази на тестване, но стратегиите с shift-left насърчават по-ранното изпълнение успоредно с разработката.

Всеки параметър се измерва спрямо количествено измерими прагове. Производителността се измерва с време за реакция и пропускателна способност, сигурността чрез броя на уязвимостите, използваемостта чрез процентите на завършване на задачите и надеждността чрез средното време между повреди. Numbers заменете субективните мнения.

И двете. Тестването за производителност, натоварване, стрес и сигурност разчита в голяма степен на автоматизация поради мащаба и повторяемостта. Тестването за използваемост и достъпност често изисква ръчно наблюдение, експертни прегледи или проверки с помощни технологии, наред с автоматизирани инструменти.

Изкуственият интелект генерира профили на натоварване, прогнозира затруднения в производителността, приоритизира рисковите тестови случаи и анализира автоматично данните от лог файловете. Платформите, управлявани от изкуствен интелект, намаляват времето за изпълнение и ускоряват повърхностните регресии, помагат...ping Екипите за контрол на качеството мащабират нефункционалното покритие в различните издания.

Не. Изкуственият интелект ускорява сканирането, създаването на базови линии и откриването на аномалии, но експертните тестери все още интерпретират резултатите, валидират вериги от експлойти и проектират тестови сценарии. Изкуственият интелект допълва човешката преценка при нефункционално тестване, вместо да замества опитни QA инженери.

Обобщете тази публикация с: