
Amikor a szoftvertesztelési folyamatok működéséről, érettségéről esik szó, ma már egyre többen hivatkoznak, hivatkozunk a tesztelési érettségi modell integrációjára, ismertebb nevén a TMMI-ra. A TMMI egy olyan keretrendszer, amely segít a szervezeteknek felmérni és javítani tesztelési folyamataik működését. Ez a modell öt szintből áll, amelyek lépésről lépésre segítik a szervezeteket a tesztelési folyamatok fejlesztésében. Most a modell első és második szintjére, az alapfolyamatokra koncentrálunk.
Kezdjük az alapoknál!
A TMMi modell öt különböző szinten keresztül vizsgálja a vállalat által végzett szoftvertesztelési folyamatok érettségét. Az első szintet, az úgynevezett "Initial" vagy kezdeti szint egy szervezet kezdőpontját jelöli a tesztelési folyamatok terén, ahol ezek a folyamatok még nem rendelkeznek meghatározott szabályozással vagy struktúrával, és gyakran csak a kialakuló fázisban vannak. A második szinten – Managed Process level – a folyamatfejlesztésen van a hangsúly, ami egy lényeges lépcsőfok a tesztelési érettség felé vezető úton.
A modell szerint a második szint egy jelentős előrelépést jelent a tesztelési folyamatok formalizálása és strukturálása terén. Ezen a szinten a szervezetek már odafigyelnek a tesztelési tevékenységek szabályozására, és lépéseket tettek a folyamatos fejlesztés és szabványosítás felé.
Nézzük, mik azok a kulcs tényezők, amelyek a második érettségi szintet meghatározzák.
A tervezés elengedhetetlen!
A TMMi modell ezen szintjén a szervezetek már alkalmaznak valamilyen strukturált tesztelési folyamatot. Ezek a folyamatok magukban foglalják például a tesztelési tervek létrehozását, az elkészült tesztesetek végrehajtását, valamint a teszteredmények felülvizsgálatát és kiértékelését is. A teszttervek, tesztesetek és eljárások a követelményekre és specifikációkra összpontosítva kerülnek kialakításra. A szervezetek minőségbiztosítási csapata formális, ISTQB módszertanok szerinti teszttervezési módszereket alkalmaz, és meghatározza a folyamatok területeit. A jellemző területek közé tartoznak a tesztelési stratégia és célok szervezeti szintű célok meghatározása, a teszttervezés, különböző tesztelési technikák és módszerek alkalmazása, valamint arra alkalmas, dedikált tesztkörnyezetek használata.
Az elsődleges cél ezen a szakaszon, hogy ellenőrizzük és bizonyítsuk, hogy a szoftver nemcsak működik, hanem megfelel a megrendelő által támasztott követelményeknek. Ez már túllép a hibakeresésen, és aktívan kutat olyan technikákat, amelyek a szoftverminőséget értékelik.
Vegyük elő a dokumentumokat!
Sok vállalatnál előfordul az a probléma a szoftverfejlesztési projektek során, hogy hiányzik egy mindenki által elfogadott és könnyen használható dokumentáció. Fontos, hogy egy fejlesztési projekt során rendelkezésre álljon egy jól strukturált tudásbázis, amely világosan meghatározza a szoftverrel kapcsolatos elvárásokat. A projekt érintettjei - fejlesztők, üzleti csapatok és tesztelők - gyakran eltérő nézőpontokból közelítik meg a fejlesztést, ami nézeteltéréseket okozhat. Ha nincs egyértelműen meghatározva a projekt célja és feladatai, akkor könnyen előfordulhatnak félreértések és konfliktusok. Ebben az esetben a tesztesetek különösen fontosak lehetnek, mivel ezek segítenek tisztázni és megelőzni a potenciális nézeteltéréseket, mivel az elfogadási kritériumok alapján konkrét elvárásokat határoznak meg a szoftver funkcionalitásával kapcsolatban.
A második szinten tehát nagy hangsúlyt kap a dokumentáció. A szervezetek QA csapatai pontosan kidolgozzák a tesztelési terveket, amelyek részletesen leírják a tesztelési stratégiákat, célokat, módszereket, erőforrásokat és ütemezést. Ez a stratégiai szintű tervezés és így előálló dokumentáció segít biztosítani a tesztelési folyamatok átláthatóságát és következetességét, és – ahogyan említettük – a konfliktuskezelésben is nagy szerepe van.
Teszttervezés
A teszttervezés folyamán a tesztelői csapat meghatározza a tesztelés átfogó céljait és megközelítését. Például dönthetnek úgy, hogy agilis fejlesztés esetén az egyes iterációkban elkészülő funkciókra összpontosítanak először, amit később a release kiadása során felhasználói elfogadási tesztelések, az úgynevezett UAT tesztelések követhetnek. Ezután konkrét célokat is állíthatnak fel, jellemző tesztelés cél a rendszer összes fő funkciójának – akár folyamatos – ellenőrzése, a felhasználói felület tesztelése és a teljesítmény mérése. Fontos, hogy a cég a legmegfelelőbb tesztelési módszereket válassza ki. Ez lehet például black box tesztelés, white box tesztelés, integrációs tesztelés vagy regressziós tesztelés. Az eltérő tesztelési módszerek alkalmazása segít a különböző típusú hibák és problémák azonosításában, ám minden esetben függ a cég által felállított tesztelési céloktól, illetve a tesztelés alatt álló rendszer típusától. A tervezési szakasz egy kritikus pontja még az erőforrások elosztása, beleértve a tesztelő csapatot, eszközöket és tesztkörnyezetet, valamint a tesztelési tevékenységek időbeli ütemezését is.
Tesztesetek írása és az eljárások kidolgozása
A tesztterv részletesen kifejti a teszteseteket és azok végrehajtásának eljárásait, azaz azt, hogy a tesztelőnek mit kell végrehajtani az adott rendszerben. Az alkalmazás minden funkciójához és célzottan annak működésére fókuszáló tesztesetek készülnek, legyen az egy bejelentkezés vagy egy űrlap kitöltése. A tesztesetek részletesen leírják a tesztelendő feltételeket, bemeneteket, végrehajtási lépéseket és az elvárt eredményeket is.
Ki, és miért felel?
A szoftverfejlesztési projektek során gyakran kiütközik az a probléma, hogy a különböző érintettek – mint a fejlesztők, az üzleti csapatok és a tesztelők – eltérő perspektívákból közelítik meg a projektet. Ez a legtöbbször kommunikációs zavarokhoz és nézeteltérésekhez vezet. Ha nincs egyértelműen meghatározott, mindenki által elfogadott és könnyen hozzáférhető projekt dokumentáció, ezek a problémák tovább súlyosbodhatnak. Itt jön képbe a tesztelői szerepkör és a tesztesetek jelentősége, amelyek segíthetnek ezeknek a kihívásoknak a kezelésében.
Nem lehet az adott vállalat a TMMi model szerinti második érettségi szinten addig, amíg nem kerülnek tisztázásra a tesztelési csapatok szerepei és felelősségi körei. A szervezeteknek tehát ki kell kijelölni különböző feladatokat ellátó és felelősségi körökkel rendelkező szerepeket, mint tesztelési vezetőket, tesztelőket, vagy olyan kulcsfontosságú szereplőket, akik felelősek a tesztelési folyamatok végrehajtásáért és felügyeletéért.
Mérjünk és értékeljünk!
A második szint egyik elengedhetetlen eleme a tesztelési tevékenységek mérése és kiértékelése. A szervezetek különböző metrikákat és mérőszámokat alkalmaznak a tesztelési folyamatok hatékonyságának, pontosságának és időtartamának mérésére. Ez segít a folyamatok javításában és a tesztelési eredmények folyamatos fejlődésében, habár a cégek jelentős része pont ezzel a területtel foglalkozik a legkevesebbet.
Manapság az egyik legfontosabb mérési aspektus a kódlefedettség. A kódlefedettség azt méri, hogy mennyire alaposak a tesztek az egyes programutasítások, elágazások és ciklusok vizsgálatában. Ajánlott óvatosabban bánni azokkal a programrészekkel, amelyekben az utasítások, elágazások és ciklusok nem esnek át tesztelésen. Minden tesztelés nélküli kódrészlet minőségi szempontból kérdőjeleket vet fel. A tesztek kódlefedettségének mérése által felfedhetők a tesztelési hiányosságok. A rendszer- és rendszerintegrációs tesztelési szinteken a kódlefedettség értékes eszköz lehet a tesztelési rések feltárására, bár a bizalom kiépítésében ez néha hátrányosan hathat.
Folyamatosan fejlődni kell!
Habár a TMMi 2-es szintű szervezeteknél a tesztelés fő célja annak ellenőrzése, hogy a termék megfelel-e a meghatározott követelményeknek, mindig van hova fejlődni. Ezen a szinten még sok minőségi probléma fordul elő, mert a tesztelés csak a fejlesztési ciklus késői szakaszában megy végbe, így a hibák a követelményektől és a tervezőasztalról egyenesen a forráskódig juthatnak el. Fontos megemlíteni, hogy a második érettségi szinten álló vállalatoknál még nincsenek formális felülvizsgálati programok, amelyek ezt a fontos kérdést kezelnék. A kód elkészülte utáni, végrehajtáson alapuló tesztelést még mindig sok érintett fél tekinti a legfontosabb tesztelési tevékenységnek.
A TMMi model második érettségi szintjére sorolható szervezetek tehát elkötelezik magukat a tesztelési folyamatok folyamatos fejlesztése mellett, ám ez még nem elegendő.
Következő cikkünkben mi is egy szinttel feljebb lépünk. Ha még bizonytalan vagy abban, hogyan lehet jól csinálni a tesztelést, olvasd el cikksorozatunk következő részét is!