Adattárház tesztelés (I. rész)
Napjainkban a vállalatok egyre nagyobb mértékben igénylik az adattárház teszteket. A szaporodó cég felvásárlások, adattárház migrációk azzal együtt, hogy a döntéshozók egyre nagyobb jelentőséget tulajdonítanak az adatnak és az adatvezérelt döntéshozatalnak mind az adattárház tesztelés jelentőségét helyezi előtérbe. A vállalatok egyre nagyobb hangsúlyt fektetnek az ETL (extraction, transformation, load kinyerés, átalakítás, betöltés) folyamatokra, az üzleti intelligencia megoldásokra és az adattárházon alapuló alkalmazások tesztelésére.
A szervezeti döntéshozatal leginkább a vállalati adatok, rekordok mentén történik. Ezeknek az adatoknak kell a legjobb minőségűeknek lenni. Az összetett üzleti szabályok és transzformációs logikák az ETL-re alapulnak és nagymértékű, mélyreható tesztelést igényelnek.
Adattárház tesztelési folyamat tervezése
Az adatmodellezés átláthatósága és a világos forrás-cél adatkapcsolatok nagy segítséget nyújtanak a minőségbiztosítási szakembereknek az elemzésben és abban, hogy minél pontosabb tesztelési stratégiát alakítsanak ki. A projekt követelményelemzés időszakában a QA-nak azon kell dolgoznia, hogy megértse az adattárház technikai megvalósítását.
Az adattárházak különböző megvalósítási szakaszaiban forrás adatok kialakítása, adattárház tervezés, ETL fejlesztés, adatbetöltés, transzformációk, stb. a tesztcsapat aktív részvételét és hozzáértését feltételezi. A hagyományos teszteléssel ellentétben a tesztelési folyamat nem az adattárház kialakítás végén kezdődik. Röviden a teszt futtatás önmagában rengeteg szálból áll és az adattárház egész életciklusán keresztül kell, hogy tartson.
Az adattárház implementációknál a siker kulcsa az, hogy a tesztelői csapat képes legyen tervezni, fejleszteni és futtatni olyan teszteket, amelyek felderítik az esetleges vagy többrétű hibákat, az adat inkonzisztenciákat, adatminőséget, adatbiztonságot, az ETL folyamatok hiányosságait, a teljesítményproblémákat, az üzleti folyamatok pontosságát, valamint a használhatóságot a felhasználók szemszögéből.
Összességében a legfőbb fókusz a tesztelésben a teljes ETL folyamaton kell, hogy legyen. A tesztelésnek a betöltés minden soránál ellenőriznie kell a transzformációk helyességét és az adattisztítás sikerességét. A csapatnak az összes tárolt eljárást, szkripteket, és egyéb folyamatokat is tesztelnie kell, amennyiben összefüggésben vannak az adattárház létrehozásában – mint például az IBM® Netezza.
A tesztelés fontosságának a felismerése
Számos oka van az adattárház tesztelésének és a minőségbiztosítási folyamatok használatának:
- A forrásadatok gyakran hatalmas mennyiségűek és rengeteg helyről érkezhetnek.
- A forrásadatok minősége nem garantált, profilozottnak és tisztítottnak kell lenniük.
- Inkonzisztencia és redundancia is lehet a forrásadatokban.
- Lehetnek selejtes, vagy hibás forrásadatok, amelyeket az ETL vagy a tárolt eljárások a megfelelő hibaüzenettel logolnak.
- Olyan forrásadatok hiányoznak, amelyeknek minden esetben értékkel kellene rendelkezniük.
- Forrásadatok előzményei, üzleti szabályok, vagy a forrásadatok auditjai hiányoznak.
- Az ellenőrzéshez nem állnak rendelkezésre vállalatszintű adatok és üzleti szabályok.
- Mivel az ETL folyamatok általában több fázison keresztül futnak, mielőtt az adat az adattárházba betöltődik, ezért minden folyamatot ellenőrizni kell, meg kell győződni arról, hogy az adatok az összes fázisban megfelelően viselkednek, ahogy azt elvárjuk tőlük.
- Heterogén forrásadatok, mint mainframe-k, táblázatok, UNIX fájlok, különböző időpillanatokban lesznek betöltve, ezzel növelve a betöltés mennyiségét.
- A tranzakció-szintű nyomon követhetőséget nehéz elérni az adattárházban.
- Az adattárház kulcsfontosságú vállalati eszközzé fog válni, a vállalat nagyrészt az adattárházra fogja az üzleti döntéseit alapozni.
Tesztelési lépések tervezése
Az adattárház implementálás tesztelése a teljes folyamat tesztelését jelenti. A tesztelői csapatnak a betöltések kulcspontjain kell tesztelni, a forrásadatok azonosításától a riportokig és portálfunkciókig. Természetesen a csapatnak ezeken kívül számos más ponton is kell tesztelniük, például az adatbetöltő munkafolyamatokon a forrásadatoktól az éles adatokig, a dimenziós adatoktól a tény adatokig, a riportoktól a portál funkcióig. Minden adatbetöltő programot ellenőrizni kell a betöltéstől a betöltés eredményéig. Mindez ez elejétől a végéig a QA folyamat része kell, hogy legyen.
A QA csapat tervezése
Az adattárház elsődlegesen adatokat kezel, ezért a tesztelés középpontjában a tervezési, fejlesztési és adat kinyerési teszteknek kell lenniük. A tesztek tervezéséhez és fejlesztéséhez a tesztelői csapat legtöbbjének értenie kell az SQL lekérdezésekhez és a performancia teszteléshez. Konkrétan a QA csapatnak a következő képességekkel kell rendelkezniük:
- Az adatbázisok és adattárházak alapkoncepcióival.
- Magas szintű SQL lekérdezések és adat profilozási tudás.
- Tapasztalat adattárház tesztek fejlesztésében, illetve tesztelési stratégiák kialakításában, teszt tervek és tesztesetek létrehozásában mik ezek és hogyan kell fejleszteni speciálisan az adattárházakra és a döntéstámogató rendszerekre vonatkozóan.
- Képességek a hatékony adattárház tesztesetek és forgatókönyvek létrehozásában az üzleti és felhasználói igények alapján.
- Képességek és érdeklődés az adatmodellek és adattérképek felülvizsgálatában. ETL tervezés, ETL kódolás, továbbá képesség a visszajelzésre a fejlesztők és tervezők számára.
Kockázatkerülés
Ahogy a vállalatok keresik a megoldásokat az adattárházak fejlesztésére, migrálására, konszolidálására, ugyanúgy keresik a best practice-eket az adattárház tesztelésre is. Az adatok és a rendszerek szisztematikus tesztelése a hibák és inkonzisztenciák miatt, létfontosságú a mai világban.
Az egyik legnagyobb veszély a sikeres üzleti intelligencia rendszerek fejlesztésében az adattárház mielőbbi élesbe állítása, tapasztalt QA csapattal való tesztelés nélkül. Akár a meglévő adattárház bővítéséről, akár egy új kialakításáról van szó, a jól megtervezett tesztek segítenek megelőzni a komoly és kritikus hibáktól az éles rendszerben.
A következő részben néhány ellenőrző lista példát mutatok, amivel előremozdítható a tesztelés. A listákkal rá szeretnék mutatni azokra a feladatokra, amelyeket gyakran kihagyunk az adattárház tesztelések során.
Forrás: http://ibmdatamag.com/2013/07/data-warehouse-testing-part-1/
Szerző: Wayne Yaddow
A szerző
- Wayne informatikai tanácsadóként, vezető QA szakemberként dolgozik. Nagy tapasztalata van az adatmigrációk és az adatok integrációja területén. Különösen a pénzügyi ágazatban nagy adattárház projekteken tevékenykedik. Ő az egyik társszerzője a "Testing the Data Warehouse: Assuring Data Content, Data Structures and Quality" című könyvnek.
Pingback:Adattárház tesztelés (II. rész) – Tesztelés a gyakorlatban
Pingback:Adattárház tesztelés (II. rész) – Tesztelés a gyakorlatban