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.

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.
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ů:
- 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.
- Spolehlivost: Rozsah, v jakém systém nepřetržitě vykonává své specifikované funkce bez poruchy. Ověřeno testováním spolehlivosti.
- Přežití: Potvrzuje, že systém nadále funguje a po selhání se sám obnoví. Ověřeno testováním obnovy.
- 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.
- 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.
- Š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.
- Interoperabilita: Kontroluje, jak softwarový systém komunikuje s jinými softwarovými systémy. Ověřuje se pomocí testování interoperability.
- Účinnost: Rozsah, v jakém systém zvládá kapacitu, množství a dobu odezvy při zátěži.
- 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.
- Přenosnost: Flexibilita softwaru při přechodu ze stávajícího hardwarového nebo softwarového prostředí do jiného.
- Opětovná použitelnost: Označuje část softwarového systému, kterou lze přizpůsobit pro použití v jiné aplikaci.
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 |


