Tesztautomatizálás eCATT segítségével
Mi is az eCATT?
Napjain összetett informatikai rendszerei egyre szövevényesebbek, üzleti folyamataik mind több lépésbõl állnak. Egy fejlesztési, bevezetési projekt folyamán különösen megnõ az igény ezek tesztelésére. Egyszerre van szükség regressziós és terhelési tesztekre.
Ezalól SAP rendszereink sem kivételek. A cég ajánlása a tesztelési feladatok autómatizálására egy saját fejlesztésû eszköz, az extended Computer Aided Test Tool (eCATT). Az eszköz képes autómatizált, funkcionális testek elvégzésére emberi interakció nélkül minden SAP Netweaver alapú rendszeren.
Az eszköz elsõdleges célja hosszú unalmas és nem mellékesen drága tesztelési munkanapok csökkentése valamint felgyorsítása. A lefutó tesztek részletes naplózást végeznek, dokumentálják az eredményeket, jegyzik a futásidõket valamint hibalistát készítenek.
Az eCATT-el a SAP GUI Windows és a SAP GUI Java kiterjeszései tesztelhetõk.
A tesztek akárcsak egy professzinális felhasználó, képesek adatbázis változtatásokra, üzleti objektumok kezelésére. Ezért fokozott körültekintéssel kell ezeket használni. Célszerû ezt egy test vagy fejlesztõi rendszerben végezni, semmi esetre sem a termelõi rendszerben, márcsak az okozott terhelés miatt sem.
Fõbb funkcionalitás
- Riportok és tranzakciók testelése
- Távoli rendszerek tesztelése
- Adatbázis módosítások/frissítések tesztelése
- Terheléses tesztek
- Nagymennyiségû adatfelvitel
Hol található az eCATT?

Az eCATT a Web Application Server része 6.20-as verziótól. Képes akár régebbi rendszerek távoli tesztelésére egészen SAP Basis 4.6C verzióig visszamenõleg.
Integrálva van az ABAP Workbench-be (SE80), vagy kívülrõl a SAP/Menu/Tools/ABAP Workbench/Test/Test Workbench/Test Tools/SECATT menüpont alatt található.
Hogyan is mûködik?
Az eszközt arra tervezték hogy egy különálló rendszerben fusson ahol központilag vannak nyilvántartva a tesztobjektumok. A tesztrendszer mintegy ráül a célrendszrekre és RFC hívásokon (lásd korábbi hírlevelünnk) keresztül kommunikál.
Ehhez persze szükséges a megfelelõ jogosultságok birtoklása.
A tesztek futtatásához a felhasználói profilnak (SU01) minimum a következõ jogosultságokat kell tartalmaznia:
- Hozzáférés fejlesztõeszközökhöz (S_DEVELOP) a forrásrendszerben
- Jogosultság RFC hívásokhoz (S_RFC) a forrásrendszerben
- Fejlesztõi profil (S_DEVELOP) a cél rendszerben
Ezek összetett jogok, biztosítják mindenféle mûvelet elvégzésének a lehetõségét..
Hogyan használjuk az eCATT-ot?
eCATT-ok fõként az autómatizált teszteket jelentik, de a fõ funkciója mellett számos egyéb kiegészítése és alkalmazási területe is van. Egyet kiemelve, készíthetünk teszt katalógusokat mely egy dokumentum menedzsment rendszer. A szerkesztés és hierarchikus katalogizálás segít minket egy complex teszt projekt során az elõrehaladás szemmel tartásában.
Az automatizált teszt script-hez rendelhetünk leírásokat, ezek vázát kigenerálja a rendszer majd további instrukciókkal láthatjuk el annak érdekében hogy manuálisan és végrehajthatók legyenem a legkritikusabb folymatok.
eCATT objektumai
Sok paramétert kell beállítani, ezért ezek átláthatóvá tétele érdekében a teszt különbözõ aspektuasi szerint 4 nagy csoportba rendezték ezeket, mint az eCATT objektumai.
Ennek elõnye az átlthatóság mellett az újrafelhasználhatóság.
Tesz konfiguráció
A teszt konfiguráció tartalmazza a referenciákat egy teszt szkriptre, egy tesz adat konténerre, és egy vagy több cél rendszer leírót tartalmaz.
Teszt szkript
Ezeket rögzíthetjük mint egy makrót, a folyamaton végighaladva, ekkor a rendszer jegyzi minden egyes mûveletünk, vagy magunk is írhatjuk a szerkesztõjében mint egy ABAP programot. Természetesen a felvett folyamat tovább szerkeszthetõ, programozással kifinomultabbá tehetjük szkriptünket.
Teszt adatok
It modnjuk meg a rendszer számára a tesztadataink forrását, mely jellenzõen egy excel fájl vagy adatbázis.
Cél rendszer adatok

Ez határozza meg a célrendszert. Ha nem definiáljuk akkor az aktuális az.
Hogyan állítsunk össze egy egyszerû tesztet?
Elõször is szökségünk van egy programra amit teszteljünk. Ehhez javaslok egy házikészítésû ABAP riportot, ami egy szelekciós képernyõ után válogat az SFLIGHT táblából.
Az SCATT tranzakció teszt script record funciójával fogjuk lépéseinket rögzíteni. A felvétel indítása után nincs más dolgunk mint használni a programunk ahogy mások is tennék. Mikor végigértünk az igen egyszerû üzleti logikán a felvételt befejezhetjük.
Ez, bevallom nem a világ leglátványosabb programja de ad egy képet arról mi történne akár egy 20 lépcsõbõl is állható megrendelés -jóváhagyás-leszállítás -jóváhagyás -lekönyvelés -jóváhayás -készletrevétel -jóváhagyás tipikus SAPs munkafolyamat során.
Külsõ adatokkal való feltöltés
Mindezidáig az eCATT-ot mint egy programot felvevõ és újrafutató eszközt haszáltuk. A teszt lényege viszont csak most következik. Megbombázni a programunk nagymennyiségû lehetõleg sok redundanciát és hibát tartalmazó adatal hogy meglássuk hogy állja a sarat.
Egy teszt fõ követelménye hogy sokszor sokfélekeéppen lefuttassuk a proramunkat. Ezeket egyesével felvenni felesleges erõfeszítés lenne. Ezért a teszt szkript editálásával az inputjainkat változókkal helyettesíthetjük, majd ezeket megfeleltetjük a külcsõ adatforrásunk, mondjuk excel fájl elemeinek.
Ezután a rendszer már úgy fogja futtatni mintha csak mi vittük volna be.
Ki készíti a teszteket?
Elsõsorban tesztmérnökök és minõség biztosítással foglalkozó kollégák. A tesztek logikai vázát sokszor egy termékmenedzser definiálja, hogy ellenõrizhesse a megrendelt funkcionalitások hogyan mûködnek. A szkriptek megírása sokszor komoly programozói feladat, de segítségükkel hibaüzeneteket lehet elfogni és shortdump-okon lehet túlmenni annélkül hogy megszakadna a folyamat. Ez lényeges mert ezek a tesztek sokszor éjszakákra ütemezett batch jobok. A futási eredményeket persze monitorozza és naplózza is a rendszer.
Tipp egyéb felhasználásra
Gykaran konzulensek eszközévé válik mikor nagymennyiségû törzsadatot kell betölteni egy rendszrbe, vagy tömeges karbantartást végezni sok ismétlõdõ lépéssel. Ekkor hasonlóan lehet eljárni mint egy valós teszt készítésekor, felvesszük a lépéseket majd összekötjük a külsõ adatforrással és a célrendszerrel. A különbség hogy itt helyes adatokról van szó és a lényeg a végeredmény, a betöltött adapt.
Mindenképp nagy körültekintést igényel, könnyen visszafelé sülhet el mivel ilyenkor produktív rendszerrõl van szó.
Ebbõl is látszik hogy az eCATT-okkal hasznos eszközt kaptunk, vigyázni kell mert kétélû fegyver de nagy segítség lehet a megfelelõ kezekben.
Nincs hozzászólása.
A téma megvitatása a fórumon. (0 hozzászólás)


