ALKALMAZÁS ÉLETCIKLUS MENEDZSMENT - a fejlesztéseket támogató megoldások szakértôje
Vezetôi összefoglaló Az alkalmazások egyre gyorsabb ütemben fejlôdnek. Ezek az alkalmazások nem egymástól elszigetelt egységek, összetett és összekapcsolt szolgáltatásokra épülnek, amely eltérô technológiákat, fejlesztôket, telepítési topológiákat és szervezeteket foglal magában. Az alkalmazás fejlesztési projektben résztvevôkkel szemben alapvetô elvárás a kiváló minôségû alkalmazások biztosítása, korlátozott költségek mellett. Ebben a kihívásokkal teli környezetben az alkalmazás életciklus menedzsment technológia lehetôvé teszi a fejlesztési projekt csapatok számára, hogy jobb minôségû termékeket biztosítsanak és lépést tartsanak a változásokkal. Az IBM Rational hagyományosan fejlesztéseket támogató alkalmazásai közül három kiemelt termékcsalád került az élvonalba: kollaboratív életciklus kezelés, a szoftver- és rendszerfejlesztést támogató eszköztök, és az automatizált tesztelést, tesztvirtuálizációt támogató eszközök. Ez az összefoglaló ennek a három kiemelt termékcsaládnak az ismertetését tartalmazza.
IBM Rational kollaboratív alkalmazás életciklus menedzsment (CLM) megoldások Az alkalmazás életciklus menedzsment egy alkalmazás életciklusát teljes körûen átölelô folyamat, a tervezésen, irányításon és fejlesztésen felül a szoftver karbantartását is beleértve. Az üzleti elemzôk és szoftver mérnökök munkáját integrálja olyan eszközök segítségével, amelyek megvalósítják a követelmény-, architektúra-, kódolás-, tesztelés-, és Release Managementet.
2
Egy jó életciklus menedzsment eszköz képes összekötni a fejlesztés folyamán felmerülô feladatokat és a fejlesztésben résztvevôket. A Rational Team Concert integrált iterációs tervezômodullal, forráskód kezeléssel, feladat- hibajegy-kezeléssel, folyamatos build támogatással, dashboard-okkal, jelentéskészítô funkciókkal és konfigurálható folyamattámogatással rendelkezik. Lehetôvé teszi, hogy a fejlesztôk, architektek, projekt menedzserek és a projekt szponzorok hatékonyan dolgozzanak egymással, valamint lehetôvé teszi, hogy bármikor meg tudjuk mondani, hogy adott feladat milyen forráskód módosításokat eredményezett, azok melyik build-be kerültek bele és fordítva. Egyedülálló módon egységesen támogatja a Java, .Net, midrange és mainframe fejlesztéseket. Gyakorlatilag bármilyen módszertan alapján képes mûködni (agilis, tradícionális, hibrid).
Különbözô felmérések szerint a sikertelen projektek több mint 40%-áért a nem megfelelô követelménykezelés a felelôs. Ezen túlmenôen elég nehéz egy több száz oldalas leírásból kikeresni az adott feladathoz tartozó követelményt és összefüggéseit. Az emailekben és fájlrendszerben tárolt követelmények további hibákra és kérdésekre adnak lehetôséget:
Biztos, hogy a legfrissebb követelménybôl dolgozom? Módosult a követelmény? Ki módosította, mit/mire és miért? Mit érinthet még a módosítás? Stb.
3
A Rational Requirements Composer egy követelménykezelô és definiáló eszköz. Lehetôség van szöveges rögzítésre, UML use-case diagrammok létrehozására, üzleti folyamatok rögzítésére, GUI skiccek, storyboard-ok létrehozására. Mindezek összeszedetten, strukturáltan, központosítva tárolhatók és jól kereshetôek. Lehetôséget biztosítva, hogy az érintett felek egyértelmû képet kapjanak a megvalósítandó termékrôl. Szerep alapú hozzáférést biztosít. Mindig látszik, hogy ki/mit/mikor/mirôl-mire módosított. Garantáltan a legutolsó jóváhagyott követelmény látszik a résztvevôk számára. Egyes elemek más termékekben tovább finomíthatóak (pl.: Use-case). Szoros integráció más eszközökkel, például a Rational Team Concert-tel és a Rational Quality Manager-rel. A Rational Quality Manager tesztmenedzselô eszköz lehetôséget biztosít teszttervek, tesztesetek és tesztkészletek létrehozására. Képes automatikus teszteszközök távoli vezérlésére. Támogatja a manuális tesztelést forgatókönyvek létrehozásával, futtatásával és ellenôrzésével. Opcionálisan képes a tesztkörnyezetek/eszközök menedzselésére is. Beépített feladatkezelése is van, de integrálódik a Rational Team Concerttel, hogy ne szigetként, hanem a fejlesztés részeként mûködjön a tesztelés. Tartalmaz egy alapszintû beépített követelménykezelést is, de integrálódik a Rational Requirements Composer-rel, biztosítva a magas szintû funkcionalitást. Rendelkezésre állnak valósidejû, testre szabható faliújságok és jelentések, melyek valósidejû betekintést tesznek lehetôvé a tesztek állapotába. A növekvô komplexitású rendszerek és szoftverek megértését segítô architektúrák, modellek, és tervek által az egyes szekemberek is megértik és megismerik a rendszert/szoftvert. Valamint ezek segítségével a felesleges utómunkákból fakadó költségek csökkenthetôk. A Rational Software Architect és a Rational Rhapsody Design Manager egy kollaboratív webes eszköz, amely lehetôvé teszi, hogy a döntéshozók széles köre bevonásra kerüljön a termék-, rendszer-, vagy szoftver tervezésébe. A további életciklus elemekkel – követelmények, változási kérelmek, teszt elemek – összekapcsolhatók a szoftver-, és rendszer terv elemek. Beépített dokumentumkészítô funkciójával tervezési dokumentumok, specifikációk és riportok készíthetôk.
4
A fent említett négy terméket – Rational Team Concert, Rational Requirements Composer, Rational Quality Manager, Rational Software Architect - Design Manager – együttesen Collaborative Application Lifecycle Management-nek (kollaboratív alkalmazás életciklus menedzsmentnek) nevezzük. Mindegyik termék a Jazz platformra épül, ezáltal a teljes körû integráció és átjárhatóság biztosított. Minden termék használatával elérhetô, hogy könnyedén össze lehessen kapcsolni a követelményeket az ôket implementáló és validáló feladatokkal és fordítva, meg tudjuk vizsgálni, hogy adott feladathoz milyen követelmény tartozik, mit kell implementálni, illetve validálni.
5
IBM Rational megoldások rendszer-, és szoftvertervezéshez Innováció a rendszerfejlesztési életciklusban A technológia folyamatosan formálja világunkat, és eközben megfigyelhetô a fô tendenciák kialakulása. A különféle ágazatokban azok a vállalatok foglalják el a vezetô pozíciókat, amelyek képesek folyamatosan innovatív megoldásokkal megjelenni a piacon. Ez az innováció gyakran számos összekapcsolt rendszer, termék és szolgáltatás integrációjából fakad, ami új lehetôségeket nyit meg, ezáltal valódi értéket kínál az ügyfelek számára. Például a mai gépjármûvek többsége esetében az üzemanyag-hatékonyság növelése közvetlenül kapcsolódik az elektronikusan szabályozott motorok, fékek, akkumulátorok és egyéb elemek integrálásának innovatív új módszereihez, amelyek maximalizálják a hatékonyságot és kiküszöbölik a veszteséget. Ezen összekapcsolt rendszereknek összehangoltan kell mûködniük a biztonsági rendszerekkel, a diagnosztikai eszközökkel és a felhasználókkal is, hogy átfogó megoldásként teljesítsék az ügyfelek és az iparág követelményeit. Ezeket az innovációkat fôként az segíti elô, hogy a hardverekkel és az elektronikus rendszerekkel integrálható beágyazott szoftverek mennyisége folyamatosan nô. A szoftvereknek nem csak a beágyazott megoldásra jellemzô, méret- és teljesítménykövetelményeknek kell megfelelnie, hanem gyakran a legszigorúbb szabályozásoknak és biztonsági szabványoknak megfelelô fejlesztési folyamaton kell átesniük. Gyakran a beágyazott szoftverek képezik a rendszerösszetevôkhöz szükséges funkciók alapját, láthatatlan szálakat képezve, amelyek a teljes rendszert átszövik. Ha csak egyetlen rendszerkövetelmény is megváltozik, az a szoftver funkcióiban és rendszerbeli mûködésében is megmutatkozik. A modern rendszerek összetettségének növekedésével párhuzamosan a kihívások is nônek az összekapcsolt fejlesztési életciklusok kezelése, a tesztsorozatok és a bevezetés, valamint a már mûködô rendszerek figyelése és kezelése terén. Fôbb elônyök Nagyobb mértékû együttmûködés, koordináció és automatizálás a teljes életciklus során A projektek az ügyfelek követelményeihez igazíthatók A kockázatok a modellalapú rendszerfejlesztésnek köszönhetôen már a korai fázisokban csökkenthetôk Követelményközpontú minôségirányítási rendszer a kockázatkezeléshez Megfelel a kihívásoknak a teljes életciklus során Az IBM Rational rendszer- és szoftvertervezési megoldása együttmûködésre alkalmas, integrált rendszertervezési és beágyazott szoftverfejlesztési képességeket biztosít, amelyek segítenek a szervezeteknek rendszerek, technológiát támogató termékek és szolgáltatások felépítésben. A megoldás világszínvonalú gyakorlatokat és eszközöket nyújt, amelyek egyesítik a mûszaki, elektronikai és informatikai területeket. Együttmûködési képességekkel és automatizálással javítja a projektkezelési, követelménytervezési, architektúra-kialakítási és minôségirányítási folyamatokat. A megoldás nyújtotta eszközök képesek a követelmények, a modell mûtermékek és egyéb fejlesztési összetevôk megosztására, továbbá átfogó életcikluskezelési funkciókat biztosítanak, amelyek a vállalat igényeire szabhatók.
6
Irányítja a rendszerszolgáltatási munkafolyamatokat és a feladatkezelési képességeket, így azok hatékonyan vezérlik a modern rendszerszolgáltatási projekteket. A megoldás a következô lehetôségeket kínálja Önnek: • Nagyobb mértékû együttmûködés, koordináció és automatizálás a teljes életciklus során Egyesítheti a rendszerfejlesztési életciklusban részt vevô, a különbözô földrajzi helyeken található csapatokat a könnyen hozzáférhetô, web alapú együttmûködési támogatás révén. A projektek és munkatermékek biztosítását nagymértékben átlátható integrált tervezéssel, életciklus-nyomkövetéssel, vállalati szintû változáskezeléssel, automatizált munkafolyamat-irányítással, valamint a mûszerfalakon automatikusan rögzített valós idejû állapotjelentésekkel és mutatókkal koordinálhatja. Olyan eszközökkel növelheti a csapat termelékenységét és a folyamatok nyomkövethetôségét, amelyek támogatják az egyéni részvételt, a csapatok közötti „azonos környezetben zajló” együttmûködést, valamint a projektinformációk keresését és lekérdezését. • A projektek az ügyfelek követelményeihez igazíthatók Hatékony követelménytervezési folyamatokat vezethet be, amelyek az ügyfél igényeit a fejlesztési tevékenységek középpontjába helyezik. Hatékony hatás- és változáselemzéseket végezhet a különbözô területekre és alrendszerekre vonatkozóan. Elôsegítheti a követelmények átláthatóságát és az azokkal kapcsolatos együttmûködést a teljes fejlesztési szervezeten belül. • A kockázatok a modellalapú rendszerfejlesztésnek köszönhetôen már a korai fázisokban csökkenthetôk A követelmények, modellek és tervek kombinálásával a rendszertervezés és szoftverfejlesztés egy iteratív megközelítését hozhatja létre, amely lehetôvé teszi a folyamatos ellenôrzést és jóváhagyást. Ahelyett, hogy a tervezési csapat néhány kiemelt tagjának szervezeti képességire hagyatkozna, a tervek központilag elérhetôvé válnak a teljes csapat számára. A modellek képezik a teljes terv alapját. Ez azt jelenti, hogy a rendszerspecifikációk a követelmények alapján jönnek létre, és a felületi követelményeket és forráskódokat közvetlenül a modellbôl lehet elôállítani. Emellett a teszttervek a modellekbôl származtathatók, a dokumentációk pedig automatikusan a modellekbôl készíthetôk. • Követelményközpontú minôségirányítási rendszer a kockázatkezeléshez Létrehozhat egy együttmûködésre alkalmas, testre szabható minôségirányítási központot, amely egyesíti a csapatokat és kikényszeríthetô munkafolyamatokat biztosít. A megoldások az intelligens projektfejlesztési folyamatok során segítséget nyújtanak a kockázatkezelésben azáltal, hogy az ellenôrzési tevékenységeket közvetlenül a követelményekhez kapcsolják. Ilyen tevékenységek többek között a tesztkezelés, az állapot- és eredmény-nyomkövetés, az ellenôrzési tevékenységek prioritásának meghatározása a kockázatoknak megfelelôen, valamint a problémamegoldás kezelése.
7
A megoldás központi termékei • IBM Rational Team Concert™ Egy együttmûködésre alkalmas fejlesztési környezet, amely rendszer életciklus-tervezést, projektállapot-áttekintést, integrált jelentéskészítést, testre szabható folyamattámogatást, munkaelem-kezelést, változáskezelést, forráskód-kezelést és összeállítás-kezelést biztosít. Az IBM Rational Team Concert az eltérô földrajzi helyeken található fejlesztési csapatokat kapcsolja össze az egyéni és csapattermelékenység növelése, a fejlesztési ciklusok tömörítése, valamint a kiemelkedô minôségû termékek és rendszerek gyors biztosítása érdekében. • IBM Rational DOORS® A világ vezetô követelménykezelési rendszere, amely bevált képességeket biztosít a minôség és a hatékonyság növeléséhez a követelmények kommunikációja és az együttmûködés optimalizálása révén. Az IBM Rational DOORS egy kiválóan méretezhetô megoldás a projekthatókör és költség kezeléséhez, amely segít üzleti céljai elérésében, az ügyfelek igényeinek kielégítésében, valamint a vonatkozó szabályozásoknak és szabványoknak való megfelelésben – mindezt a teljes szervezetben és a beszállítói láncban is. • IBM Rational Rhapsody® Vizuális elemzési és fejlesztési megoldás rendszertervezéshez és beágyazott szoftverfejlesztéshez egyaránt. Segít összetett tervek grafikus megjelenítésében és szimulációjában a termelékenység növelése, valamint a költségek és kockázatok csökkentése érdekében. Az IBM Rational Rhapsody lehetôvé teszi az iparági szabványnak számító modellközpontú fejlesztést (MDD), és teljesen beágyazott, valós idejû és mûszaki alkalmazásfejlesztési környezeteket nyújt a C, C++, Ada, és Java™ nyelvekhez, amely alapja a kétirányú kompatibilitást biztosító szoftvertervezés. • IBM Rational Quality Manager Erôteljes megoldás, amely tesztelési csapatokat biztosít a teljes minôségi életciklus nyomkövetéséhez és kezeléséhez. Az IBM Rational Quality Manager egy web alapú tesztkezelési környezet minôségügyi szakemberek számára, akik együttmûködésre alkalmas és testre szabható megoldást keresnek teszttervezéshez, munkafolyamat-vezérléshez, nyomkövetéshez, valamint mutatókat tartalmazó jelentések készítéséhez. Kialakításának köszönhetôen segítséget nyújt a csapatok egyesítésében a tesztinformációk zökkenômentes megosztása, a projektütemezések felgyorsítása és a megalapozott döntéshozatal révén. Napjaink felgyorsult tempójú, versenytársaktól hemzsegô piacán a vállalatoknak hatékony és hatásos módszerekkel kell biztosítaniuk a kommunikációt és az együttmûködést az üzleti és tervezési területeken. Az IBM Rational rendszer- és szoftvertervezési megoldása egy együttmûködési platform, amely a rendszer- és szoftverfejlesztés számos gyakorlatát és eszközét egyesíti magában, továbbá segítséget nyújt azon életciklusmunkatermékek elkészítésében és kezelésében, amelyek napjaink intelligens rendszereinek, termékeinek és szolgáltatásainak biztosításához szükségesek.
8
IBM Rational automatizált tesztelési megoldások A minôségbiztosítási szakemberek számára az egyik legegyszerûbb hatékonysági mutató az észlelt hibák és a felderítetlenül maradt hibák számának aránya. Ugyanakkor a sikert vagy a kudarcot nem egyszerûen a termelési fázisig megmaradó hibák száma határozza meg. A hibák kategorizálása az alapján, hogy melyik fázisban kellett volna azokat megtalálni, hatékonyan rávilágíthat a tesztelés hatékonyságának mértékére. Ha például egy mûködési hibára a rendszer teljes körû tesztelése során derül fény, akkor a helyreállítási költségek jelentôsen meghaladhatják a hiba azonnali, egy korábbi fejlesztési fázisban való megjelenésekor történô kijavításának költségét. A magasabb költségeket kiváltó tényezôk többek között a regressziós tesztelés és a felhasznált tesztelési erôforrások mennyiségének növekedése, több valósághû környezet használata és a nagyobb koordinációs követelmény lehetnek.
Hibajavítás költsége
Keletkezés ideje
Megtalálás ideje Követelmények
Architektúra
1x
3x
5x
10x
100x
Architektúra
-
1x
10x
15x
100x
Készítés
-
-
1x
10x
25x
Követelmények
Készítés Rendszerteszt
Kiadás után
A SOA-projektek valóban jelentôs kihívások elé állítja a tesztelési szakembereket. Az összetett üzleti folyamatok a szolgáltatások együttmûködését igénylik. Ez a szükségszerû együttmûködés nagyszámú permutációhoz vezethet az adatok és a szükséges. tesztesetek tekintetében is. A tesztelôknek nem csak üzenetek, üzenetadatok és szolgáltatások közötti interakciók kombinációját kell tesztelniük, hanem végül azt is bizonyítaniuk kell, hogy a megoldás támogatja az üzleti követelményeiket. A SOA-tesztelés mostanáig egyetlen megszokott tesztelési tervet követett: követelménykezelés, funkcionális tesztelés, integrációs tesztelés, teljes körû (E2E) rendszertesztelés, felhasználói elfogadási teszt (UAT), teljesítménytesztelés és mûködési elfogadási teszt (OAT). Ez a terv rendkívül nagy hangsúlyt fektet a funkcionális és integrációs tesztelésre a különbözô alkalmazásokban, rendszerekben és a vállalatban megtalálható szolgáltatások kompatibilitásának, együttmûködési képességének, mûködésének és megfelelô teljesítményének biztosítása érdekében. A SOA és az integrációs tesztelés tesztautomatizálása ma már nem lehetôség, hanem alapvetô követelmény. A tesztelési eszközök azonban önmagukban nem elegendôk. Megelôzô jellegû tesztelési megközelítésre van szükség: olyan stratégiai megközelítésekre, amelyek mérsékelik a rendszermódosítások kockázatát, és jól szervezett, felügyelt módon képesek a minôség bizonyítására. Az IBM Rational tesztautomatizálási megoldások és a megelôzô jellegû integrációs tesztelési módszer együttes alkalmazása segíthet a hibák azonnali észlelésében, a korai és folyamatos tesztelések végrehajtásában, valamint a tesztelésre fordított erôfeszítések megtérülésének optimalizálásában.
9
A megelôzô jellegû tesztelési megközelítéshez megfelelô integrációs szerkezet szükséges: ez a fokozatos integráció. Ehhez a megközelítéshez azonban speciális eszközök is szükségesek. Az IBM Rational Test Workbench, az IBM Rational Performance Test Server és az IBM Rational Test Virtualization Server olyan hatékony eszközök, amelyek kifejezetten arra készültek, hogy segítséget nyújtsanak a megelôzô jellegû tesztelési módszerek megvalósításában. Fokozatos integráció Ha a részletes követelmények teljes mértékig átláthatók, a projektvezetôk és a tesztmenedzserek könnyebben mûködhetnek együtt és hatékony, felügyelt kiadási ütemtervet készíthetnek. A funkciók és összetevôk fokozatos és felügyelt bevonása a tesztelési környezetekbe jelentôsen felgyorsítja a hibák elkülönítését. A projekt fokozatos integrációs tervének létrehozása után a tesztelési szakembereknek a következô technikák használatát kell fontolóra venniük a hatékonyabb megelôzô jellegû tesztelési eljárás megvalósítása érdekében. Teszt virtualizálás alkalmazása A teszt virtualizálás során a valós összetevôt egy virtuális összetevô vagy más néven „csonk” helyettesíti. Ezek a virtuális összetevôk a rendszer valós mûködésének modellezésére és szimulálására használhatók. A virtuális környezet segít az alkalmazástesztelési függôségek megszüntetésében, illetve a hagyományos tesztelési környezetek beállítási és infrastrukturális költségeinek csökkentésében. A megelôzô jellegû tesztelési tervekben a teszt virtualizálás alkalmazásával virtuális összetevôket lehet elérhetôvé tenni a kulcsfontosságú szolgáltatás-összetevôk helyett, így sokkal egyszerûbb a különbözô helyzetek szimulálása és tesztelése. Egyes iparági szakemberek a „szolgáltatás virtualizáció” néven hivatkoznak a hiányzó függôségek emulálási folyamatára. Ezek az emulációk azonban nem kizárólag szolgáltatásalapú megközelítést használhatnak, ezért a „teszt virtualizáció” megnevezés pontosabb. A teszt virtualizálás az integrációs tesztelések során használható, rendkívül hatékony eszköz. A tesz virtualizálás segítségével virtualizált integrációs környezetet hozhat létre a funkcionális vagy teljesítményteszteléshez, ami jelentôs elônyöket biztosít az állásidô csökkentése, a költséghatékonyság biztosítása, a korai hibaészlelés és a követelmények egyértelmûsítése révén a hardverek és szoftverek fejlesztése és integrációs tesztelése elôtt. A teszt virtualizálási képességek stratégiai alkalmazás esetén a leghatékonyabbak. Az ütemezési problémák például rendkívül rossz hatással lehetnek az integrációs tesztelésre. A gondosan megtervezett,kiadási ütemtervekben pedig rengeteg a függôség és a feltételezés. A szolgáltatás virtualizálást alkalmazó megelôzô jellegû tesztelési stratégia segít a függôségek lehetô legnagyobb mértékû eltávolításában.
10
Az IBM Rational Test Virtualization Server a szükséges szolgáltatások termelési szintû szimulációját biztosítja. A fejlesztôk és a tesztelôk egyszerû csonkokat építhetnek, amelyek meghatározott vagy beviteleken alapuló különbözô válaszokat adnak vissza, illetve összetett, állapot-nyilvántartó mûködésû csonkokat is létrehozhatnak.
Adattáblákat is használhat paraméteres csonkmûködés megadásához, amelyek egy újabb táblázatsor hozzáadásával egyszerûen bôvíthetôk. A szükséges szolgáltatások teljesítmény szimulációjához ugyanígy a fejlesztôk és a tesztelôk terheléseket hozhatnak létre az alkalmazás- és integrációs szinten az IBM Rational Performance Test Server segítségével. Ennek a funkciónak az a célja, hogy átfogó képet biztosítson az összes alkalmazásösszetevô teljesítményérôl és méretezhetôségérôl. A virtualizált szolgáltatások gyakorlatilag bármilyen tesztelési célt és tesztvégrehajtási technológiát támogatnak. Amikor az IBM Rational Test Workbench integrációs képességei elindítanak egy tesztet, a program automatikusan elindíthatja a szükséges virtuális szolgáltatásokat, ezzel elôsegítve, hogy a feloldatlan rendszerfüggôségek számára elôre meghatározott mûködést biztosítson. A felhasználó határozza meg, hogy melyik csonkot használja a rendszer, így számos különbözô szituáció modellezhetô a tesztelési forgatókönyvtôl függôen. Folyamatos rendszerszintû tesztelés és eszközmegosztás használata A Rational Test Workbench használatának egyik nagy elônye, hogy segítségével gyorsan és egyszerûen hajthat végre teszteket. Az egyszerûség azt jelenti, hogy teljes regressziós ciklusokat futtathat az új vagy virtuális összetevôk bevezetésekor. Ez azonnali visszacsatolást biztosít a fejlesztô csapat számára, akik ugyanazokat a parancsfájlokat futtathatják, replikálhatják és megoldhatják a problémákat, mindezt minimális erôfeszítéssel. Ez a helyreállítás helyett az innovációra helyezi a hangsúlyt. Az eszközök arra ösztönzik a fejlesztôket és a tesztelési csapatokat, hogy az integrációs tesztek és virtuális szolgáltatások megosztásával együttmûködjenek a teljes szoftverfejlesztési életciklus (SDLC) során. A hatékony adatkezelés megtervezése A szükséges tesztelési lefedettség támogatásához és a szállított megoldás iránti bizalom kialakításához reprezentatív és megfelelô adatok szükségesek. Az adatokkal kapcsolatos szempontokat már a követelmény összeállítási fázisban figyelembe kell venni, és be kell építeni a tesztelések létrehozásába és végrehajtásába egyaránt. Az idô- és pénzbeli korlátok miatt általában ekvivalencia particionálásra és határértékanalízisre van szükség a projekthez elengedhetetlenül szükséges adatok azonosítása érdekében. A tesztadatok kezelése rendkívül fontos tevékenység, ezért elvégzését gyakran külön szakemberre bízzák. A teszt parancsfájloknak adatközpontúnak kell lenniük, a Rational Test Workbench pedig különbözô fájlforrásokat képes bemenetként kezelni az adatok a különbözô felületekre való átviteléhez. Mivel a tesztelés folyamatos, érdemes fontolóra venni a tisztító parancsfájlok használatát; ezek a parancsfájlok képesek alapállapotba visszaállítani a rendszereket, és biztosítják azt is, hogy az adatok szükség esetén újrafelhasználhatók legyenek. A virtuális szolgáltatások szintén adatközpontúak lehetnek a tesztkörnyezet követelményeitôl függôen. Gyakori követelmény a teszteléshez használt adatkészlet és a virtuális szolgáltatásokat támogató adatkészlet közötti konzisztencia. Adattervek készítésekor ne feledje, hogy a virtualizált szolgáltatások megkönnyíthetik a megfelelô adatok összegyûjtését.
11
Az IBM Optim™ Test Data Management megoldás például automatikusan kinyeri a termelési környezetbôl a megfelelô adathalmazokat, szükség szerint titkosítja és magánjellegûvé teszi, illetve átalakítja azokat különbözô tesztelési célokra. Az egyik legfontosabb cél gyakran a megfelelô adatbázisok feltöltése a tesztelési környezetekben. Azonban az automatikus parancsfájlok és a virtuális szolgáltatások a termelési adatok alternatív mintáit használhatják fel, fenntartva a teszteléseket alátámasztó adatok és a szimulált szolgáltatások által adott válaszok közötti konzisztenciát. A virtualizált szolgáltatásokkal számos esetben az adatkezelés egyszerûbb, a tesztelések újbóli futtatása pedig költséghatékonyabb lehet. A teljes körû tesztelés költségeinek csökkentése és a GUI elkülönítése A teljes körû tesztelés elsôdleges célja az E2E folyamatok különbözô GUI felületeken való futtatása. A Rational Test Workbench segítségével automatikus tesztelést valósíthat meg, amely a szolgáltatásszinten történik és kikerüli a GUI felületet. Tapasztalatunk szerint ez a tesztelési módszer gyorsabban hozható létre és hajtható végre, valamint hosszú távon sokkal erôteljesebb, mint a GUI alapú automatizált parancsfájlok használata. A tesztvégrehajtás megfelelô utemének fenntartása érdekében el kell különíteni a GUI összetevôket azokban a környezetekben, ahol virtualizált szolgáltatásokhoz csatlakoznak. A GUI összetevôk ezután idôszakosan bevezethetôk, ellenôrizhetôk és visszavonhatók a projekt életciklusa folyamán; a formális bevezetésüket csak az összes többi integrációs tesztelés elvégzése után kell elvégezni. A Rational Test Workbench ezen tesztek automatizálásában is segíthet. Az alkalmazás több elkülönített rétegében történô automatizálás, illetve a GUI tesztek sokkal kiszámíthatóbb végrehajtási környezete együttesen a kizárólag GUI alapú tesztelés hagyományos kihívásainak enyhítését eredményezi. Hogyan kerülhetô el a „Nagy bumm”? A hagyományos „Nagy bumm” tesztelési módszer esetében az összes integrációs pont az E2E tesztelés elvégzésekor találkozik. Ezen tesztelési módszer használata esetén egy adott küszöb túllépése után számos további teszteset futtatására nyílik lehetôség. Az esetek számának megemelkedése miatt hirtelen visszaesés következik be a teszten megfelelt esetek arányában. A megelôzô jellegû tesztelés legfontosabb alapszabálya: a Nagy bumm elkerülése. Ez azt jelenti, hogy a „Nagy bumm” jellegû tesztelés esetében a projekt kockázatainak nagy része a fejlesztési ciklus végére tolódik, amikor az összes összetevô elérhetôvé válik. Ezt a folyamatot meg kell fordítani az integrációs kockázat korai és folyamatos megszüntetésével. A megelôzô jellegû tesztelési megközelítés elôsegíti az alkalmazás szervezett és felügyelt fokozatos integrációját, és segít a tesztelési költségek szabályozásában. Összegzés A fokozatos integrációs teszteléssel csökkentheti a teljes körû tesztelési költségeket. A megelôzô jellegû terv alkalmazása elengedhetetlen: – A teszt virtualizálás stratégiai alkalmazásával eltávolíthatja a kritikus függôségeket és csökkentheti az állásidôt. – A rendszerszintû eszközmegosztással felgyorsíthatja a hibajavítási folyamatot. – A tesztadatok kezelése megelôzô jellegû megközelítést igényel. – Érdemes megfontolni a grafikus felhasználói felület tesztelésének különválasztását. Ez felgyorsíthatja a tesztelés végrehajtását? – A korai szakaszban való teszteléssel maximális hatékonyság érhetô el. – Rendkívül fontos a „Nagy bumm” elkerülése.