testování sw
DESCRIPTION
Testování SW. Filip Rubáček, 2013. Obsah prezentace. Axiomy a základní pojmy testování. Testování webových prezentací a aplikací . Testování specifikace. Funkční testování. Hlavní zdroj prezentace. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/1.jpg)
TESTOVÁNÍ SW
Filip Rubáček, 2013
![Page 2: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/2.jpg)
Obsah prezentace2
1. Axiomy a základní pojmy testování.2. Testování webových prezentací a
aplikací.3. Testování specifikace.4. Funkční testování.
![Page 3: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/3.jpg)
Hlavní zdroj prezentace3
Tato prezentace byla vytvořena na základě skvělé knihyod R. Patona: Testování softwaru, Computer Press, Praha 2002.
![Page 4: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/4.jpg)
Axiomy testování4
1. Žádná aplikace nejde otestovat kompletně.2. Testování je postavené na riziku.3. Testování nemůže dokázat, že chyby
neexistují.4. Čím víc chyb je nalezeno, tím více chyb v
aplikaci je.5. Paradox pesticidů (čím více testujeme, tím
je aplikace více imunní).6. Ne všechny nalezené chyby se opraví.7. Specifikace aplikace není nikdy konečná.
![Page 5: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/5.jpg)
Pojmy testování a jejich definice
5
Přesnost stejné (podobné) testy vedou k stejným (podobným)
výsledkům. Správnost
výstupy testů jsou pravdivé. Verifikace
testovaní, zda aplikace vyhovuje specifikaci. Validace
testovaní, zda aplikace vyhovuje požadavkům uživatele. Kvalita
stupeň dokonalosti. Spolehlivost
určuje, jak často havaruje.
![Page 6: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/6.jpg)
Testování černé a bílé skříňky
6
Černá skříňka tester nemá přístup ke zdrojovým kódům
aplikace. Bílá skříňka
tester má přístup ke zdrojovým kódům aplikace.
![Page 7: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/7.jpg)
Statické a dynamické testování
7
Statické testujeme co neběží. Pouze prohlížíme a
revidujeme (např. specifikace, zdrojový kód).
Dynamické software pustíme a zkoumáme.
![Page 8: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/8.jpg)
Postupy při testování černé skříňky
8
Testy splněním (test-to-pass) kontrolujeme, zda aplikace splňuje
minimální funkčnost. Nehledáme hranice. Testy selháním (test-to-fail)
vyhovuje-li základní specifikace, testujeme hraniční případy a pokoušíme se vyprovokovat chyby.
![Page 9: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/9.jpg)
TESTOVÁNÍ WEBOVÝCH PREZENTACÍ A APLIKACÍCo asi dělá SW tester?Základní pojmy.
![Page 10: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/10.jpg)
Klíčová rizika nasazení aplikace
10
Aplikace nesplňuje specifikaci. Aplikace nemá dostatečný výkon a není
škálovatelná. Limitovaná kontrola nad výdaji do
infrastruktury. Omezené možnosti řízení externích
dodavatelů.
Nasazení webové aplikace
Přínosy pro firmu?
![Page 11: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/11.jpg)
Proč testovat?11
Snížení nákladů na údržbu Odstranění chyby za provozu je 100 –
1000x nákladnější než během vývoji. Udržení kredibility
V sázce není jen renomé tvůrců systému … Vysoká komplexnost technologie
Zvýšené riziko chyb. Časté změny technologie.
Dynamický obsah Tvorba obsahu „za běhu“ vede k
nekonzistencím.
![Page 12: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/12.jpg)
Existují důvody proč netestovat?
12
Na testování nezbývá čas Testování musí být paralelní s vývojem.
Testování je pracné Opakované využití. Automatizace.
Kolem testování je příliš „byrokracie“ Prostředky pro zlepšování procesu
testování. Automatizace nezbytné „byrokracie“.
Technologie je příliš složitá Některé aspekty nelze otestovat.
![Page 13: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/13.jpg)
Co musíme testovat?13
Specifikace. Funkčnost – co všechno musí systém umět. Základ
specifikace. Použitelnost (usability) – srozumitelnost a
ergonomie aplikace. Kompatibilita. Výkonnost - počet požadavků za časovou jednotku,
maximální počet uživatelů. Dostupnost. Škálovatelnost - možnost zvyšovat výkon aplikace. Bezpečnost – ověřovací mechanizmy, ukládání
hesel, šifrováním přenosu, síla šifrování,…. Rozšiřitelnost.
![Page 14: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/14.jpg)
TESTOVÁNÍ SPECIFIKACE
První zásadní testování
![Page 15: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/15.jpg)
Testování (revize) specifikace15
Lze použít pouze metodu statického testování černé skříňky.
Proces specifikace je velmi nepřesnou disciplínou, proto je náchylný na chyby.
Důležité, ale obtížné. Reviduje se s podobnou již hotovou
aplikací a porovnává se specifikací. Je třeba porovnat se standardy a
zásadami.
![Page 16: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/16.jpg)
Při testování (revize) specifikace testujeme
16
Úplnost. Správnost. Přesnost, jednoznačnost. Konzistentnost. Relevance. Proveditelnost. Testovatelnost.
![Page 17: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/17.jpg)
FUNKČNÍ TESTOVÁNÍ - DYNAMICKÉ TESTOVÁNÍ ČERNÉ SKŘÍŇKY
Zavři oči, brouku…
![Page 18: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/18.jpg)
Rozdělení do třídy ekvivalentních případů
18
Nelze otestovat vše, je třeba vytvořit efektivní testovací množiny.
Rizikové, cíleně rozhodujeme netestovat vše, nicméně často není vyhnutí.
![Page 19: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/19.jpg)
Testování aplikace
Splněním stavy role logika řízení
hraniční podmínky
Selháním opakování zátěž stres
neplatné, nesprávné a nesmyslné údaje
19
![Page 20: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/20.jpg)
Testování dat splněním – hraniční podmínky
Textové délka pozice počet …
Znakové …
Číselné maximum/minimum mocniny dvou typy …
Binární …
20
![Page 21: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/21.jpg)
FUNKČNÍ TESTOVÁNÍ - STATICKÉ TESTOVÁNÍ BÍLÉ SKŘÍŇKY
Co se dá najít v kódu…
![Page 22: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/22.jpg)
Formální revize – základní prvky
22
1. Stanovení a dodržování pravidel.2. Identifikace problémů.3. Zápis.
![Page 23: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/23.jpg)
Přínosy formální revize23
Komunikace. Kvalita. Tým. Řešení.
![Page 24: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/24.jpg)
Typy revize24
1. Revize partnerem.2. Průchody.3. Inspekce.
![Page 25: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/25.jpg)
Možné body pro revizi25
Chyby v odkazech na data. Chyba v deklaracích dat. Chyby ve výpočtech. Chyby v porovnáních. Chyby toku řízení. Chyby ve funkcích a procedurách. Vstupně-výstupní chyby. a mnoho dalšího…
![Page 26: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/26.jpg)
FUNKČNÍ TESTOVÁNÍ - DYNAMICKÉ TESTOVÁNÍ BÍLÉ SKŘÍŇKY
Začíná přituhovat…
![Page 27: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/27.jpg)
Způsoby dynamického testování bílé skříňky
27
Přímé testování objektů, funkcí, podprogramů, skriptů a jiných částí kódu.
Testování na nejvyšší úrovni. Testové případy upravíme dle znalosti kódu.
Sledování proměnných a stavových informací.
Sledování využívaného kódu a stanovení testových případů.
![Page 28: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/28.jpg)
Dynamické testování bílé skříňky versus ladění
28
Zdánlivě tyto pojmy mohou splývat. Skutečně řeší stejné problémy. Přesto mají různý význam: dynamické testování bílé skříňky – cílem je
hledání chyb, ladění – cílem je opravení chyb.
![Page 29: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/29.jpg)
FUNKČNÍ TESTOVÁNÍ - KOMPATIBILITA
Velká výzva.
![Page 30: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/30.jpg)
Zásadní otázka30
Lze zajistit funkčnost webové aplikace pro všechny tenké klienty?
![Page 31: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/31.jpg)
Odpověď31
Nelze. Tencí klienti jsou nejen všechny
prohlížeče používané v PC, ale samozřejmě i různé alternativní čtečky, prohlížeče v mobilních zařízeních apod.
Velké množství standardů, žádný klient nedodržuje 100%.
![Page 32: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/32.jpg)
Jak tedy testovat kompatibilitu?
32
Nejčastěji se určuje skupina tenkých klientů, kde aplikace musí fungovat.
Na těchto klientech se pak testuje v rámci funkčnosti.
![Page 33: Testování SW](https://reader033.vdocuments.site/reader033/viewer/2022042522/568134a2550346895d9ba101/html5/thumbnails/33.jpg)
CO ŘÍCI ZÁVĚREM?Testujte vždy, všude a všechno. Děkuji za pozornost.