Wayne Yaddow cikkének első része: Adattárház tesztelés (I. rész) Magazinunk előző számában jelent meg magyarul. Az alábbiakban közöljük a cikk folytatását.
Adattárház tesztelés (II. rész)
Adattárház tesztelés ellenőrző listával bővítve
Valószínűleg a napi munka folyamán mindenki használ ellenőrző listákat. Ha az adattárház teszteléshez nem használunk ellenőrző listákat, akkor nagyon sokat vesztünk az eredmény minőségéből és a profizmusból is.
A procedurális adattárház ellenőrző lista tartalmazza az összes elvégzendő feladatot és a feladatok sorrendiségét is. Ez egy olyan segítség, amely áthidalja az emberi memória és a figyelem korlátait, így csökkentve a hibázás lehetőségét.
A cikk első részében, rámutattam a teljes körű adattárház tesztelés fontosságára és kiemeltem a folyamat kulcsfázisait. A második részben javaslatokat teszek az ellenőrző listákhoz, amelyek abban segítenek, hogy ne kerüljék el a figyelmünket a kulcsfontosságú lépések a bonyolult adattárház tesztelés tervezésekor, és a tesztek futtatásakor. Az ellenőrző listák a teljes tesztelési stratégia fejlesztésekor is segítenek a fókuszálásban és a tesztesetek priorizálásban, valamint hibák sikeres feltárásában.
Unit teszt ellenőrző lista
A legtöbb fejlesztő enyhén szólva sem képzett tesztelő. Programoznak, majd telepítik az elkészített részeket és elkezdik a soron következő feladat kódolását anélkül, hogy unit teszteket futtattak volna. Egy ellenőrző lista segítheti az adatbázis fejlesztőket a kód szisztematikus tesztelésében, mielőtt még az a QA csapathoz kerülne.
- A mezőmegfeleltetések ellenőrzése a kritikus adatok vonatkozásában a staging (előkészítő) és az éles szinteken.
- A szekvencia generátor által előállított adatok duplikációjának a vizsgálata.
- A másodlagos kulcsok egyediségének ellenőrzése.
- Az adattípus kényszerek ellenőrzése a staging és az éles szinteken.
- Az adatbetöltés ellenőrzése és a hibaüzenetek elemzése minden ETL után. (ETL – extraction, transformation, load – kinyerés, átalakítás, betöltés)
- A rosszul jobbról vagy balról levágott szövegek megkeresése.
- Annak az ellenőrzése, hogy minden tábla és mező betöltődött-e a staging-ről.
- Annak az ellenőrzése, hogy a nem NULL értékek biztosan betöltődtek.
- Ellenőrizzük, hogy nincsenek adatcsonkolások.
- Adattípusok és formátumok ellenőrzése.
- Győződjünk meg róla, hogy nincsenek duplikált rekordok a tény táblákban.
- A transzformációk pontosan az üzleti igények szerint hajtódtak-e végre?
- A numerikus mezők pontosan betöltődtek?
- Megvizsgálni, hogy az összes ETL csak a előre tervezett figyelmeztetésekkel futott le.
- Az adattisztítások és hibakezelések vizsgálata.
- Tárolt eljárások és adatleképezések ellenőrzése.
Az integrációs teszt ellenőrző listája
Egy integrációs teszt ellenőrzőlista abban segít, hogy meggyőződjünk róla, hogy az ETL folyamatok a tervek szerint a megfelelő függőségekkel hajtódtak-e végre.
- Ellenőrizzük az adatbetöltés sikeres végrehajtását.
- Ellenőrizzük, hogy a táblák jó adatokkal töltődtek-e fel és nincs-e adatvesztés.
- Minden adatbetöltéshez kapcsolódó függést, feltételt vizsgáljunk meg – beleértve az összes szakaszt. (forrás táblák-> staging táblák; staging táblák -> adattárház táblák)
- Minden ETL hibát és log-ot ellenőrizzünk a kijavíthatóság érdekében.
- Ellenőrizzük, hogy az adatbetöltés akkor kezdődött és fejeződött be, amikor azt terveztük.
Teljesítményteszt ellenőrző lista
A nagy tömegű adatnövekedés miatt az adattárházban arra kell számítani, hogy az ETL futtatási idők megnyúlnak és a lekérdezések hosszabb időt vesznek igénybe. Ezek a változások egy jól átgondolt architektúrával és ETL-el kezelhetőek. A performancia tesztelés az adattárházban az ETL tervezés gyengeségeinek a feltárására hivatott, mint állományok újbóli kiolvasása, felesleges állományok létrehozása és tárolása. A teljesítményteszt ellenőrzőlista segít a performancia kérdések felderítésében.
- Adatbetöltés csúcsra járatása annak érdekében, hogy az ETL végrehajtása a kért időintervallumon belül megtörténik-e.
- Az ETL betöltési idejének összehasonlítása viszonylag kis adatmennyiséggel a skálázhatóság ellenőrzése érdekében. Az ETL futások idejének az ellenőrzése minden komponens esetében az esetleges gyengeségek felderítése miatt.
- A visszautasított folyamatok monitorozása és annak a megfigyelése, hogy mennyi visszautasított adat kezelhető egy időben.
- Az egyszerű és összetett join-ok vizsgálata a nagy volumenű lekérdezések futtatása érdekében. Együttműködés az üzlettel olyan lekérdezések kidolgozásában, amelyeknek a válaszideje elfogadható.
Rendszerteszt ellenőrző lista
Az adattárház tesztelés egyik fő oka annak az ellenőrzése, hogy az üzleti igények megfelelően lettek-e implementálva. Ez a szakasz tartalmaz adatellenőrzést, amely azt ellenőrzi, hogy az adatok a megfelelő módon vannak-e a cél táblákba transzformálva. A rendszerteszt ellenőrzőlista a következőképpen segít:
- A rendszer funkcionalitása megfelel-e az üzlet által megfogalmazott igényeknek?
- A forrás és cél rekordok számosságának a vizsgálata, a visszautasított vagy hibás adatok figyelembevételével.
- Minden integráció és kapcsolat ellenőrzése (pl. a hardver és hálózati beállítások vizsgálata).
- Minden tranzakció, adatbázis-frissítés és adatáramlás pontosságának vizsgálata.
- Az üzleti jelentések megfelelőségének a vizsgálata.
Technikai teszt ellenőrző lista
A széleskörű és sokszínű adatforrások integrációjának a bonyolultsága miatt néhány tipikus kezdeti problémára felkészülhetünk. A technikai teszt ezért az összes egyéb (rendszer, performancia, UAT) előtt van.
- A hardver a helyén van és megfelelően lett inicializálva, beleértve az ETL eszközöket, forráshoz való kapcsolódást és az üzleti objektumokat?
- Minden szoftver megfelelően lett migrálva a tesztkörnyezetbe?
- Minden kapcsolat működik a rendszerek között?
- Minden tranzakció lefut, nincs lefagyás?
Összefoglalás
Az összes itt említett ellenőrzőlista – habár nem teljesen részletes – de abban bízok, hogy értékes lesz az adattárház tesztelési projektekben. Az ellenőrzőlisták segítenek a magasabb minőség elérésében a memóriánk adta lehetőségek kompenzálásával. Segítenek a bonyolult adattárház tesztelések megtervezésében és futtatásában, amely kulcsfontosságú az adattárház tesztelési munkában és annak a sikerességében.
Forrás: http://ibmdatamag.com/2013/07/data-warehouse-testing-part-2/
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.