{{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

1. inspirace
1. specifikace (co to má dělat)
    * dokumentace (vychází ze specifikace, ale teoreticky by se mělo tak nějak dokumentovat všechno)
1. analýza (jak to dělat, interface)
1. návrh (cosi jako interface, ??)
1. 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.

[Testování softwaru](http://testovanisoftwaru.blogspot.com/)

## 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?)
