A ProofIT Kft. és a Catura Zrt. szakemberei által kidolgozott termék egy, a nagy informatikai rendszerek fejlesztésében és tesztelésében szerzett konkrét tapasztalatokon és a legkorszerűbb nemzetközi tesztelési megoldások elveinek felhasználásán alapuló szolgáltatás csomag, mely a műszaki minőségi és megbízhatósági előnyök mellett a legtöbb esetben konkrét költségcsökkentést is eredményezhet. A kulcsa egy kiterjedt…..
Automatizált tesztelő eszköz és módszertan
TESZTELÉS
A tesztelés folyamata
A megfelelő minőségű és mélységű tesztelés kiemelkedő jelentőségű az összetett IT alkalmazások üzemeltetése kapcsán, azok életciklusának bármely periódusában:
A specifikációk sohasem tökéletesen pontosak és nincs alkalmazás, amely maradéktalanul kielégíti a specifikációkat. A fejlesztés során használt minőségbiztosítási eszközök nem tudják garantálni az üzleti helyességet, különösen amikor az üzleti elvárások gyorsabban változnak, mint az alkalmazott technológia.
Bármely alkalmazás működtetése során számtalan - előre nem tervezhető és modellezhető - együtthatás/mellékhatás eredőjével kell számolni. Egy már működő alkalmazáson történő változtatáskor nem csak az érintett elemek funkcionalitását szükséges vizsgálni, hanem a „nem mozduló” részeket is fontos újra tesztelni.
Nehézségek és kompromisszumok
-
Minél összetettebb folyamatokat kezel egy szoftver megoldás, annál nagyobb a teljes állapottérre vetített hibalehetőség valószínűsége. Egy-egy tesztmódszer csak szűk értékelésre ad lehetőséget (pl. performancia, integrációs, user acceptance).
-
A hagyományos tesztelés drága és sok erőforrást emészt fel. A projektek általában csúsznak és a végső, legfontosabb tesztelés csökkentésén igyekeznek behozni a lemaradást. Az elégtelen tesztelés a legkritikusabb „Go Live” döntés előtt kényszerít kockázatvállalásra. Később az “éles” rendszerben jelentkező hiba azonban sokszorosan drágább és nehezebben javítható lesz, mint a korábban detektált.
-
A minőség és az üzlethelyes működés elválaszthatatlan fogalmak, amelyeket csak teszteléssel lehet biztosítani Az üzleti elvárások azonban a szükségesnél rövidebbre szabják a fejlesztési ciklus időigényét. Ezzel párosul, hogy a rendszertervezési fázisban nem kellő mélységben határozzák meg az elvégzendő teszteket, illetve az átadás-átvétel pontos feltételeit, amelyek lehetővé tennék az üzleti szempontok egzakt bizonyítását, a megfelelőség mérhetőségét.
-
A nem megfelelő mélységű és minőségű tesztelések, a regressziós tesztek és a hibaágak tesztelésének elhagyása rengeteg rejtett hibát eredményez a produkciós környezetekben.
-
A tesztelők is emberek és hibáznak. A tesztelői hibák gyakran elfedik a rendszer hibáit.
A tesztelés fokozott szerepe harmóniában az üzleti hatékonysággal
-
Magasabb minőségű tesztelés
Méri a működés és az üzleti helyesség megfelelőségét.
Nem változtatja meg és nem befolyásolja az alkalmazást.
Megismételhető, bizonyítható eredményű, determinisztikus.
-
Minél kiterjedtebb, minél nagyobb számú teszteset futtatása
Teszteli az elvárt hibaágakat is.
A regressziós teszteket automatikusan újrafuttatja.
A tesztfeladatok elkészítése nem igényel informatikai képzettséget
-
Csökkentett idő és költség ráfordítás
Amit felkészített tesztelők elvégezhetnek, automatikusan is végrehajtható.
A teszteléseket követő teljes dokumentáció automatikusan rendelkezésre áll.
Tesztesetek generálása is automatizálható, öntanuló folyamatként.
INFRASTRUKTÚRA ÉS MÓDSZERTAN
ACE infrastruktúra
Az ACE nagy informatikai rendszerek fejlesztésében és tesztelésében szerzett konkrét tapasztalatokra és a legkorszerűbb nemzetközi tesztelési eljárások elveinek felhasználására alapul. Kulcsa egy kiterjedt tesztautomatizmus és a köré épített integrációs fejlesztés, amely saját termékelemeket tartalmaz. Az ACE túlmutat a már fellelhető kereskedelmi termékeken, de – adott esetben – ezekkel kombinálva is használható.
A megoldás magját képező legfontosabb elemeket az alábbi ábra szemlélteti:

Automatikusan létrehozott tesztesetek
Az ACE fontos eleme a teszteseteket definiáló formalizmus, amely kapcsolódik az üzleti logika specifikációjához, és elősegíti a megvalósítandó funkciók és azok jellemző paramétereinek pontosabb definícióját. Hatása olyan, mint ha sok tesztelő ülne az alkalmazás előtt, és a tesztesetek illetve a paraméterek teljes permutációját végrehajtanák rajta.
A tesztesetek számossága – a hibaágak lefedése esetén – hatalmasra nő, egy ablakban 9 kitöltendő mező alapján például több mint 73 millió variáció lehetséges. Ennyi tesztet nem lehet a gyakorlatban végrehajtani.
A közelmúltban publikált tanulmányok szerint a legtöbb típusú alkalmazás esetében a legalább 4 feltétel együttes előfordulásakor (4-ed rendű kombináció) bekövetkező helytelen viselkedések detektálásával az összes hiba közel 100%-át felderítettnek lehet tekinteni. Ezt kihasználva, megfelelően előállított tesztkombinációkkal a fenti 73 millió esetet az ACE adott algoritmus alapján képes 488 tesztesetre csökkenteni, amely már kezelhető mennyiség.
Módszertan
Az ACE alkalmas Black Box tesztelésre, amikor a tesztesetek készítésekor a specifikáció és a tesztelendő alkalmazás felépítése nem ismert. Az automatizmus támogatja a szabály vagy minta alapú teszteset-előkészítést. A regressziós tesztek mindkét esetben akárhány alkalommal végrehajthatók, a tesztesetek permutációját az automatizmus valósítja meg.
Minta alapú Black Box tesztelés esetén az ACE egy rácsot használ, mely lefedi a tesztelendő alkalmazás kitöltendő mezőit. A mintákat a rácson keresztül szemlélt mezőkben rögzíti, a teszteseteket pedig automatikusan generálja.
Az ACE képes White Box tesztelésre is, amikor a szoftver specifikáció, a felépítés és az üzleti elvárások ismertek. Ez esetben az ismételhető regressziós teszteken és az automatikusan generálható teszteseteken kívül a tesztelési feladatok beépíthetőek a fejlesztési módszertanba. Így a tesztfeladatok előírása és azok maradéktalan teljesítése határozza meg az átvétel feltételrendszerét. Az ACE minőségbiztosítási rendszerként működik: az üzleti funkciók és az elfogadási feltételek pontosan meghatározottak, a megrendelő és szállító közötti kommunikáció javul. Az üzleti helyesség mérhetővé válik.
Az ACE tesztelés erőforrás igénye
A tervezés és tesztesetek definiálása több energiát és időt emészt fel az ACE módszertan alkalmazásakor mint hagyományos esetben. A teszteseteket le kell kódolni az automatikus futtatáshoz. Ezután azonban a tesztek akárhányszor és akármikor futtathatók rendkívül kis költséggel. A teszteket nem befolyásolja az emberi hibák faktora és az emberi erőforrást magasabb minőségű feladatok végzésére lehet fordítani.
Hagyományos tesztelés

ACE Automatizált tesztelés

ACE Case study
A HBO nevű alkalmazásunk 400 - 500 emberhónap fejlesztés után készült el. Jellemző paraméterei: 2.5 TB adatbázis, 4.5 millió sor programkód (a nemzetközi statisztikák szerint minden 1000 sorban van egy hiba), 700+ üzleti funkció, napi 250.000 on-line tranzakció.
2000 tesztesetet készítettük el 100 üzleti funkcióra WHITE BOX módszerrel. Ez két emberhónap ráfordítást igényelt az automatikus teszt generátor nélkül.
A leghatékonyabb tesztelési automatizmus fél óra alatt 1 emberhétnyi tesztelési munkát végez el. A tesztelés tetszés szerinti időpontban és számosságban ismételhető. A tesztdefiníció üzleti alapú, folyamat megközelítésű. A valós eredmények, értékelhető riportok megalapozott döntés-támogatást biztosítanak.
ÜZLETI ELŐNYÖK
Előnyök az üzleti menedzsment számára
Pontosan definiált üzleti elvárások gyorsabban és precízebben teljesülnek.
Az üzleti megfelelés mérhetővé válik.
A fejlesztői és CR ciklusok időigénye lerövidül, az idő szorításából adódó kockázat csökken.
Hatékonyabb, gyorsabb tesztelési folyamat kevesebb erőforrás bevonásával és kevesebb költség mellett.
Garancia a fejlesztések, módosítások minőségére és üzleti helyességére.
Az alkalmazás öntanuló képessége időt takarít meg az üzleti tesztesetek készítése és újradefiniálása során.
Előnyök az IT üzemeltetés számára
Az átfogó és alapos tesztelés növeli az üzembiztonságot, az üzemvitel során előforduló hibák számát csökkenti, a hibakezelést egyszerűsíti.
A pontosan definiált elfogadási feltételek és üzleti helyesség követelmények lerövidítik a beüzemelési időt.
A teszteredmények automatikusan rögzítésre kerülnek, adott események előfordulásához riasztások vagy cselekvési tervek rendelhetők.
Az elkészített regressziós tesztek bármikor újrafuttathatók, a későbbi CR-ekbe beépíthetők.
Természetes és jól definiált felelősségi körök az alkalmazás fejlesztése és üzemeltetése kapcsán
Előnyök a fejlesztő számára
A megfelelőség követelmény-rendszerének pontosabb definiálása gyorsabbá és hatékonyabbá teszi a fejlesztési és az átvételi fázist és egyszerűbbé a kapcsolódó fizetési ciklust elkerülve a vitákat és késedelmeket.
Több, átfogóbb tesztelés jobb minőséget és ügyfél-elégedettséget eredményez.
A tesztelésre használt erőforrások és idő csökkenése árelőnyt és/vagy profit növekedést jelent.