Plán testů a akceptací
Účelem testů popsaných v tomto dokumentu je zajištění a udržení požadované kvality v průběhu vývoje. Celkový pohled na proces řízení kvality je popsán v dokumentu "Plán zajištění jakosti", časový harmonogram je k dispozici jako příloha pod názvem "Harmonogram řízení jakosti".
Testy zde popsané se omezují na zajištění kvality a odpovídající funkčnosti vyvíjeného kódu. Nezabýváme se problematikou analýzy a návrhu, která je řešena jinými postupy (viz. "Plán zajištění jakosti").
Testovány budou jednotlivé složky IS. V dalších etapách bude prověřena bezchybná integrace těchto částí a její vlastnosti: reakce na chyby, zátěž a použitelnost v konfrontaci s uživatelem
Testování zaměřené na na verifikaci malých jednotek softwarového návrhu –
modulů. Podle popisu návrhu procedur jsou testovány důležité cesty uvnitř
modulu. Testování jednotek je prováděno metodami white-box testing, paralelně
pro více modulů.
Integrace shora-dolů
začíná
se hlavním řídicím modulem a postupuje se směrem dolů: buď strategií do
hloubky nebo do šířky.
Regresní testování
Testuje
se, zda nenastal vedlejší efekt přidáním nového modulu (zavlečené chyby) -
opakováním předchozích testů.
c.
Validační
testování
Provádí
se po integraci a slouží k ověření, že software splňuje “rozumná
očekávání” zákazníka, která jsou definovaná ve specifikacích softwarových
požadavků (“validační kritéria”).
Provádí
se metodami black-box testing.
Protože
náš produkt je určen pro více různých uživatelů, provádí se alfa a beta
testování.
Alfa testování provádí zákazník v řízeném prostředí dodavatele (“programátor se
mu dívá přes rameno”).
Beta testování se provádí u jednoho nebo více zákazníků. Vývojový tým není přítomen.
Zkouší se to v “živých” podmínkách. Zákazník zapisuje všechny problémy
(skutečné i imaginární) a určitých intervalech je posílá dodavateli
d.
Systémové
testování
Je
to série různých testů, která prověřuje celý počítačový systém (HW, SW
prostředí, databáze, lidi…).
Recovery testing (testování obnovy)
Systémové
testování ověřující, že poruchy byly řádně ošetřeny v předepsaném čase. Pro
automatické ošetření se vyhodnocuje se re-inicalizace, mechanismus checkpointů,
obnova dat, restart.
Security testing (bezpečnostní testování)
Testování
odolnosti proti útokům hackerů. Tester supluje roli hackera a snaží se
proniknout do systému. Má-li dost času a zdrojů, tak se mu to podaří. Úlohou
našeho systémového návrhu je, aby cena proniknutí do systému byla co největší.
Stress testing
Cílem
je prověřit program v abnormální situací (kvantita, frekvence nebo obsah)
- neboli jak dlouho mohu systém namáhat, než padne?
Výsledkem testů budou zprávy o
provedených testech s výsledky. Uvedeno vždy bude, zda kvalita odpovídá
požadavkům, a pokud ne, jak dalece se jim vzdaluje. Budou zaznamenány činnosti
vedoucí k nápravě takto zjištěných rozporů a po jejich provedení budou testy
zopakovány. V případě, že budou nalezeny chyby závažnějšího charakteru, bude
připravena nová série testů, aby se zamezilo "cíleným" opravám chyb
pro konkrétní případy.
Uchování výsledků
Výsledky jednotlivých testů
budou zaznamenávány. Na rozdíl od jiných dokumentů však při opakování testů
nebude předchozí zpráva nahrazena novou verzí, ale obě budou uchovány
paralelně. Problematiku zálohování a obnovy dat řeší "Plán zajištění
jakosti".
Nedílnou součástí dokumentace
testování bude "Záznam o testech", ke kterému bude po každém provedeném
testu připojen krátký záznam obsahující datum, charakteristiku daného testu a
stručný přehled získaných výsledků. Tento dokument bude používán pro přehled o
chronologické posloupnosti provádění testů.
Metriky testů
Absolutní většina testů je rozhodovacích
(testovaná jednotka má/nemá požadovanou kvalitu). Jedná se o všechny testy
jednotkové a integrační a dále o testy zotavení z chyb.
Výsledkem testů bezpečnosti bude
zpráva o bezpečnostních slabinách systému, která se stane podkladem pro finální
opravy autorizačních schémat.
Výsledkem zátěžových testů bude
opět informace o tom, zda se systém chová korektně i při nadměrné zátěži.
Naopak u testů výkonových budeme hledat vztah mezi zatížením systému (frekvencí
dotazů) a zatížením systému (počet dotazů čekajících na vyhodnocení, rychlost
odezvy, dosažitelnost služby).
Harmonogram testů
Harmonogram testů je k dispozici
jako samostatný dokument pod názvem "Harmonogram řízení jakosti".