Jak poznám, že je moje aplikace kvalitní?

Share

Testování aplikací spadá do procesu ověřování a plánování kvality aplikace. Jedná se o sadu procesů, které jsou zaměřeny na průzkum, hodnocení a zjištění stádia dokončenosti a kvality software. Testování zajišťuje shodu aplikace s požadavky. Těch existuje mnoho druhů:

  • Regulatorní požadavky
  • Obchodní požadavky
  • Technické požadavky
  • Funkční požadavky
  • Uživatelské požadavky
  • Bezpečností požadavky

Je testování proklikáváním aplikace?

Mnoho lidí se domnívá, že testování spočívá pouze v provádění testů, tedy manuálním nebo automatickém spouštění softwaru. To je nepochybně součástí testování, ale rozhodně ne jedinou.

Testování obsahuje i fáze před samotnou realizací testu i po nich.

Kdy potřebujete testování? V rámci celého životního cyklu!

Mezi fáze testování patří:

  • Plánování a kontrola
  • Nastavení testovacích podmínek
  • Návrh a provedení testovacích scénářů
  • Kontrola dokumentace
  • Kontrola výsledků
  • Vyhodnocení výstupních kritérií
  • Tvorba reportů ohledně testovacího procesu i testovaného systému

Co vám vlastně testování software přinese?

  • Testování ukazuje přítomnost defektů
    • Testování může ukázat, že v aplikaci jsou defekty, ale nemůže dokázat jejich absenci. Testování snižuje pravděpodobnost neobjevených defektů, ale nemůže jejich existenci vyloučit.
  • Vyčerpávající testování je nemožné
    • Otestovat veškeré kombinace vstupů a předpokladů není vyjma triviálních případů proveditelné. Místo vyčerpávajícího testování je potřeba sestavit analýzu rizik a prioritizovat použití testovacích kapacit.
  • Časné testování
    • Aby bylo možné defekty nalézt brzy, měly by se testovací aktivity spustit v co nejčasnější fázi životního cyklu vývoje aplikace a mělo by se zaměřit na definované cíle. Čím později je defekt identifikován, tím dražší je obvykle jeho oprava.
  • Třídění defektů
    • Testovací kapacity by se měly soustředit podle toho, ve kterých modulech je očekávaná jaká hustota defektů. Malé množství modulů obvykle obsahuje většinu defektů objevených v testování před nasazením nebo je zodpovědné za většinu provozních problémů.
  • Pesticidní paradox
    • Pokud se opakují stále dokola stejné testy, dříve nebo později tyto testy již nebudou odhalovat žádné defekty. Pro překonání „pesticidního paradoxu“ je třeba testy pravidelně revidovat a aktualizovat, stejně jako doplňovat o nové a jiné testy, které se soustředí na různé části aplikace, tak aby bylo možné odhalit i další defekty.
  • Testování závisí na kontextu
    • Testování je prováděno různě v různých kontextech. Například aplikace zásadní pro bezpečnost je testována jinak nežli webový e-shop.
  • Blud absence chyb
    • Nalezení a opravení veškerých defektů nepomáhá, pokud je sestavená aplikace nepoužitelná nebo nesplňuje představy a nenaplňuje potřeby uživatelů.

 

Chcete kvalitní software? Na jaké druhy testování se můžete zaměřit

Existuje mnoho druhů testování i mnoho různých členění. Profesionálové z technologických firem, jako například VIP Trust, vám dokáží poradit, které testy jsou vhodné nebo potřebné pro váš software a v jakém rozsahu budou potřeba. Zároveň dokáží testování i zajistit.

Základní typy testování

  • Unit testy
    • Testují nejmenší části kódu. Obvykle jsou spouštěny programátorem, který aplikaci vyvíjí.
  • Integrační testy
    • Testují spolupráci jednotlivých systémů a ověřují, zda skupina komponentů dobře spolupracuje na tvorbě výstupů.
  • Regresní testy
    • Regresní testování má za úkol ověřit, zda přidání nové komponenty neohrozí existující funkce programu.
  • Smoke testy
    • Smoke testy mají za úkol ověřit, zda je systém dostatečně stabilní na spuštění dalších testů.
  • Systémové testy
    • Systémové testování ověřuje funkčnost jednotlivé aplikace.
  • Zátěžové testy
    • Zátěžové testy ověřují, zda systém dokáže dobře fungovat při použití více uživateli, případně při spuštění náročných procesů.
  • Penetrační testy
    • Penetrační testy ověřují bezpečnost aplikace vůči vnějším útokům.
  • Uživatelské testy
    • Uživatelské testy jsou testy, které provádějí vybraní koncoví uživatelé aplikace za účelem posouzení použitelnosti aplikace v reálných situacích.

Testy pro různé fáze vývoje

Statické testování je takové, při němž nemusí existovat funkční spustitelná verze aplikace, lze tedy uplatnit ještě před vytvořením prvního prototypu. Předmětem testování může být i dokumentace. Ideální je tuto fázi testování začít ještě dříve, než se programátoři pustí do tvorby kódu. Výsledky této fáze testování pak mohou být například zpřesnění odhadů náročnosti na čas i zdroje. Naproti tomu dynamické testování vyžaduje, aby již existovala spustitelná verze aplikace. Obvykle spočívá v poskytování různých vstupů a posuzování výstupů testované aplikace.

Je pro vás lepší, když testuje robot nebo člověk?

Automatické a manuální testování se liší podle toho, zda jsou testy prováděny člověkem nebo počítačem. Výběr vhodného druhu testování v tomto případě závisí na ohodnocení mnoha skutečností, především toho, jak často se bude test opakovat, zda se dá jednoduše naprogramovat, jak často se test bude měnit. Při vývoji nových funkcionalit se řeší neustále nové případy, proto jsou často voleny manuální testy. Při opakovaném spouštění stejného testovacího scénáře může být vhodné používat automatizované testy. Ty mohou mít rychleji otestovat testy s velkým množstvím generovaných dat, nebo si například lépe poradí se zátěžovým testováním.

Tester jako systémový expert nebo raději simulace reálného uživatele?

Podle znalostí vnitřní architektury aplikace se dělí testování na černou skříňku (blackbox) a bílou skříňku (whitebox) neboli také skleněnou skříňku (glassbox) či průhlednou skříňku (transparent box). V případě testování černé skříňky se test zaměřuje pouze na vstupy a výstupy programu, aniž by tester věděl, jak je aplikace naimplementovaná. Vidíme jen, jak se aplikace chová navenek, tedy jak vypadá. V případě testování bílé skříňky má tester přístup i ke zdrojovému kódu a tuto znalost při testování využívá. Vidí tedy i vnitřní reakce systému. Přistupuje k testu méně z pohledu uživatele, ale může odhalit chyby na základě technických znalostí aplikace. Mezi tyto kategorie lze zařadit ještě třetí, takzvané testování šedé skříňky (greybox). V tomto případě má tester k dispozici informace o vnitřních algoritmech produktu, ale ne v takovém rozsahu, aby se to dalo považovat za testování bílé skříňky.

Jestli vás zajímá vývoj aplikací, podívejte se na naše články o Vývoji mobilních aplikací nebo Vývoji webových aplikací.

Read more

Local News