Wat is datagedreven testen? Leer een raamwerk te creëren
Datagedreven testen
Datagedreven testen is een softwaretestmethode waarbij testgegevens worden opgeslagen in tabel- of spreadsheetformaat. Met datagestuurd testen kunnen testers één testscript invoeren dat tests kan uitvoeren voor alle testgegevens uit een tabel en de testuitvoer in dezelfde tabel kan verwachten. Het wordt ook wel tabelgestuurd testen of geparametriseerd testen genoemd.
Datagedreven raamwerk
Datagedreven raamwerk is een automatiseringstestframework waarin invoerwaarden uit gegevensbestanden worden gelezen en in variabelen in testscripts worden opgeslagen. Het stelt testers in staat om zowel positieve als negatieve testgevallen in één test op te nemen. Invoergegevens in een datagestuurd raamwerk kunnen worden opgeslagen in enkele of meerdere gegevensbronnen zoals .xls, .xml, .csv en databases.
Waarom datagedreven testen?
Datagedreven testen is belangrijk omdat testers vaak meerdere datasets voor één test hebben en het maken van individuele tests voor elke dataset tijdrovend kan zijn. Datagedreven testen helpt om gegevens gescheiden te houden van testscripts en dezelfde testscripts kunnen worden uitgevoerd voor verschillende combinaties van ingevoerde testgegevens en testresultaten kunnen efficiënt worden gegenereerd.
Voorbeeld:
Zo willen we het inlogsysteem testen met meerdere invoervelden met 1000 verschillende datasets.
Om dit te testen, kunt u de volgende verschillende benaderingen gebruiken:
Benadering 1) Maak 1000 scripts, één voor elke dataset, en voer elke test afzonderlijk één voor één uit.
Benadering 2) Wijzig handmatig de waarde in het testscript en voer het meerdere keren uit.
Benadering 3) Importeer de gegevens uit het Excel-blad. Haal testgegevens één voor één op uit Excel-rijen en voer het script uit.
In de gegeven drie scenario's zijn de eerste twee bewerkelijk en tijdrovend. Daarom is het ideaal om de derde benadering te volgen.
De derde benadering is dus niets anders dan een datagestuurd raamwerk.
Hoe u een datagedreven automatiseringsframework creëert
Stel dat u de inlogfunctionaliteit van een applicatie wilt testen.
Stap 1) Identificeer de testgevallen
- Invoer Correcte gebruikersnaam en wachtwoord – Inloggen succesvol
- Voer een onjuiste gebruikersnaam en het juiste wachtwoord in – Inloggen mislukt
- Voer de juiste gebruikersnaam en het onjuiste wachtwoord in – Inloggen mislukt
Stap 2) Maak gedetailleerde teststappen voor de bovenstaande 3 testgevallen
| Testcase# | Beschrijving | Teststappen | Testgegevens | verwachte resultaten |
|---|---|---|---|---|
| 1 | Vink Inloggen aan voor geldige inloggegevens |
|
Gebruikersnaam: geldig wachtwoord: geldig | Succesvol ingelogd |
| 2 | Controleer Inloggen op ongeldige inloggegevens |
|
Gebruikersnaam: ongeldig wachtwoord: geldig | Inloggen mislukt |
| 3 | Controleer Inloggen op ongeldige inloggegevens |
|
Gebruikersnaam: geldig wachtwoord: ongeldig | Inloggen mislukt |
Stap 3) Testscript maken
Als u de teststappen in acht neemt, blijf dan gemeenschappelijk tijdens de drie teststappen. U moet een testscript maken om deze stappen uit te voeren
// 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
Stap 4) Maak een Excel/csv met de invoertestgegevens
Stap 5) Stap Wijzig de Scrip zodat deze wordt herhaald via de invoertestgegevens. De invoercommando's moeten ook worden geparametriseerd
// 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
}
Hierboven staan slechts 3 testcases. Het testscript kan worden gebruikt om over de volgende testcases te loopen door testdatawaarden toe te voegen aan Excel
- Voer een onjuiste gebruikersnaam en een onjuist wachtwoord in – Inloggen mislukt
- Voer de juiste gebruikersnaam en wachtwoord in, blanco – Inloggen mislukt
- Voer een lege gebruikersnaam en een leeg wachtwoord in – Inloggen mislukt
En zo voort
Beste tool voor datagestuurd testen
1) Testsigma
Testsigma is een cloudgebaseerd, datagestuurd testplatform dat ik van onschatbare waarde vind voor het maximaliseren van de testdekking door de testlogica los te koppelen van de testdata. Het is specifiek ontworpen voor teams die applicaties moeten valideren aan de hand van diverse datasets, uitzonderlijke gevallen en bedrijfsscenario's, zonder overbodige testscripts te hoeven maken. Dit stroomlijnt de gehele datagestuurde testworkflow.
Tijdens mijn datagestuurde testprojecten maakte ik gebruik van de parameteriseringsmogelijkheden van Testsigma om identieke testscenario's uit te voeren met meerdere datacombinaties uit externe bronnen zoals Excel- en CSV-bestanden. De mogelijkheid van het platform om automatisch door datarijen te itereren, vergrootte mijn testdekking aanzienlijk, terwijl gedetailleerde rapportages over de resultaten op dataniveau me hielpen snel te identificeren welke specifieke invoercombinaties fouten veroorzaakten op web-, mobiel- en API-niveau.
Kenmerken:
- Integratie van externe gegevensbronnen: Deze functie maakt directe verbindingen mogelijk met Excel-spreadsheets, CSV-bestanden en databasetabellen voor gecentraliseerd beheer van testgegevens. Het elimineert hardgecodeerde waarden en stelt u in staat testgegevens onafhankelijk van de testlogica te beheren. U kunt datasets bijwerken zonder testscripts aan te passen, wat flexibiliteit en onderhoudbaarheid garandeert. Ik gebruik dit om honderden datavarianten efficiënt te beheren en tegelijkertijd testscenario's overzichtelijk en herbruikbaar te houden.
- Geautomatiseerde iteratie van gegevens met meerdere rijen: Testsigma voert automatisch testscenario's uit over meerdere datarijen in één testrun, waardoor de testdekking aanzienlijk wordt vergroot. U kunt talloze inputcombinaties, randvoorwaarden en variaties op bedrijfsregels valideren zonder testcases te dupliceren. Deze functie behandelt de volgorde van gegevens en de iteratielogica op een transparante manier. Ik vond dit met name effectief voor uitgebreide regressietests met minimale onderhoudskosten voor scripts.
- Dynamische parameterisering van teststappen: Hiermee kunt u statische waarden vervangen door dynamische parameters die tijdens de uitvoering gegevens uit externe bronnen ophalen. U kunt teststappen configureren om zich aan te passen aan variërende invoer, omstandigheden en verwachte resultaten op basis van de waarden in de dataset. Deze functie ondersteunt complexe datatransformaties en voorwaardelijke logica. Ik gebruik het om flexibele testscenario's te bouwen die aansluiten op uiteenlopende bedrijfsvereisten en gebruikersworkflows.
- Rapportage van de uitvoering op dataniveau: Het platform genereert gedetailleerde rapporten die testresultaten uitsplitsen per individuele datacombinatie, zodat precies te zien is welke invoerwaarden geslaagd of mislukt zijn. U kunt patronen analyseren, problematische databereiken identificeren en fouten herleiden tot specifieke rijen in de dataset. Deze functie biedt visuele dashboards en exporteerbare analyses voor communicatie met belanghebbenden. Ik raad aan deze inzichten te gebruiken om prioriteit te geven aan verbeteringen in de datakwaliteit en testdatastrategieën te verfijnen.
- Platformonafhankelijke, datagestuurde ondersteuning: Testsigma breidt de mogelijkheden van datagestuurde testen uit naar web-, mobiele en API-testen binnen uniforme workflows. Je kunt dezelfde datasets gebruiken om de consistentie te valideren over verschillende applicatielagen en technologieën. Deze functie zorgt voor een uitgebreide end-to-end validatie met geparameteriseerde dataflows. Ik heb het gebruikt om te controleren of de backend-gegevensverwerking correct wordt weergegeven in de frontend-interfaces op meerdere platformen tegelijk.
VOORDELEN
NADELEN
Prijzen:
- Prijs: Prijs op maat met datagestuurde testmogelijkheden inbegrepen in het uitgebreide abonnementsplan.
- Gratis proefversie: 14 dagen gratis op proef
14 dagen gratis op proef
Best practices van datagedreven testen
Hieronder vindt u de beste testpraktijken voor datagestuurd testen:
- Het is ideaal om realistische informatie te gebruiken tijdens het datagedreven testproces
- Teststroomnavigatie moet in het testscript worden gecodeerd
- Stimuleer virtuele API's met betekenisvolle gegevens
- Gebruik data om dynamische beweringen te stimuleren
- Test zowel positieve als negatieve uitkomsten
- Hergebruik datagestuurde functionele tests voor beveiliging en prestaties
Voordelen van datagedreven testen
Data-Driven biedt veel voordelen, waaronder:
- Maakt het mogelijk om applicaties te testen met meerdere sets gegevenswaarden tijdens regressietests
- Testgegevens en verificatiegegevens kunnen in slechts één bestand worden georganiseerd en staan los van de testcaselogica.
- Op basis van de tool is het mogelijk om de testscripts in één repository te hebben. Hierdoor zijn de teksten gemakkelijk te begrijpen, te onderhouden en te beheren.
- Acties en functies kunnen in verschillende tests worden hergebruikt.
- Sommige tools genereren automatisch testgegevens. Dit is handig wanneer grote hoeveelheden willekeurige testgegevens nodig zijn, waardoor tijd wordt bespaard.
- Data-driven testing kan elke fase van de ontwikkeling uitvoeren. Een data-driven test cares worden over het algemeen samengevoegd in één proces. Het kan echter in meerdere testcases worden gebruikt.
- Hiermee kunnen ontwikkelaars en testers een duidelijke scheiding aanbrengen tussen de logica van hun testcases/scripts en de testgegevens.
- Dezelfde testgevallen kunnen meerdere keren worden uitgevoerd, waardoor het aantal testgevallen en scripts wordt verminderd.
- Eventuele wijzigingen in het testscript hebben geen invloed op de testgegevens
Nadelen van datagestuurd testen
Enkele nadelen van de datagestuurde automatiseringstestmethode zijn:
- De kwaliteit van de test is afhankelijk van de automatiseringsvaardigheden van het implementatieteam
- Gegevensvalidatie is een tijdrovende taak bij het testen van grote hoeveelheden gegevens.
- Onderhoud is een groot probleem, omdat er een grote hoeveelheid codering nodig is voor datagestuurd testen.
- Technische vaardigheden op hoog niveau zijn vereist. Het kan zijn dat een tester een geheel nieuwe scripttaal moet leren.
- Er zal meer documentatie zijn. Meestal gerelateerd aan scriptbeheer, testinfrastructuur en testresultaten.
- Voor het maken en onderhouden van gegevensbestanden is een teksteditor zoals Kladblok vereist.
Conclusie
- Data-driven is een testautomatiseringsframework dat testgegevens opslaat in een tabel- of spreadsheetformaat.
- In een datagestuurd testautomatiseringsframework kunnen invoergegevens worden opgeslagen in enkele of meerdere gegevensbronnen zoals xls, XML, csv en databases.
- Het maken van een individuele test voor elke dataset is een langdurig en tijdrovend proces. Het Data Driven Testing-framework lost dit probleem op door de gegevens gescheiden te houden van functionele tests.
- Bij Data Driven Testing is het een ideale optie om realistische informatie te gebruiken
- Hiermee kunt u toepassingen testen met meerdere sets gegevenswaarden tijdens Regressietesten
- Het nadeel van deze methode is dat deze afhankelijk is van de automatiseringsvaardigheden van het implementatieteam




