Nefunkční testování

⚡ Chytré shrnutí

Nefunkční testování ověřuje, jak si softwarová aplikace vede z hlediska spolehlivosti, použitelnosti, zabezpečení, škálovatelnosti a dalších atributů kvality. Tento návod vysvětluje cíle, parametry, charakteristiky, běžné typy testování a praktické příklady testovacích případů používaných týmy pro zajištění kvality.

  • 🎯 Zaměření na kvalitu: Nefunkční testování měří, jak systém funguje, spíše než co dělá.
  • 📏 Měřitelná kritéria: Každý požadavek je kvantifikován, čímž se eliminují subjektivní formulace jako dobrý, lepší nebo nejlepší.
  • 🔐 Kritické parametry: V nefunkčním ověřování dominují bezpečnost, spolehlivost, škálovatelnost, použitelnost a přenositelnost.
  • 🧪 Různé typy testů: Testování výkonu, zátěže, stresu, obnovy a kompatibility se zabývá specifickými riziky kvality.
  • 📊 Obchodní dopad: Důkladné nefunkční testování snižuje výrobní náklady, prostoje a nespokojenost zákazníků napříč verzemi.

Nefunkční testování

Co je to nefunkční testování?

Nefunkční testování je kategorie softwarového testování, která ověřuje nefunkční aspekty aplikace – výkon, použitelnost, spolehlivost a podobné atributy kvality. Hodnotí připravenost systému podle kritérií, která funkční testování nikdy neřeší, a zajišťuje, aby aplikace splňovala očekávání podniku v reálných podmínkách.

Klasickým příkladem nefunkčního testování je měření počtu souběžných uživatelů, kteří se mohou přihlásit do aplikace bez snížení výkonu. Nefunkční testování je stejně důležité jako funkční testování, protože přímo ovlivňuje spokojenost klientů a celkové vnímání produktu.

Přehledový diagram nefunkčního testování

Cíle nefunkčního testování

Nefunkční testování se provádí za účelem zlepšení celkové kvality a životnosti produktu. Mezi klíčové cíle patří:

  • Zvyšte použitelnost, efektivitu, udržovatelnost a přenositelnost produktu.
  • Snižte výrobní rizika a náklady spojené s nefunkčními vadami.
  • Optimalizujte způsob, jakým je produkt instalován, nastaven, spuštěn, spravován a monitorován.
  • Shromažďujte měření a metriky pro interní výzkum a vývoj.
  • Zlepšit pochopení chování produktu a používaných technologií.

Charakteristika nefunkčního testování

Následující vlastnosti definují, jak by mělo být plánováno a prováděno nefunkční testování:

  • Musí být měřitelný a nesmí ponechávat prostor pro subjektivní popisy jako dobrý, lepší nebo nejlepší.
  • Přesná čísla jsou na začátku procesu schvalování požadavků obvykle neznámá.
  • Požadavky musí být upřednostňovány, aby se nejprve řešily oblasti s nejvyšším rizikem.
  • Atributy kvality jsou přesně identifikovány během fáze softwarového inženýrství.

Parametry nefunkčního testování

Pro vymezení rozsahu nefunkčního testování se obvykle používá jedenáct parametrů:

  1. Zabezpečení Měří, jak je systém chráněn před úmyslnými a náhodnými útoky z interních nebo externích zdrojů. Ověřeno bezpečnostním testováním.
  2. Spolehlivost: Rozsah, v jakém systém nepřetržitě vykonává své specifikované funkce bez poruchy. Ověřeno testováním spolehlivosti.
  3. Přežití: Potvrzuje, že systém nadále funguje a po selhání se sám obnoví. Ověřeno testováním obnovy.
  4. Dostupnost: Určuje míru, do jaké se uživatel může spolehnout na systém během provozu. Ověřeno testováním stability.
  5. Použitelnost: Snadnost, s jakou se uživatelé mohou učit, ovládat, připravovat vstupy a využívat výstupy ze systému. Ověřeno testováním použitelnosti.
  6. Škálovatelnost: Míra, do jaké může softwarová aplikace rozšířit svou výpočetní kapacitu, aby uspokojila rostoucí poptávku. Ověřeno testováním škálovatelnosti.
  7. Interoperabilita: Kontroluje, jak softwarový systém komunikuje s jinými softwarovými systémy. Ověřuje se pomocí testování interoperability.
  8. Účinnost: Rozsah, v jakém systém zvládá kapacitu, množství a dobu odezvy při zátěži.
  9. Flexibilita: Snadnost, s jakou může aplikace fungovat napříč různými hardwarovými a softwarovými konfiguracemi, jako jsou různé specifikace RAM nebo CPU.
  10. Přenosnost: Flexibilita softwaru při přechodu ze stávajícího hardwarového nebo softwarového prostředí do jiného.
  11. Opětovná použitelnost: Označuje část softwarového systému, kterou lze přizpůsobit pro použití v jiné aplikaci.

Diagram parametrů nefunkčního testování

Typ testování softwaru

Testování softwaru se obecně dělí do tří kategorií:

  • Funkční testování
  • Nefunkční testování
  • Testování údržby

Každá kategorie obsahuje několik úrovní testování, které týmy často označují jako typy testování. Různé knihy a referenční materiály je mohou klasifikovat mírně odlišně, proto počítejte s drobnými odchylkami.

Seznam typů testování není vyčerpávající – existuje více než 100 různých typů testování a stále se objevují nové. Ne každý typ se hodí pro každý projekt; rozsah závisí na povaze, rizikovém profilu a složitosti testované aplikace.

Typy nefunkčního testování

Mezi nejběžnější typy nefunkčního testování prováděného týmy QA patří:

  • Testování výkonu
  • Testování zatížení
  • Testování při selhání
  • Testování kompatibility
  • Testování použitelnosti
  • Stresové testování
  • Testování udržitelnosti
  • Testování škálovatelnosti
  • Objemové testování
  • Testování bezpečnosti
  • Testování zotavení po havárii
  • Testování shody
  • Testování přenosnosti
  • Testování účinnosti
  • Testování spolehlivosti
  • Základní testování
  • Testování odolnosti
  • Testování dokumentace
  • Testování zotavení
  • Testování internacionalizace

Příklady testovacích případů pro nefunkční testování

Následující příklady ilustrují, jak se v reálných projektech píší nefunkční testovací případy:

Modelový případ # Testovací případ Doména
1 Doba načítání aplikace by neměla překročit 5 sekund, pokud k ní současně přistupuje až 1000 uživatelů. Testování výkonu
2 Software by měl být instalovatelný na všech podporovaných verzích Windows a macOS. Testování kompatibility
3 Všechny webové obrázky by měly obsahovat popisné alt tagy. Testování přístupnosti

Nejčastější dotazy

Funkční testování ověřuje, co systém dělá v porovnání se specifikovanými požadavky. Nefunkční testování měří, jak systém funguje, včetně rychlosti, spolehlivosti, použitelnosti a zabezpečení, a zajišťuje, že aplikace splňuje standardy kvality nad rámec základních funkcí.

Mezi oblíbené nástroje patří JMeter a LoadRunner pro výkon, Selenium pro automatizaci použitelnosti, Burp Suite a OWASP ZAP pro zabezpečení a BrowserStack pro kompatibilitu. Každý nástroj se zaměřuje na specifickou nefunkční oblast, kterou chtějí týmy QA měřit.

Nefunkční testování by mělo začít, jakmile je systém funkčně stabilní a před vydáním hlavních verzí. Testy výkonu, bezpečnosti a spolehlivosti se obvykle plánují v pozdních fázích testování, ale strategie shift-left podporují dřívější spuštění souběžně s vývojem.

Každý parametr je měřen na základě kvantifikovatelných prahových hodnot. Výkon se měří dobou odezvy a propustností, bezpečnost počtem zranitelností, použitelnost mírou dokončení úkolů a spolehlivost průměrnou dobou mezi selháním. Numbers nahradit subjektivní názory.

Obojí. Testování výkonu, zátěže, stresu a bezpečnosti se kvůli rozsahu a opakovatelnosti silně spoléhají na automatizaci. Testování použitelnosti a přístupnosti často vyžaduje manuální pozorování, odborné posouzení nebo kontroly asistenčních technologií spolu s automatizovanými nástroji.

Umělá inteligence generuje profily zátěže, předpovídá úzká hrdla výkonu, upřednostňuje rizikové testovací případy a automaticky analyzuje data protokolů. Platformy řízené umělou inteligencí zkracují dobu provádění a urychlují povrchové regrese, pomáhají...ping Týmy QA škálují nefunkční pokrytí napříč verzemi.

Ne. Umělá inteligence zrychluje skenování, vytváření základních linií a detekci anomálií, ale odborní testeři stále interpretují výsledky, ověřují řetězce zneužití a navrhují testovací scénáře. Umělá inteligence v nefunkčním testování spíše posiluje lidský úsudek, než aby nahrazovala zkušené inženýry QA.

Shrňte tento příspěvek takto: