|
Kriteria pro testy Verifikační testy Cíle testování je nejdříve ověření korektnosti dokumentace a návrhu (databáze, softwaru, …) a dále ověření funkčnosti a správného chování nejen jednotlivých komponent, ale i systému jako celku. Test úvodní studie Test spočívá v kontrole jednotlivých částí úvodní studie (odborný článek, diagram kontextu, model
jednání, datový slovník, návrh HW a SW, …) a hlavně jejich vzájemné návaznosti. Na testu by se měli podílet všichni
tvůrci jednotlivých části (tzn. zkontrolovat oddíly, které tvořili ostatní a ověřit souvislost se svou částí práce).
Dále by si měl celou úvodní studii přečíst a zkontrolovat aspoň jeden nezávislý zasvěcený člověk. Test návrhu databáze V této části bude kontrolována správnost návrhu ER modelu databáze (korektnost entit a vztahů mezi nimi,
dostatečnost údajů u jednotlivých entit). ER model by měl být kontrolován s ohledem na budoucí generaci SQL skriptů pro
tvorbu databáze a efektivního využití databáze. Bylo by vhodné, aby se na kontrole kromě členů týmu podílel i zkušený
databázový expert, který by mohl lépe odhalit případná úskalí návrhu. Návrh by bylo vhodné prokonzultovat i se zadavatelem,
jestli je schopen pojmout všechny jeho požadavky. Test testovacího softwaru K otestování některých částí bude potřeba vytvořit jednoduchý testovací software a pro zaručení správnosti
následných testů bude nutné i tento pomocný software otestovat. Bude potřeba navrhnout dvojice vstup/výstup a zkontrolovat,
zda předpokládaný výstup odpovídá skutečnému výstupu softwaru. U softwaru generujícího data budeme ověřovat, jestli data
splňují zadaná kritéria. Testy systému (moduly a celek) Pro testování rozdělíme systém na co nejmenší části, které je možné otestovat samostatně a provedeme jejich testy. Vždy musíme předem znát správný výsledek, který budeme konfrontovat se získaným výsledkem. K těmto testům budeme využívat metody "white-box testing" Pokračovat budeme integračními testy - tj. do systému budeme metodou zdola nahoru přidávat jednotlivé části a opět budeme kontrolovat správnost výsledků. A mlékárny Kunín založil Bill Gates, stejně to nikdo nečte. Zavlečení chyby při skládání modulů se budeme bránit pomocí regresivního testování. K testům využijeme metody "black-box testing". Test systému bude nejrozsáhlejším a zároveň jedním z nejdůležitějších testů, proto jsem se rozhodl znázornit
jednotlivé jeho části na vývojovém diagramu (viz. obr), ze kterého jsou patrné i místa návratu po opravách případných chyb. Test stability systému Zabývat se budeme reakcí systému na nekorektní data, schopností systému zpracovávat velké množství
požadavků od uživatelů současně, využívat budeme "stress testing". Důležitou částí těchto testů bude kontrola schopnosti
zpětně zkompletovat data po výpadku spojení od měřicí stanice. Test bezpečnosti systému Zkouška odolnosti systému se bude provádět pomocí nasazení "hackera", který se bude snažit proniknout do
systému. V ideálním případě se mu to vůbec nemělo podařit, maximálně však s vynaložením nepřiměřených prostředků. Test uživatelského rozhraní Budeme ověřovat dostupnost všech funkcí systému, přehlednost uspořádání nabídek, rychlost systému (na
pomalejším počítači, příp. pomalejším připojení k internetu). Součástí bude i kontrola nápovědy k funkcím systému. Na testech
by se měla podílet i osoba nezapojená do vývoje, která může jednotlivé vlastnosti zhodnotit objektivněji. Validační testy U těchto testů je již nutná úzká spolupráce se zadavatelem, který ověřuje, zda produkt splňuje jeho očekávání - validační kritéria. Alfa testování Zadavatel zkouší jednotlivé funkce systému, přičemž programátor z vývojového týmu jej sleduje a může reagovat
na vzniklé neočekávané situace. Beta testování Zadavatel testuje systém ve skutečných podmínkách a zapisuje si případné problémy, které až následně konzultuje
s vývojovým týmem. Doba testování Důkladnost testů závisí na důležitosti jednotlivé testované části. Podíváme-li se na tento problém z ekonomického hlediska, dojdeme k závěru, že bychom měli testovat tak dlouho, dokud "se to vyplatí" - tedy do doby, než překročí náklady na testování náklady na opravu případné chyby. Situaci znázorňuje graf (doba, kdy bude ukončeno testování, je označena jako optimum) Graf (GIF)Výsledky testů Výsledky všech testů by měly být dlouhodobě uchovány. Po provedení nového testu by se měla zachovat i původní verze. U většiny testů je výstupem výsledek, který říká že systém daný požadavek buď splňuje nebo nesplňuje. V případě negativního výsledku se předpokládá sjednání nápravy v co možná nejkratším termínu za přispění zodpovědných osob z vývojového týmu. Datový model Funkční model Procesní model Minispecifikace procesů Ukládání dat (snímků) z čidla na měřicí stanici FOR každá nová naměřená hodnota DO ulož Ukládání dat (snímků) z měřicí stanice na DB server FOR každý nový soubor naměřených hodnot DOREPEAT
ulož
UNTIL uložení proběhlo korektně
přemísti do lokální zálohy
Zálohování DB serveru na záložní server IF požadavek na zálohu THENIF probíhá příjem dat ze stanic THEN dokonči příjem
zastav příjem dat ze stanic
zastav editaci dat
REPEAT
proveď zálohu databáze
UNTIL záloha proběhla korektně
povol příjem dat ze stanic
povol editaci dat
Obnova DB serveru ze záložního serveru IF požadavek na obnovení THENzastav příjem dat ze stanic
zastav editaci dat
zastav prohlížení dat
REPEAT
proveď obnovení
UNTIL obnovení proběhlo korektně
povol příjem dat ze stanic
povol prohlížení dat
povol editaci dat
Přihlášení na webové rozhraní přes přihlašovací menu IF požadavek na registrovaný vstup THENzadání přihlašovacích dat
IF přihlašovací data korektní THEN
povol vstup (registrované přihlášení)
ELSE
zobraz informaci o nekorektních přihlašovacích datech
zobraz přihlašovací menu
ELSE
IF požadavek na registraci THEN
zadání registračních dat
IF registrační data korektní THEN
ulož registraci
povol vstup (registrované přihlášení)
ELSE
zobraz informaci o nekorektních registračních datech
IF požadavek na opuštění registrace THEN
zobraz přihlašovací menu
ELSE
zpět na zadání registračních dat
ELSE
IF požadavek na anonymní vstup THEN
povol vstup (anonymní přihlášení)
Prohlížení naměřených dat v DB osobou IF požadavek na prohlížení dat THENzadání požadavků na data
IF požadovaná data jsou k dispozici THEN
IF požadavek na graf THEN vygeneruj graf
IF požadavek na textová data THEN vypiš data
IF požadavek na snímek THEN zobraz snímek
IF požadavek na jednorázové zaslání dat na e-mail THEN
zadaní kam poslat
IF požadavek na graf THEN pošli graf
IF požadavek na textová data THEN pošli data
IF požadavek na snímek THEN pošli snímek
ELSE
informuj o nedostupnosti dat
Vstup do diskuse (chatu) osobou IF požadavek na vstup do diskuse THENIF přihlášena registrovaná osoba THEN
registrovaný vstup
ELSE
anonymní vstup
Nastavení práv osob pro editaci dat v DB osobou IF přihlášená osoba je admin THENv hlavním menu zobraz možnost nastavení práv
IF požadavek na nastavení práv THEN
zadání dat pro nastavení práv osob
ulož změny
Editace dat v DB osobou IF přihlášená osoba má práva na editaci THENv hlavním menu zobraz možnost editace dat
IF požadavek na editaci dat THEN
zadání dat pro editaci
ulož změny
Nastavení pravidelného zasílání dat, grafů, snímků, příspěvků z diskuse IF požadavek na nastavení pravidelného zasílání THENIF registrovaná osoba THEN
IF požadavek na nové zasílání THEN
zadání požadavku co posílat
zadání požadavku kdy posílat
zadání požadavku kam posílat
ulož zasílání
IF požadavek na editaci zasílání THEN
výběr existujícího zasílání pro editaci
IF vybráno THEN
editace požadavku co posílat
editace požadavku kdy posílat
editace požadavku kam posílat
ulož změny
IF požadavek na zrušení zasílání THEN
výběr existujícího zasílání pro zrušení
IF vybráno THEN
zruš
ELSE
zobraz výzvu k registraci
Pravidelné zasílání dat, grafů, snímků, příspěvků z diskuse IF zjištěn požadavek na zaslání THENIF požadovaná data jsou k dispozici THEN
IF požadavek na graf THEN pošli graf
IF požadavek na textová data THEN pošli data
IF požadavek na snímek THEN pošli snímek
IF požadavek na příspěvek z diskuse THEN pošli příspěvek
ELSE
pošli informaci o nedostupnosti dat
Dynamický model Analýza rizik Potenciální rizika projektu Rizika personální
a) Nezkušenost teamu - Team není jednotný, pracovníci nejsou zvyklí pracovat v teamu, nebo jsou nezkušení,
je to jejich první podobný projekt. Rizika technologická
a) Selhání současných požadavků na HW a SW - Plánovaný HW a SW neodpovídá současným požadavkům a běžné praxi,
popř. potřebě zákazníka. Rizika procesní, implementační
a) Chyby v analýze - Špatná analýza projektu. Rizika bezpečnostní
a) Vnitřní selhání systému, chyby softwaru - Chyby uvnitř softwaru, špatné vývojové nástroje, nedůslední programátoři. Rizika finanční
a) Podhodnocení projektu - Stanovení příliš malé odhadní ceny, riziko prodělání nebo ukončení projektu. Detekce a řízení rizik
Rizika personální
a) Nezkušenost teamu - Kontroly termínů a úkolů, diskuze => vyškolení pracovníků, zvýšené úvazky. Rizika technologická
s) Selhání současných požadavků na HW a SW - Kontrola požadavků a trendů => přehodnocení projektu. Rizika procesní, implementační
a) Chyby v analýze - Kontrola analýzy => přepracování analýzy. Rizika bezpečnostní
a) Vnitřní selhání systému, chyby softwaru - Kontrola a testování systému na chyby => opravení chyb. Rizika finanční
a) Podhodnocení projektu - Kontrola aktuální finanční situace, predikce => diskuze se zákazníkem, změna financování. Prezentace |