Tesztadat előállítás: Faker

Előzmények

– A Demora szükség lenne 20db 50millió feletti, csokkal támogatott hiteligényre, 30db csokkal nem támogatottra, 40 feletti igénylőkkel, 20db lakásfelújításra felvehető kölcsönigényre.

– Keressünk az adatbázisban!

– A Demora csak a teszt1-en lesz lehetőség, de azon üres adatbázissal nyitunk.

– Oks, akkor vigyük fel adatvezérelt megoldással! (lásd előző cikkek: Adatvezérlés 1, 2, 3 )

– Nem rossz, de mit vigyünk fel? Egy igény 60-90 mező nagyrészt véletlenszerű kitöltését jelenti, ki állít elő egy ilyen Excelt? Ez kb. 5000 cella véletlen, de értelmes adattal való feltöltése.

– Nekem van egy ötletem. Faker.

Bevezetés

Gyakran fordul elő, hogy a tesztelésnél tömegesen lenne szükség véletlenszerűen előállított tesztadatokra. Véletlen nevekre, címekre, dátumokra, értékekre stb… Erre biztosít megoldást a faker könyvtár Robot Frameworkhöz.

Faker

A Faker egy népszerű könyvtár, amely hamis (de ésszerű) adatokat generál, amelyek felhasználhatók minden olyan esetben, ahol tesztadat előállítás vagy anonimizálás a cél. Eredetileg Perlben íródott, de majdnem minden nyelvre van portja. Ebben a cikkben a Robot Framework könyvtár működését mutatjuk be. Ez a könyvtár a Python-os faker portra épül, ehhez szolgáltat kulcsszavakat.

Sajnos a könyvtár aluldokumentált: https://guykisel.github.io/robotframework-faker/

A cikk végén adok tanácsot, hogy ezt hogyan kezeld.

Alapozás

Egy gyors telepítés után:

A robot-ban behivatkozhatjuk a könyvtárat és használhatjuk. Mivel a könyvtár kulcsszavai elég egyszerűek, azt tanácsolom, hogy adj nevet a könyvtárnak és utána használd a könyvtárnév előtagot a kulcsszavak előtt. Így:

A fenti példában a ${name} változónak adtunk véletlen Name értéket a faker segítségével és ezt a véletlen értéket írtuk ki a log-ba.

Általánosságban a faker könyvtár adatelőállító kulcsszavainak az a használati módja, hogy meghívás után visszaadott értéket egy változóba dobjuk.

Lokális kamuzás

Faker használhat egy területi beállítást argumentumként, hogy lokalizált adatokat adjon vissza. Ha nem található honosított szolgáltató, a gyár visszaáll az amerikai angol alapértelmezett LCID karakterláncra, azaz: en_US.

Így kérheted meg a faker-t, hogy magyarul kamuzzon adatot:

Specifikációs hiányosságok

A specifikáció olyan remek, amilyennel a tesztelők gyakran találkoznak. Olyan, mint a népmesében a királyhoz menő parasztlány, sétál, de mégsem, visz ajándékot, de mégsem, fel is van öltözve, de mégsem…. Néhol simán szűkszavú, néhol téves infókat tartalmaz. Ha csak az alap beállított fake-eket akarja az ember használni, akkor ezzel is el lehet boldogulni, de ha valami speciálisat szeretnénk (saját fake megvalósítása, külső, de már létező egyéb fake behúzása), akkor jobban járunk, ha Python-ban valósítjuk meg és úgy húzzuk be magunknak kulcsszó formájában.

Zárásféleképpen

A Faker könyvtár alapból sokat tud és nagyon jól használható kamu adathalmaz létrehozására. Az előzményben szereplő tesztadatok előállítására remek eszköz. Az adatvezérléses (adtavezérlés 3.) cikkben láttuk, hogy hogyan lehet tesztadatot „beolvasni”, a következő részben megmutatjuk, hogy a kamus tesztadatokat hogyan lehet könnyen emészthető formába (CSV, Excel) kiírni állományba. Addig is

Jó tesztet! Hajrá! 🙂

Megosztás

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

A legtöbb tesztstratégia már a projekt elején elbukik

Amikor egy projekt a végén minőségi gondokkal küzd, a reflex szinte mindig ugyanaz: a tesztelést okoljuk. „Nem teszteltek eleget”, „átcsúszott egy hiba”, „a QA nem fogta meg”. Kényelmes magyarázat, mert a folyamat legvégére mutat, oda, ahol a baj láthatóvá vált. Pedig a valódi ok gyakran nem a tesztelésben rejlik. Maga a tesztstratégia dönti el jó

AI rendszerek tesztelése: miért teljesen más, mint egy hagyományos szoftveré?

Egyre több cég épít AI funkciót a termékébe: chatbotot az ügyfélszolgálatra, ajánlórendszert a webshopba, dokumentumfeldolgozót a háttérfolyamatokba, döntéstámogatót a szakértői munkába. A vezetők jó része ilyenkor ugyanúgy áll a teszteléshez, mint bármely más szoftvernél: „írjuk meg a teszteseteket, nézzük meg, átmegy-e”. Csakhogy egy AI rendszer másképp működik, és ami fontosabb: másképp is hibázik. Ezért másképp

AI által generált kód = új QA kihívások

Az AI asszisztensek (a GitHub Copilottól a különféle nagy nyelvi modellekig) néhány év alatt a szoftverfejlesztés mindennapi eszközévé váltak. Egy funkció, amelynek megírása korábban órákba telt, ma percek alatt elkészül. A fejlesztői produktivitás növekedése valós és mérhető. Csakhogy a sebesség önmagában megtévesztő mutató. A kód gyorsabb megírása ugyanis nem jelenti azt, hogy a kód jobb

Scroll to Top

Töltse le tesztelőink szakmai profilját

Adja meg elérhetőségét egyszer és férjen hozzá valamennyi elérhető profilhoz.