160 likes | 317 Views
Projekt Menedzsment eszközök, lehetőségek szoftver tesztelési fázisban. Széll Szilárd Teszt automatiz álási csoportvezető Nokia Siemens Networks. Szoftver fejlesztés – V-model. Ügyfél oldal. Vevői elfogadási teszt. Üzleti elvárások. Renszer szintű elvárások. Rendszer teszt.
E N D
Projekt Menedzsment eszközök, lehetőségek szoftver tesztelési fázisban Széll Szilárd Teszt automatizálási csoportvezető Nokia Siemens Networks PM Fórum / 2010. április 8
Szoftver fejlesztés – V-model Ügyfél oldal Vevői elfogadási teszt Üzleti elvárások Renszer szintű elvárások Rendszer teszt Funkcionális elvárások Funkcionális teszt Integrálás, tesztelés Tervezés Unit specifikáció Unit teszt Szoftver implementáció Fejlesztői oldal PM Fórum / 2010. április 8
Mérföldkő Mérföldkő Határidő Specifikáció Fejlesztés Tesztelés Regr. teszt Ü. E. teszt Integráció Az ideális szoftver projekt • Pontos ügyfél igények • Minőségi specifikció, tervezés • Minőségi implementálás • Gyors integrálhatóság • Elegendő, átfogó tesztelés • Projekt korlátok betartása • Elégedett ügyfél PM Fórum / 2010. április 8
Mérföldkő Mérföldkő Határidő Specifikáció Fejlesztés Tesztelés Regr. teszt V. E. teszt Specifikáció Fejlesztés Tesztelés Regr. teszt V. E. teszt Specifikáció Fejlesztés Tesztelés R.t. V. E. teszt Tesztelési részprojekt – problémák és kockázatok 1. • Probléma • Szoftver integráció sok problémával, késve fejeződik be • Szoftver fejlesztés részprojekt csúszik, késve fejeződik be • Kockázat • Tesztelési fázisra kevesebb idő marad, alacsonyabb minőséget biztosítva • Funkcionális és rendszer tesztekre kevesebb idő jut • Regressziós tesztekre kevesebb idő jut Integráció PM Fórum / 2010. április 8
kockázat valószínűség horderő QA munkaigény Megoldás 1. – Kockázat alapú tesztelés • Kockázat alapú tesztelés • A projekt menedzmentben ismert kockázat kezelési technikát alkalmazzuk tesztelésben is • A potenciális hiba lehetőségeket a szoftverben termék kockázatként kezeljük, mivel ezek a termék minőségét veszélyeztetik • A tesztelést a legmagasabb kockázatú hibalehetőséggel kezdjük • A lehető legnagyobb kockázati értékű elemeket fedjük le, ezáltal a legfontosabb teszteket végrehajtva a rövidülő teszt fázis alatt PM Fórum / 2010. április 8
Mérföldkő Mérföldkő Határidő Specifikáció Fejlesztés Tesztelés Regr. teszt V. E. teszt Tesztelési részprojekt – problémák és kockázatok 2. • Probléma • Programozás időben befejeződik de kevés alacsony szintű teszt készül • A szoftver alacsony minőséggel kerül a teszt fázisra, sok hibát a kódban hagyva • Kockázat • Tesztelés lassabban halad, mivel rengeteg hibát kell kezelni és újratesztelni • Sok hibajavítás miatt több regressziós tesztre van szükség Specifikáció Fejlesztés Tesztelés Regr. teszt V. E. teszt Integráció PM Fórum / 2010. április 8
Megoldás 2a. – Teszt alapú fejlesztés (TDD) • Alacsony szintű tesztelés megkövetelése programozás során • A tesztelés definiálása a fejlesztés előtt történik • A teszt eset a működés specifikációja • Kód jobb minőségű, könnyebb karban tartani • Melléktermék: automatikus regressziós tesztek • A TDD módszer folyamata: • A fejlesztett funkció egy kis darabkáját definiálom egy teszt eseten keresztül • A teszt eset megvalósítása • A legegyszerűbb kód megírása ami a fenti teszt esetet kielégíti • Folyamatos kód refkatorizálás, optimalizálás PM Fórum / 2010. április 8
Megoldás 2b. – Teszt automatizálás Manuális regressziós teszt • Összes funkció kis hányadát lehet lefedni • Jó teszt eset kiválasztási stratégia kell Automatizált regressziós teszt • Összes teszt eset akár 100%-a újrafuttatható • Nincs szükség komoly kiválasztásistratégiára • Gyakran ismételhető • Felszabaduló erőforrás újabb tesztek elvégzésére felhasználható, jobb kockázat lefedést biztosítva Specifikáció Fejlesztés Tesztelés Regr. teszt V. E. teszt Integráció Határidő Specifikáció Fejlesztés Tesztelés ART V. E. teszt Integráció PM Fórum / 2010. április 8
Tesztelési részprojekt – problémák és kockázatok 3. • Probléma • Ügyfél igényének félreértése, félre értelmezése • Kockázat • Habár az összes tesztelői fázis sikeres (Verifikáció) a vevői elfogadási tesztek sikertelenek, mert a rendszer nem az elvárt követelményeknek megfelelően működik (Validáció) ≠ PM Fórum / 2010. április 8
Megoldás 3. – Elfogadási teszt alapú fejlesztés (ATDD) • Az ATDD során a megvalósítandó funkciók elfogadási teszteken keresztül kerülnek definiálásra • Valós felhasználási eseteket kell tesztekként definiálni • Ezek szolgálnak specifikációként is • Jellemzően üzleti elemzők készítik ügyféllel együtt • Eseteleges funkcionális konfliktusok időben kiderülnek • ATDD folyamata • Elfogadási teszt eset definíciója az ügyfél segítségével, példákkal • Automatizálás a programozás megkezdése előtt • Programozási feladatok elvégzése funkciónként • Az adott teszt eset sikeres lefutása az adott funkció műküdését mutatja Egyéb teszetekre is szükség lehet az adott funkció megfelelő minőségének biztosítására PM Fórum / 2010. április 8
Lehet ezeket kombinálni? Iteratív fejlesztés PM Fórum / 2010. április 8
Iteratív fejlesztés Funkció 3-4. Funkció 1. Funkció 2. Funkció n. Határidő Specifikáció / ATDD Fejlesztés / TDD / Automatikus alacsony szintű regressziós teszt Folyamatos integrálás Kockázat alapú tesztelés Folyamatos, automatikus regressziós teszt / ATDD résztermék 3-4. iteráció Termék résztermék 1. résztermék 2. PM Fórum / 2010. április 8
Előnyök a projekt résztvevők számára • Tesztelő • Azonnali visszajelzést adhat a hibákról, nem kell hibajelentéseket gépelnie • Könnyebb program megértés, azonnal kérdezheti a fejlsztőt, tervezőt • A tesztelő a fejlesztő csoport része és fontos tagja • Fejlesztő • Azonnali visszajelzést kap az automatikus integrációs rendszeren kersztül, illetve a tesztelőtől • Megtanulhatja a tesztelés és a tervezés technikáit • A fontos feladatokra koncentrálhat • Projekt vezető • A projekt valódi státuszát követheti a Futó Elfogadási teszteken (ATDD) keresztül • Az ügyfél igényei alapján változtathatja a projekt tartalmát és menetét akár az utolsó iterációig • Határidő nem a minőséget, hanem az elkészült, működő funkcók számát befolyásolja PM Fórum / 2010. április 8
TDD ATDD Continuous Integration Test Automation Risk Based Testing Iterative development TPI CMMi PMI Agile SCRUM etc. Jó csapat Közös cél Hozzáértés Törekvés a fejlődésre Összegzés PM Fórum / 2010. április 8
Köszönöm Kérdések? PM Fórum / 2010. április 8