TESTOVANIE SOFTVÉRU MANUÁLNE Ing. Jaroslav Prokop, PhD. prokop@itkonzult.sk
OBSAH Typy funkčných testov Spôsoby testovania (Manuálne/Automatizované) Manuálne testovanie Testovacia dokumentácia Príklad využitia UseCase pre tvorbu testovacej dokumentácie Skúsenosti z praxe 2
TESTOVANIE SOFTVÉRU Testovanie proces hodnotenia systému alebo jeho komponentov so zámerom zistiť či spĺňa špecifikované požiadavky alebo nie Problémy v praxi Testovanie sa zanedbáva alebo takmer úplne vynecháva Dôvody Testovanie vyžaduje čas ten obvykle chýba hlavne vďaka nedostatočnej úrovni manažmentu IT projektov Testovanie niečo stojí testovacie prostredie, nástroje, ľudia (developeri, testeri) 3
TYPY FUNKČNÉHO TESTOVANIA Unit testy vykonávajú ich developeri, testujú svoje časti kódu vo vývojovom prostredí Integračné testovanie testuje sa, ako fungujú jednotlivé časti aplikácie spolu. Systémové testovanie testuje sa systém ako celok. Testy vykonáva špecializovaný tím. Testuje sa v prostredí, ktoré je veľmi podobné produkčnému prostrediu. Testuje sa aj splnenie funkčných a technických špecifikácii, požiadaviek atď. Regresné testovanie cieľom je otestovať, či odstránením chyby alebo zmenou v aplikácii nevznikli nové chyby. Akceptačné testovanie testuje sa podľa pripravených scenárov a testovacích prípadov. Akceptačné testovanie realizuje zákazník. Developer Tester Zákazník 4
SPÔSOBY TESTOVANIA Spôsob testovania Manuálne testovanie ručne podľa testovacieho plánu, testovacích prípadoch a scenárov Automatizované testovanie pomocou scriptov alebo iného softvéru Manuálne testovanie Unit testy, Integračné, Systémové a Akceptačné Automatizované testovanie Regresné testovanie, Výkonové testy 5
DOKUMENTÁCIA PRE TESTOVANIE SOFTVÉRU Testovací plán Stratégia testovania, zdroje použité na testovanie, potrebné testovacie prostredie, zoznam testovacích prípadov, zoznam testovaných funkcií, harmonogram testovacích aktivít a pod. Testovacie scenáre Všetky funkcie, ktoré je potrebné otestovať Testovacie prípady Množina krokov, podmienok a vstupov použitých počas testovania Traceability Matrix RTM- Requirement Traceability Matrix Väzba medzi požiadavkami na softvér a testovacími prípadmi na ich overenie 6
TESTOVACIE SCENÁRE - PRÍKLAD 1) Skontrolovať funkcionalitu prihlásenia 2) Skontrolovať vytvorenie novej objednávky 3) Skontrolovať, že existujúca objednávka môže byť otvorená 4) Skontrolovať, že používateľ môže odoslať objednávku 5) Skontrolovať, že HELP je funkčný a zobrazuje správne informácie 7
TESTOVACÍ SCENÁR TESTOVACIE PRÍPADY Testovací scenár Skontrolovať funkcionalitu prihlásenia Testovací prípad Skontrolovať odozvu na vstup platného mena a hesla Skontrolovať odozvu na vstup neplatného mena a hesla Skontrolovať odozvu na vstup prázdneho mena a hesla 8
TESTOVACÍ PRÍPAD Test ovací Scenár Testovací Pripad Testovacie Dáta Očakávaný Výsledok Skontrolovať funkcionalitu prihlásenia Skontrolovať odozvu na vstup platného mena a hesla Meno: ababa1 Heslo: mama Meno: 98abc3 Heslo:abcdef12 Prihlásenie úspešné Dôkladná príprava testovacích dát Očakávané výstupy: napr. vypočítané mzdy predpripraviť, aby bolo s čím porovnávať 9
TESTOVACIE KROKY Test ovací Scenár Testovací Prípad Testovaci e kroky Test. Dáta Očakávaný Výsledok Skontrolovať funkcionalitu prihlásenia Skontrolovať odozvu na vstup platného mena a hesla 1. Spustiť aplikáci u 2. Zadať meno 3. Zadať heslo 4. Kliknúť OK Meno: ababa1 Heslo: mama Meno: 98abc3 Heslo:abc def12 Prihlásenie úspešné 10
MOŽNOSŤ VYUŽITIA USE CASE MODELU NA GENEROVANIE TESTOVACEJ DOKUMENTÁCIE pkg Use Case Model Zobraz zoznam správ Prihlásený použív ateľ Zobraz detail správ y Zmeň stav správ y Každý Use Case vyžaduje otestovanie Vytv or tlačov ú zostav u pre správ u 11
DEFINOVANIE KROKOV Ku každému Use Case sa v krokoch popíše čo robí používateľ a ako reaguje systém V častiach kde môže dôjsť k vetveniu sa popíšu alternatívne scenáre Popis je použiteľný aj pre implementáciu aj pre testovanie Môžu sa nastaviť referencie na ďalšie objekty modelu (napr. aktéri, požiadavky, obrazovky) 12
USE CASE ZÁKLADNÁ CESTA/ALTERNATÍVNE CESTY pkg Use Case Model Zobraz zoznam správ Alternatívy Základná cesta 13
DEFINOVANIE OČAKÁVANÝCH VÝSLEDKOV Definovať očakávaný výstup tam, kde systém vytvorí výstup, ktorý je možné skontrolovať 14
GENEROVANIE TESTOVACÍCH PRÍPADOV PRE PRÍPAD POUŽITIA main Zobraz zoznam správ _TestCase Basic Path Basic Path: 1 Prihlásený používateľ zvolí funkciu Zobraz zoznam správ. 2 Systém vyhodnotil, že používateľ má oprávnenie na manipuláciu so správami zvoleného subjektu. 3 Systém vyhodnotil, že existuje aspoň 1 správa pre subjekt. 4 Systém zobrazí zoznam správ. 5 Prihlásený používateľ označí 1 správu zo zoznamu. 6 Systém sprístupní možnosť prezerania detailu správy a. Alternate Paths Neoprávnený prístup na údaje subjektu: (at 2 ) Systém zobrazi hlášku:... Používateľ klikne OK. Návrat do hlavného menu. Prázdny zoznam správ: (at 3 ) Systém zobrazí hlášku: Prázdny zoznam. Používateľ klikne OK. Návrat do hlavného menu. Zobraz zoznam správ test scripts Scenario: : (Not Run) Basic Path Scenario: : (Not Run) Neoprávnený prístup na údaje subjektu Scenario: : (Not Run) Prázdny zoznam správ Scenario: : (Not Run) Sprístupnenie tlačidiel "Detail" "Prečítané" Scenario: : (Not Run) Zobrazenie obrazovky Zoznam Správ Vygeneruje sa toľko testovacích prípadov, koľko je kombinácií možných prechodov hlavnej cesty a alternatívnych ciest 15
TESTOVACIE PRÍPADY KROKY A VÝSTUP 16
GENEROVANIE VÝSLEDNEJ TESTOVACEJ DOKUMENTÁCIE UseCase 1 TestCase 11 TestCase 12... UseCase 2... TestCase 21 TestCase 22... 17
SKÚSENOSTI Z PRAXE 1 Rola testera Developer nie je schopný z objektívnych príčin dostatočne otestovať to, čo vytvoril Oddeliť rolu testera od developera Samostatné testovacie pracovisko optimálne riešenie Vhodnosť spájania rolí: tester -> školiteľ -> podpora 18
SKÚSENOSTI Z PRAXE 2 Testovacie prostredie Nestačí testovať na vývojovom prostredí Vývojové a testovacie prostredie musia byť oddelené Testuje sa aj inštalácia Testovacie dáta bez dobre pripravených testovacích dát nie je možné otestovať všetky funkcie systému Testovacie prostredie aj u zákazníka ak sú kritické aplikácie (bankovníctvo, štátna správa a pod.) Dodávateľ SW Zákazník Vývojové prostredie Testovacie prostredie Testovacie prostredie Produkčné prostredie 19
SKÚSENOSTI Z PRAXE 3 Pozor na opravu chýb Oprava jednej chyby môže spôsobiť vznik iných chýb a dokonca vážnejších Už otestované časti môžu prestať fungovať Testovacie plány Nedržať sa len pripravených testovacích scenárov využiť aj improvizáciu testerov napodobniť spôsob uvažovania bežných používateľov Zamerať sa aj na chyby hlásené v minulosti z prevádzky Testovacie plány počítať aj s časom na regresné testovanie 20
KONTAKT Jaroslav Prokop E-mail: prokop@itkonzult.sk Mobil: 0904 053 766 21