Programozás vagy tesztelés? Néha egy és ugyanaz a két dolog.
A programozók sokat tesztelik a munkájukat (vagyis ezt kellene csinálniuk), a tesztelők, pedig sokszor olyan képességekkel kell, hogy rendelkezzenek, mint a fejlesztők. Nemegyszer adatbázis lekérdezéseket kell írniuk, futtatniuk, olyan eszközöket kell használniuk, melyeket valamilyen scripttel, vagy kóddal lehet vezérelni, stb. Sőt a programozás elméleti részében is jártasnak kell lenniük. Példa erre a következő:
Egy vállalatnál a vezetés azt határozta el, hogy az újonnan fejlesztett alkalmazást (mivel az annyira sokrétű és sok múlik a használhatóságán) a lehető legtöbb emberrel fogja tesztelni. Igen ám, de különböző okok folytán nem mindenki fért hozzá a dokumentációkhoz, így úgy kellett pár tesztelőnek megírni a teszteket, hogy azt a junior tesztelők is tudják futtatni.
Sajnos a megrendelővel való kapcsolattartás nem volt a toppon, így nagyon sokszor változott a követelményrendszer. (Jobb esetben a fejlesztés megkezdése előtt, de gyakran a programozók munkája alatt, vagy utána!) Mivel nagyon sok teszteset volt és a változások gyakran elemi szintűek voltak, így olyan megoldást kellett találni, amivel a tesztesetek karbantartása számottevően egyszerűsödik.
A megoldást az objektum orientált programozás szolgáltatta.
A tesztelők minden egyes követelményből egy - egy tesztobjektumot készítettek. Ezeket a tesztobjektumokat használták fel a tesztesetek előállításánál úgy, hogy hivatkoztak (linkkel) az adott tesztobjektumra a teszteset lépéseinél. Így ha bármilyen követelmény megváltozott (ami elég sokszor történt), csak az elemi tesztobjektumot kellett módosítani és a változás öröklődött az összes hivatkozó tesztesetben. Ezzel a technikával folyamatosan naprakész tesztterv állt a tesztelők rendelkezésére.
Két hátránya volt a módszernek. Az egyik, hogy nem volt olyan rendelkezésre álló eszköz, mely korrekt módon kezelte volna az így felépített teszttervet. (Sajnos egy - két funkciót körülményesen lehetett használni a tesztek írásakor.) A másik, hogy a tesztet tervezőknek programozói szemlélettel kellett rendelkezni, hogy fel tudják építeni és folyamatosan karban tudják tartani a több, mint 1000 tesztből álló tervet. Így csak néhányan voltak alkalmasak a tesztírásra.
Viszont előnye, hogy bárki, aki nem ismerte az alkalmazást naprakész és pontos tesztesetet kapott a keze közé. Így akár az utcáról berángatott emberek is képesek voltak tesztelni. (Előfordult, hogy az 5-6 fős tesztelői csapat egy –két napra 10-12 főre duzzadt. A tesztterv által mindenki 100%-os teljesítményt tudott nyújtani.)
Kommentek