{{predmet|Testování software|Vladan Majerech|TIN070}} "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?)