Mi az az adatvezérelt tesztelés?

⚡ Okos összefoglaló

Az adatvezérelt tesztelés egy olyan szoftvertesztelési módszer, amely táblázatokban vagy táblázatokban tárolja a tesztadatokat, így egyetlen szkript számos bemeneti kombinációt validálhat. Elválasztja a tesztlogikát az adatoktól, csökkentve a szkriptek duplikációját és a karbantartási erőfeszítést.

  • 📊 Alapkoncepció: Egyetlen tesztszkript .xls, .csv, .xml fájlokból vagy adatbázisforrásokból olvassa be a bemeneteket, és automatikusan végrehajtja az összes adathalmazt.
  • 🧱 Keretrendszer tervezése: Azonosítsd a teszteseteket, írd meg egyszer a közös lépéseket, külső forrásból szerezd be az adatokat, majd futtasd végig a szkriptet minden adatsoron.
  • 🇧🇷 Hatékonyság növekedés: 1000 bejelentkezési kombináció teszteléséhez egyetlen paraméteres szkriptre van szükség 1000 különálló szkript helyett.
  • 🇧🇷 szerszámozás: Olyan platformok, mint a Testsigma, Testinyés Testpad paraméterezett adathalmazok kezelése és a hibák adatsoronkénti jelentése.
  • Legjobb gyakorlat: Használjon realisztikus adatokat, vizsgálja meg a pozitív és negatív kimeneteleket, és tegyen dinamikus állításokat az adathalmazokból.
  • ⚠️ Elad: A tesztek minősége az automatizálási készségektől függ, a nagy adathalmazok pedig növelik az érvényesítési és karbantartási munkát.

Mi az adatvezérelt tesztelés?

Adatvezérelt tesztelés

Adatvezérelt tesztelés egy szoftvertesztelési módszer, amelyben a tesztadatokat táblázat vagy táblázat formájában tárolják. Az adatvezérelt tesztelés lehetővé teszi a tesztelők számára, hogy egyetlen tesztszkriptet vigyenek be, amely képes tesztelni egy tábla összes tesztadatát, és a tesztkimenetet ugyanabban a táblában várja. Táblázatvezérelt tesztelésnek vagy paraméterezett tesztelésnek is nevezik.

Adatvezérelt keretrendszer

Adatvezérelt keretrendszer egy automatizált tesztelési keretrendszer, amelyben a bemeneti értékeket adatfájlokból olvassák ki, és tesztszkriptek változóiban tárolják. Lehetővé teszi a tesztelők számára, hogy pozitív és negatív teszteseteket is egyetlen tesztbe építsenek. Az adatvezérelt keretrendszer bemeneti adatai egy vagy több adatforrásban, például .xls, .xml, .csv fájlokban és adatbázisokban tárolhatók. Az alábbi ábra azt mutatja, hogyan áramlanak a bemeneti értékek az adatfájlból a tesztszkriptbe.

Adatvezérelt keretrendszer

Miért adatvezérelt tesztelés?

Adatvezérelt tesztelés fontos, mert a tesztelők gyakran több adathalmazzal rendelkeznek egyetlen teszthez, és az egyes adathalmazokhoz külön tesztek létrehozása időigényes lehet. Az adatvezérelt tesztelés segít elkülöníteni az adatokat a tesztszkriptektől, és ugyanazok a tesztszkriptek futtathatók a bemeneti tesztadatok különböző kombinációihoz, miközben a teszteredmények hatékonyan generálódnak.

Példa:

Tegyük fel, hogy a bejelentkezési rendszert több beviteli mezővel szeretnénk tesztelni 1000 különböző adathalmaz alapján.

Ennek teszteléséhez a következő különböző megközelítéseket alkalmazhatja:

1. megközelítés) Hozz létre 1000 szkriptet, minden adathalmazhoz egyet, és futtasd le az egyes teszteket külön-külön, egyesével.

2. megközelítés) Módosítsa manuálisan az értéket a tesztszkriptben, és futtassa többször.

3. megközelítés) Importálja az adatokat az Excel-táblázatból. Olvassa be a tesztadatokat az Excel soraiból egyenként, és futtassa a szkriptet.

A megadott három forgatókönyv közül az első kettő munkaigényes és időigényes. Ezért ideális a harmadik megközelítést követni.

Így a harmadik megközelítés nem más, mint egy adatvezérelt keretrendszer.

Tesztadatok típusai az adatvezérelt tesztelésben

Az adatvezérelt tesztelés értéke közvetlenül függ a tesztszkriptekbe betáplált adathalmazok minőségétől. Egy jól megtervezett adatfájl több tesztadat-kategóriát ötvöz, így egyetlen szkript egyetlen futtatásban validálhatja a normál viselkedést, a hibakezelést és a korlátokat:

  • Pozitív (érvényes) adat: Helyes bemenetek, például érvényes felhasználónév és jelszó, amelyek megerősítik, hogy az alkalmazás elfogadja azt, amit el kell fogadnia.
  • Negatív (érvénytelen) adat: Hibás vagy hibásan formázott bemenetek, amelyeket el kell utasítani, például helytelen jelszó vagy speciális karakterek egy numerikus mezőben.
  • Határadatok: Az engedélyezett tartományok szélén lévő értékek, például egy 1 vagy 255 karakteres felhasználónév, amelyek gyakran rejtett hibákat fednek fel.
  • Üres vagy null adatok: Üres mezők, amelyek a kötelező mezők érvényesítését és a hibaüzeneteket ellenőrzik.
  • Nagy mennyiségű adat: Tömeges vagy véletlenszerűen generált rekordok, amelyek a teljesítmény és a stabilitás ellenőrzésére szolgálnak realisztikus terhelés mellett.

A megfelelő adatok előkészítése után a következő lépés maga a keretrendszer felépítése.

Adatvezérelt automatizálási keretrendszer létrehozása

Adatvezérelt automatizálási keretrendszer

Tegyük fel, hogy egy alkalmazás bejelentkezési funkcióját szeretnéd tesztelni. A fenti folyamatábra a teljes ciklust mutatja: azonosítsd a teszteseteket, írd meg a közös tesztszkriptet, helyezd át az adatokat egy külső fájlba, és hurkold le a szkriptet minden adatsoron.

Step 1) Azonosítsa a teszteseteket

  • Helyes felhasználónév és jelszó bevitele – Sikeres bejelentkezés
  • Helytelen felhasználónév és jelszó beírása – Bejelentkezési hiba
  • Helyes felhasználónevet és helytelen jelszót adjon meg – Bejelentkezési hiba

Step 2) Hozzon létre részletes tesztlépéseket a fenti 3 tesztesethez

Próbaper# Leírás Tesztlépések Teszt adat Várható eredmények
1 Ellenőrizze a Bejelentkezésnél érvényes hitelesítő adatokat
  1. Indítsa el az alkalmazást
  2. Adja meg a Felhasználónév jelszavát
  3. Kattintson az OK gombra
  4. Ellenőrizze az eredményeket
Felhasználónév: érvényes jelszó: érvényes Bejelentkezés sikeres
2 Ellenőrizze a Bejelentkezést érvénytelen hitelesítő adatokért
  1. Indítsa el az alkalmazást
  2. Adja meg a Felhasználónév jelszavát
  3. Kattintson az OK gombra
  4. Ellenőrizze az eredményeket
Felhasználónév: érvénytelen jelszó: érvényes Bejelentkezési hiba
3 Ellenőrizze a Bejelentkezést érvénytelen hitelesítő adatokért
  1. Indítsa el az alkalmazást
  2. Adja meg a Felhasználónév jelszavát
  3. Kattintson az OK gombra
  4. Ellenőrizze az eredményeket
Felhasználónév: érvényes jelszó: érvénytelen Bejelentkezési hiba

Step 3) Tesztszkript létrehozása

Ha megfigyeled, a tesztlépések mindhárom tesztesetben közösek maradnak. Létre kell hoznod egy tesztszkriptet a lépések végrehajtásához:

// This is Pseudo Code

// Test Step 1: Launch Application
driver.get("URL of the Application");

// Test Step 2: Enter Username
txtbox_username.sendKeys("valid");

// Test Step 3: Enter Password
txtbox_password.sendKeys("invalid");

// Test Step 4: Check Results
If (Next Screen) print success else Fail

Step 4) Hozz létre egy Excel/CSV fájlt a bemeneti tesztadatokkal, ahogy az az alábbi mintalapon látható.

Adatvezérelt automatizálási keretrendszer

Step 5) Módosítsa a szkriptet úgy, hogy végigfusson a bemeneti tesztadatokon. A bemeneti parancsokat is paraméterezni kell.

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

A fentiekben csak 3 teszteset található. A tesztszkript felhasználható a következő tesztesetek áthurkolására, csak a tesztadatok értékeinek hozzáfűzésével Excel

  • Helytelen felhasználónév és jelszó bevitele – Sikertelen bejelentkezés
  • Írja be a helyes felhasználónevet és jelszót üresen – Sikertelen bejelentkezés
  • Írjon be üres felhasználónevet és jelszót – Sikertelen bejelentkezés

És így tovább

💡 Pro tipp: Tárold az egyes sorok várható eredményét ugyanabban az adatfájlban, mint a bemeneteket. A szkript ezután automatikusan összehasonlíthatja a tényleges és a várt eredményeket, így az adatfájl egy teljes, önmagát ellenőrző tesztkészletté alakul.

Miután a keretrendszer elkészült, a megfelelő eszköz leegyszerűsíti az adatkezelést, a végrehajtást és a jelentéskészítést.

Legjobb adatvezérelt tesztelőeszköz

1) Tesztelje a sigmát

Tesztelje a sigmát egy felhőalapú, adatvezérelt tesztelési platform, amelyet felbecsülhetetlen értékűnek találtam a tesztek lefedettségének maximalizálásában azáltal, hogy a tesztlogikát leválasztja a tesztadatokról. Kifejezetten olyan csapatok számára készült, akiknek az alkalmazásokat különféle adathalmazok, peremhelyzetek és üzleti forgatókönyvek alapján kell validálniuk redundáns tesztszkriptek létrehozása nélkül, egyszerűsítve a teljes adatvezérelt tesztelési munkafolyamatot.

Adatvezérelt tesztelési projektjeim során kihasználtam a Testsigma paraméterezési képességeit, hogy azonos tesztforgatókönyveket hajtsak végre több külső forrásból, például Excelből és CSV-fájlokból származó adatkombinációval. A platform azon képessége, hogy automatikusan végig tud lépni az adatsorokon, jelentősen kibővítette a tesztek lefedettségét, míg az adatszintű eredmények részletes jelentése segített gyorsan azonosítani, hogy mely konkrét bemeneti kombinációk okoztak hibákat a webes, mobil és API rétegekben.

Tesztelje a sigmát

Jellemzők:

  • Külső adatforrás-integráció: Ez a funkció közvetlen kapcsolatot tesz lehetővé Excel-táblázatokkal, CSV-fájlokkal és adatbázis-táblákkal a központosított tesztadat-kezelés érdekében. Kiküszöböli a fixen kódolt értékeket, és lehetővé teszi a tesztadatok karbantartását a tesztlogikától függetlenül. Az adathalmazok frissíthetők a tesztszkriptek módosítása nélkül, biztosítva a rugalmasságot és a karbantarthatóságot. Ezt használom több száz adatvariáció hatékony kezelésére, miközben...ping a tesztforgatókönyvek tiszták és újrafelhasználhatók.
  • Automatizált többsoros adatiteráció: A Testsigma egyetlen tesztfuttatáson belül automatikusan végrehajtja a tesztforgatókönyveket több adatsorban, jelentősen bővítve a lefedettséget. Számos bemeneti kombinációt, peremfeltételt és üzleti szabályvariációt validálhat a tesztesetek duplikálása nélkül. Ez a funkció transzparens módon kezeli az adatszekvenálást és az iterációs logikát. Ezt különösen hatékonynak találtam átfogó regressziós teszteléshez, minimális szkriptkarbantartási terheléssel.
  • Dinamikus tesztlépés paraméterezése: Lehetővé teszi a statikus értékek dinamikus paraméterekkel való helyettesítését, amelyek végrehajtás közben külső forrásokból kérnek le adatokat. A tesztlépéseket úgy konfigurálhatja, hogy alkalmazkodjanak a változó bemenetekhez, feltételekhez és várható eredményekhez az adathalmaz értékei alapján. Ez a funkció támogatja az összetett adattranszformációkat és a feltételes logikát. Rugalmas tesztforgatókönyvek létrehozására támaszkodom, amelyek megfelelnek a változatos üzleti követelményeknek és felhasználói munkafolyamatoknak.
  • Adatszintű végrehajtási jelentéskészítés: A platform részletes jelentéseket generál, amelyek az egyes adatkombinációkra lebontják a teszteredményeket, pontosan megmutatva, hogy mely bemenetek sikeresek és sikertelenek voltak. Elemezheti a mintákat, azonosíthatja a problémás adattartományokat, és trace hibák bizonyos adathalmaz sorokban. Ez a funkció vizuális irányítópultokat és exportálható elemzéseket biztosít az érdekelt felek kommunikációjához. Azt javaslom, hogy ezeket az információkat használják fel az adatminőség javításának rangsorolására és a tesztadat-stratégiák finomítására.
  • Platformfüggetlen, adatvezérelt támogatás: A Testsigma kiterjeszti az adatvezérelt képességeket a webes, mobil és API tesztelésre egységes munkafolyamatokon belül. Ugyanazokat az adathalmazokat alkalmazhatja a különböző alkalmazásrétegek és technológiák közötti konzisztencia validálására. Ez a funkció átfogó, végponttól végpontig tartó validációt biztosít paraméterezett adatfolyamokkal. Annak ellenőrzésére használtam, hogy a háttér-adatfeldolgozás helyesen tükröződik-e a frontend interfészekben több platformon egyszerre.

Érvek

  • Szélesebb tesztlefedettséget tapasztaltam anélkül, hogy drámaian megnőtt volna a végrehajtott tesztesetek teljes száma.
  • A gyakori adatforrásokhoz való csatlakozás egyszerű, és csökkenti a beállítási időt a mindennapi tesztelési munkafolyamatokban.
  • A részletes adatszintű jelentések megkönnyítik a sikertelen kombinációk gyors azonosítását.

Hátrányok

  • Óvatosan kellett kezelnem az adathalmazokat, mert a nagy mennyiségek gyorsan zavaróvá válhatnak.

Pricing:

  • Ár: Egyedi árképzés adatvezérelt tesztelési képességekkel az átfogó előfizetési csomag részeként
  • Ingyenes próbaverzió: 14 napos ingyenes próbaverzió

Látogassa meg a Testsigmát >>

14 napos ingyenes próbaverzió


2) Testiny

Testiny egy modern, felhőalapú teszteset-kezelő platform, amelyet az adatvezérelt tesztesetek hatékony rendszerezésére használtam, miközben folyamatosanping egyértelmű elkülönítést biztosít a tesztlogika és a paraméterezett adatkészletek között. Olyan csapatok számára készült, amelyeknek sokféle tesztfutás során különféle adatkombinációkat kell kezelniük anélkül, hogy elveszítenék az tracképesség.

Adatvezérelt projektek futtatása közben TestinyÉrtékeltem, hogy a tömeges szerkesztési és sablonfunkciók hogyan tették könnyűvé a tesztvariációk skálázását több száz adatsor között. A platform integrálódik a Jira, a GitHub és a GitLab szolgáltatásaival, így a sikertelen adatkombinációk visszavezethetők a problémához. tracautomatikusan.

Testiny

Jellemzők:

  • Tömeges teszteset szerkesztése: Testiny lehetővé teszi számos teszteset egyidejű szerkesztését, másolását és paraméterezését, ami felgyorsítja az adatvezérelt variációk létrehozását. Másodpercek alatt alkalmazhatja a módosításokat a mappák között anélkül, hogy minden egyes esetet külön kellene megérintenie. Erre támaszkodom, amikor új adatkészletekre bővítem a lefedettséget szkriptek átírása nélkül.
  • Egyéni mezők adatbevitelhez: Lehetővé teszi egyéni mezők definiálását projektenként, így az adathalmaz attribútumai tracminden tesztfuttatás mellett. A bemeneti értékeket, a várható eredményeket és a feltételeket egy helyen, világosan rögzítheti. Ezeket a mezőket használom arra, hogy az összetett paraméteres forgatókönyveket később könnyen auditálhassam.
  • Valós idejű tesztfutás Tracking: A platform élőben mutatja a végrehajtás állapotát a csapattagok között, így az adatvezérelt tesztek átláthatóak maradnak. Hozzárendelhetsz eseteket, figyelheted a sikeres/sikertelen százalékokat, és azonosíthatod a blokkolt adatkombinációkat, amint azok előfordulnak. Hasznosnak találom ezt a kee számára.ping A minőségbiztosítási vezetők folyamatos állapotfelmérés nélkül is tájékozódhatnak.
  • PDF és megosztható jelentéskészítés: Testiny Letisztult PDF-jelentéseket generál diagramokkal és végrehajtási összefoglalókkal, amelyeket megoszthat nem műszaki érdekelt felekkel. Szűrhet adatkészlet, mérföldkő vagy kiadás szerint. Ezeket minden sprint végén elküldöm a minőségi pozíció kommunikálása érdekében.
  • Natív probléma Tracker integrációk: Csatlakozik a Jira-hoz, a GitHub-hoz, a GitLab-hoz, Azure DevOps, Lineáris, Asana, a Confluence, a Trello és a monday.com, így a sikertelen adatsorok gyorsan ticketekké alakulnak. Összehangolva tarthatja a tesztek végrehajtását és a mérnöki munkafolyamatokat. Azt vettem észre, hogy ez drámaian csökkenti az átadási súrlódást a minőségbiztosítási és a fejlesztői csapatok között.

Érvek

  • Észrevettem, hogy a tömeges szerkesztés könnyűvé teszi az adatvezérelt tesztek karbantartását, még akkor is, ha az adathalmazok növekednek.
  • Csatlakozó Testiny a Jira táblánkra percek alatt eljutottunk, és a sikertelen adatkombinációkat azonnal jegyként tártuk fel.
  • Valós idejű tracA King világos képet ad arról, hogy mely adatkombinációk vannak még függőben egy adott futtatásban.

Hátrányok

  • Hiányoztam a fejlett API automatizálási hookok beépítését a nagyon nagy paraméteres regressziós csomagokhoz

Pricing:

  • Ár: Ingyenes csomag akár 3 felhasználó számára; a fizetős csomagok a munkaállomások szerint skálázhatók és prémium támogatást is biztosítanak.
  • Ingyenes próbaverzió: 21 napos ingyenes próbaverzió

Látogat Testiny >>

21 napos ingyenes próbaverzió


3) Testpad

Testpad egy könnyűsúlyú, ellenőrzőlistán alapuló tesztkezelő eszköz, amelyre akkor támaszkodtam, amikor az adatvezérelt forgatókönyvekhez gyors, nehézkes rögzítésre volt szükség. Hierarchikus ellenőrzőlistákra épül, így a tesztelők az adatvariációkat szülő esetek alá csoportosíthatják, és gyorsan végrehajthatják azokat.

Az adatvezérelt munkameneteim során TestpadA billentyűzet-központú felületét használtam, hogy egyetlen ülés alatt több tucat beviteli variációt próbáljak ki. A vendégtesztelői támogatás lehetővé tette, hogy domainszakértőket vonjak be a szélsőséges adatkombinációk validálására anélkül, hogy extra munkaállomásokért fizettem volna.

Testpad

Jellemzők:

  • Hierarchikus tesztlisták: Testpad A paraméteres teszteket beágyazott ellenőrzőlistákba rendezi, így a kapcsolódó adatvariációkat egyetlen szülő eset alá csoportosíthatja. Az ágakat kibonthatja és összecsukhatja, hogy adott adatkészletekre összpontosítson. Ezt használom az összetett adatmátrixok vizuális rendezettségének megőrzésére.
  • Billentyűzetvezérelt szerkesztés: Lehetővé teszi a tesztelemek létrehozását, behúzását és átrendezését billentyűparancsokkal, így a nagyméretű, adatvezérelt tervek felépítése gyors. Folyamatosan haladhatsz anélkül, hogy az egérhez nyúlnál. Úgy vélem, hogy ez drámaian lerövidíti az új adathalmaz sorainak rögzítéséhez szükséges időt.
  • Vendég tesztelői hozzáférés: Testpad korlátlan számú vendégtesztelőt támogat munkaállomásonkénti díjak nélkül, így domain szakértőket vonhatsz be adott adatkombinációkhoz. Meghívhatsz érdekelt feleket, hogy licencelési többletköltségek nélkül ellenőrizzék a peremhálózati eseteket. Erre támaszkodom a paraméteres forgatókönyvek felhasználói elfogadása során.
  • Azonnal megosztható jelentések: A platform könnyűsúlyú jelentéseket generál, amelyeket linken keresztül megoszthatsz, így a haladás látható az eszköz megnyitása nélkül. Szűrhetsz tesztelő, állapot vagy tesztág szerint. Ezeket minden adatvezérelt tesztfuttatás végén elküldöm a termékmenedzsereknek.
  • Kiadás Tracker Linkelés: Egyszerű linkeken keresztül köti össze a sikertelen teszteket a Jira vagy GitHub jegyekkel, így az adatsorok hibái gyorsan a mérnöki csapathoz kerülnek. Közvetlenül egy sikertelen ellenőrzőlistaelemből csatolhatsz kontextust. A tesztelők figyelmét a végrehajtásra bízom, miközben az eszközök kezelik az útvonalat.

Érvek

  • A billentyűzet-alapú ellenőrzőlista stílusnak köszönhetően gyorsan áttekinthetek több száz adatvariációt.
  • Vendégtesztelők bevonása adott adatforgatókönyvekhez nem kerül pluszba, ami valódi költségvetést takarít meg.
  • A mobilbarát felület lehetővé teszi számomra, hogy adatvezérelt füstmérést végezzek ingázás vagy állóvizsga közben.

Hátrányok

  • Bárcsak lennének beépített automatizálási hookok a nagyon nagy, adatvezérelt regressziós sweepekhez.

Pricing:

  • Ár: A csomagok havi 59 dollártól kezdődnek, nagyobb csapatok számára pedig egyedi vállalati csomagok is elérhetők.
  • Ingyenes próbaverzió: 30 napos ingyenes próba

Látogat Testpad >>

30 napos ingyenes próbaverzió

Az adatvezérelt tesztelés legjobb gyakorlatai

Az alábbiakban bemutatjuk az adatvezérelt tesztelés legjobb tesztelési gyakorlatait:

  • Ideális reális információk felhasználása az adatvezérelt tesztelési folyamat során
  • A tesztfolyamat-navigációt a tesztszkripten belül kell kódolni
  • Vezessen virtuális API-kat értelmes adatokkal
  • Adatok használata dinamikus állítások előmozdítására
  • Teszteljen pozitív és negatív eredményeket
  • Az adatvezérelt funkcionális tesztek újrahasznosítása a biztonság és a teljesítmény érdekében

Az adatvezérelt tesztelés előnyei

Az adatvezérelt tesztelés számos előnnyel jár. Néhány ezek közül:

  1. Lehetővé teszi az alkalmazás tesztelését több adatérték-készlettel a folyamat során Regressziós teszt
  2. A tesztadatok és az ellenőrzési adatok egyetlen fájlba rendezhetők, és ez elkülönül a teszteset logikájától.
  3. Az eszköz segítségével a tesztszkriptek egyetlen adattárban tárolhatók. Ezáltal a tesztek könnyen érthetők, karbantarthatók és kezelhetők.
  4. A műveletek és funkciók újra felhasználhatók különböző tesztekben.
  5. Néhány eszköz automatikusan generál tesztadatokat. Ez akkor hasznos, ha nagy mennyiségű véletlenszerű tesztadatra van szükség, ami időt takarít meg.
  6. Az adatvezérelt tesztelés a fejlesztés bármely fázisában elvégezhető. Az adatvezérelt teszteseteket általában egyetlen folyamatba vonják össze. Azonban több tesztesetben is használhatók.
  7. Lehetővé teszi a fejlesztők és a tesztelők számára, hogy egyértelműen elkülönítsék a tesztesetek/szkriptek logikáját a tesztadatoktól.
  8. Ugyanazok a tesztesetek többször is végrehajthatók, ami segít csökkenteni a tesztesetek és szkriptek számát.
  9. A teszt szkriptben végrehajtott változtatások nem befolyásolják a tesztadatokat.

Az adatvezérelt tesztelés hátrányai

Az adatvezérelt automatizálási tesztelési módszer néhány hátránya:

  1. A teszt minősége a megvalósító csapat automatizálási készségeitől függ.
  2. Az adatvalidáció időigényes feladat nagy mennyiségű adat tesztelésekor.
  3. A karbantartás nagy probléma, mivel az adatvezérelt teszteléshez nagy mennyiségű kódolásra van szükség.
  4. Magas szintű műszaki ismeretek szükségesek. Lehet, hogy egy tesztelőnek egy teljesen új szkriptnyelvet kell megtanulnia.
  5. További dokumentáció lesz, főként a szkriptkezeléssel, a tesztinfrastruktúrával és a tesztelési eredményekkel kapcsolatban.
  6. Az adatfájlok létrehozásához és karbantartásához olyan szövegszerkesztőre van szükség, mint a Jegyzettömb.

Adatvezérelt tesztelés vs. kulcsszóvezérelt tesztelés

A kezdők gyakran összekeverik az adatvezérelt tesztelést a kulcsszóvezérelt teszteléssel, mivel mindkettő elválasztja a teszttervezést a tesztszkriptektől. A különbség abban rejlik, hogy mit externalizálnak: az adatvezérelt tesztelés a bemeneti értékeket externalizálja, míg a kulcsszóvezérelt tesztelés magukat a műveleteket újrafelhasználható kulcsszavakként használja fel. Az alábbi táblázat összehasonlítja a két megközelítést:

Vizsgált paraméter Adatvezérelt tesztelés Kulcsszóvezérelt tesztelés
Mi a külsőleg alkalmazott Tesztadatok (bemenetek és várható eredmények) Tesztelési műveletek (kulcsszavak, például Bejelentkezés, Kattintás, Ellenőrzés)
Adatforrás Excel, CSV, XML vagy adatbázistáblák Kulcsszótáblázatok és opcionális adattáblázatok
Szükséges készségek Mérsékelt szkriptelési ismeretek Nagyobb kezdeti tervezési erőfeszítés; kevesebb kódolás új tesztek létrehozásához
Legmegfelelőbb Egy forgatókönyv ismétlése sok bemeneti kombinációval Több forgatókönyv felépítése újrafelhasználható akcióblokkokból
Karbantartás Adatfájlok frissítése szkriptek érintése nélkül Kulcsszótár frissítése az alkalmazás viselkedésének megváltozásakor

Sok csapat ötvözi mindkét megközelítést egy hibrid keretrendszerben, ahol a kulcsszavak határozzák meg az újrafelhasználható műveleteket, és a külső adatfájlok biztosítják az értékeket minden egyes tesztfuttatáshoz.

GYIK

Igen, de ez nem hatékony. Egy manuális tesztelő ugyanazokat a lépéseket végrehajthatja egy táblázatból származó különböző bemenetekkel, mégis az automatizálást részesítik előnyben, mivel több száz adatkombinációt futtat le gyorsan, következetesen és emberi hiba nélkül.

Selenium ahol TestNG or JUnit, UFTés felhőplatformok, mint például a Tesztelje a sigmát támogatja. Bármely nyelv, amely képes külső fájlok olvasására, beleértve a Java, Python, és a C# segítségével adatvezérelt keretrendszert lehet megvalósítani.

Használjon annyi sort, hogy minden beviteli mezőhöz lefedje az érvényes, érvénytelen, határértékeket és üres értékeket. A minőség fontosabb, mint a mennyiség; tíz jól megválasztott kombináció általában több hibát tár fel, mint ezer véletlenszerű.

Igen. A mesterséges intelligencia eszközei elemzik az alkalmazási területeket, és automatikusan valósághű, változatos és adatvédelmet biztosító szintetikus adatkészleteket hoznak létre, beleértve azokat a szélsőséges eseteket is, amelyeket az emberi tesztelők esetleg nem vesznek észre. Ez csökkenti az adatfájlok előkészítésére és karbantartására fordított időt.

A mesterséges intelligencia önjavító lokátorokat ad hozzá, amelyek túlélik a felhasználói felület változásait, megjósolja, hogy mely adatkombinációk hibásodnak meg a legvalószínűbben, és rangsorolja a magas kockázatú sorokat. Ezáltal a nagy paraméteres adatcsomagok stabilak maradnak, miközben csökken a végrehajtási idő és a karbantartási erőfeszítés.

Foglald össze ezt a bejegyzést a következőképpen: