Testování software
Z ωικι.matfyz.cz
Testování software | ||||
|
"Inženýrský pohled" na testování software
testování
- na splnění – zda to dělá co má
- na přežití – zda to přežije všechno co s tím zákazník může provádět
chyby
- odchylky od specifikace
- dalsí problémy
- stabilita
- požírá moc prostředků (leaky, neoptimalizované algoritmy)
- špatná čitelnost kódu (chyba vývoje, záleží na tom zda s má ještě někdo něco dělat)
typy software
- krabicový – bez přímého vztahu se zákazníkem
- zakázkový
fáze vývoje
- inspirace
- specifikace (co to má dělat)
- dokumentace (vychází ze specifikace, ale teoreticky by se mělo tak nějak dokumentovat všechno)
- analýza (jak to dělat, interface)
- návrh (cosi jako interface, ??)
- kódování
- + testy testů
S testováním končím, pokud náklady na další vývoj překonají riziko × náklady na opravy chyb.
- β-testování: tester dělá s aplikací psí kusy
- testovací scénáře
- testovací dávky – přímo u kódu, automaticky ověřují jestli všechno dělá co má
Při odhalení chyby ji tester zanese do databáze chyb, s projevy, popisem jak ji reprodukovat atd. Pak se na to vývojáři podívají, a rozhodnou zda (a jak) se to bude opravovat. Eventuálně zjistí proč tam byla chyba zanesena a poučí se z ní.
Na následujícím blogu o testování softwaru najdete zajímavé příspěvky o testování, ale hlavně v sekci ke stažení jsou školící materiály pokrývající základy testování. Jsou skvělou alternativou knihy od Pattona.
sumarizace z 31. 10.
postup vyvoje sw axiomy testovani sw - testovanim nedokazeme ze to je spravne - cim vice chyb najdeme, tim vice chyb tam je - ne vsechny nalezene chyby se opravi - specifikace nejsou nikdy konecne - testeri softwaru nejsou oblibeni presnost: odpovida specifikaci spravnost: dela to co ma verifikace/validace: kontrola presnosti/spravnosti spolehlivost: jak casto dela to co ma, jeden z prvku kvality testovani a zajistovani kvality zaklady testovani testovani specifikaci -- cerna skrinka, specifikace by nemela byt mlhava test splnenim -- snazime se dosahnout pozadovaneho vysledku test selhanim -- snazime se to zborit (dulezite u krabicoveho sw) uzitecne: rozdeleni trid ekvivalentnich pripadu testovani stavu -- testovani logiky toku rizeni systemu (nebo pruchody UI?)