Testgegevens genereren: wat is, hoe, voorbeeld, tools

Inhoudsopgave:

Anonim

Als tester denk je misschien dat 'het ontwerpen van testcases al uitdagend genoeg is, waarom zou je je dan druk maken over zoiets triviaal als testdata'? Het doel van deze tutorial is om je kennis te laten maken met Test Data, het belang ervan en praktische tips en trucs te geven om snel testdata te genereren. Dus laten we beginnen!

Wat zijn testgegevens bij softwaretests?

Testgegevens bij softwaretests zijn de invoer die wordt gegeven aan een softwareprogramma tijdens het uitvoeren van een test. Het vertegenwoordigt gegevens die tijdens het testen van invloed zijn op of worden beïnvloed door de uitvoering van software. Testgegevens worden gebruikt voor zowel positieve testen om te verifiëren dat functies verwachte resultaten opleveren voor gegeven invoer als voor negatieve testen om te testen of de software in staat is om ongebruikelijke, uitzonderlijke of onverwachte invoer te verwerken.

Slecht ontworpen testgegevens testen mogelijk niet alle mogelijke testscenario's, wat de kwaliteit van de software zal belemmeren.

Wat is het genereren van testgegevens? Waarom moeten testgegevens worden gemaakt voordat de test wordt uitgevoerd?

Iedereen weet dat testen een proces is dat grote hoeveelheden data produceert en verbruikt. De gegevens die bij het testen worden gebruikt, beschrijven de initiële voorwaarden voor een test en vertegenwoordigen het medium waarmee de tester de software beïnvloedt. Het is een cruciaal onderdeel van de meeste functionele tests.

Afhankelijk van uw testomgeving moet u mogelijk testgegevens CREËREN (meestal) of op zijn minst geschikte testgegevens identificeren voor uw testgevallen (zijn de testgegevens al gemaakt).

Testgegevens worden doorgaans synchroon gemaakt met de testcase waarvoor ze bedoeld zijn.

Testgegevens kunnen worden gegenereerd -

  • Handmatig
  • Massakopie van gegevens van productie naar testomgeving
  • Massakopie van testgegevens van verouderde clientsystemen
  • Geautomatiseerde tools voor het genereren van testgegevens

Gewoonlijk moeten er voorbeeldgegevens worden gegenereerd voordat u met de uitvoering van de test begint, omdat het anders moeilijk is om het beheer van testgegevens uit te voeren. Omdat in veel testomgevingen het maken van testgegevens meerdere voorbereidende stappen of zeer tijdrovende testomgevingconfiguraties vergt. ​ Ook als testgegevens worden gegenereerd terwijl u zich in de testuitvoeringsfase bevindt, kunt u uw testdeadline overschrijden.

Hieronder worden verschillende testtypen beschreven, samen met enkele suggesties met betrekking tot hun testgegevensbehoeften.

Testgegevens voor White Box-tests

Bij White Box Testing wordt testdatamanagement afgeleid uit direct onderzoek van de te testen code. Testgegevens kunnen worden geselecteerd door rekening te houden met de volgende zaken:

  • Het is wenselijk om zoveel mogelijk takken te bedekken; testgegevens kunnen zo worden gegenereerd dat alle vertakkingen in de broncode van het programma minstens één keer worden getest
  • Padtesten: alle paden in de broncode van het programma worden minstens één keer getest - voorbereiding van testgegevens kan worden gedaan om zoveel mogelijk gevallen te dekken
  • Negatieve API-tests:
    • Testgegevens kunnen ongeldige parametertypes bevatten die worden gebruikt om verschillende methoden aan te roepen
    • Testgegevens kunnen bestaan ​​uit ongeldige combinaties van argumenten die worden gebruikt om de methoden van het programma aan te roepen

Testgegevens voor prestatietests

Prestatietesten is het type testen dat wordt uitgevoerd om te bepalen hoe snel het systeem reageert onder een bepaalde werkbelasting. Het doel van dit type testen is niet om bugs te vinden, maar om bottlenecks te elimineren. Een belangrijk aspect van Performance Testing is dat de set met voorbeelddata die wordt gebruikt zeer dicht moet liggen bij 'echte' of 'live' data die bij de productie wordt gebruikt. De volgende vraag rijst: 'Ok, het is goed om te testen met echte data, maar hoe kom ik aan deze data?' Het antwoord is vrij eenvoudig: van de mensen die het beste kennen - de klanten . Ze kunnen mogelijk gegevens verstrekken die ze al hebben of, als ze geen bestaande set gegevens hebben, kunnen ze u helpen door feedback te geven over hoe de gegevens in de echte wereld eruit kunnen zien. Voor het geval u zich in eenonderhoudstestproject kunt u gegevens van de productieomgeving naar het testbed kopiëren. Het is een goede gewoonte om gevoelige klantgegevens zoals burgerservicenummer, creditcardnummers, bankgegevens enz. Te anonimiseren (door elkaar halen) terwijl de kopie wordt gemaakt.

Testgegevens voor beveiligingstests

Beveiligingstests zijn het proces dat bepaalt of een informatiesysteem gegevens beschermt tegen kwaadwillende bedoelingen. De set gegevens die moet worden ontworpen om een ​​softwarebeveiliging volledig te testen, moet de volgende onderwerpen omvatten:

  • Vertrouwelijkheid: Alle informatie die door klanten wordt verstrekt, wordt strikt vertrouwelijk gehouden en wordt niet gedeeld met externe partijen. Als een kort voorbeeld: als een toepassing SSL gebruikt, kunt u een set testgegevens ontwerpen waarmee wordt gecontroleerd of de codering correct is uitgevoerd.
  • Integriteit: stel vast dat de informatie die door het systeem wordt verstrekt, correct is. Om geschikte testgegevens te ontwerpen, kunt u beginnen met een grondige blik op het ontwerp, de code, de databases en de bestandsstructuren.
  • Authenticatie: vertegenwoordigt het proces van het vaststellen van de identiteit van een gebruiker. Testgegevens kunnen worden ontworpen als een andere combinatie van gebruikersnamen en wachtwoorden en zijn bedoeld om te controleren of alleen geautoriseerde personen toegang hebben tot het softwaresysteem.
  • Autorisatie: geeft aan wat de rechten zijn van een specifieke gebruiker. Testgegevens kunnen een andere combinatie van gebruikers, rollen en bewerkingen bevatten om te controleren of alleen gebruikers met voldoende rechten een bepaalde bewerking kunnen uitvoeren.

Testgegevens voor Black Box-tests

Bij Black Box Testing is de code niet zichtbaar voor de tester. Uw functionele testcases kunnen testgegevens hebben die voldoen aan de volgende criteria:

  • Geen gegevens : controleer de systeemreactie als er geen gegevens zijn ingediend
  • Geldige gegevens : controleer de systeemreactie wanneer geldige testgegevens worden ingediend
  • Ongeldige gegevens : controleer de systeemreactie wanneer InValid-testgegevens worden ingediend
  • Ongeldig gegevensformaat : controleer de systeemreactie als testgegevens een ongeldig formaat hebben
  • Boundary Condition Dataset : test gegevens die voldoen aan randwaardevoorwaarden
  • Equivalentiepartitiegegevensset : test gegevens die uw equivalentiepartities kwalificeren.
  • Beslissingstabelgegevensset : testgegevens die uw teststrategie voor de beslissingstabel kwalificeren
  • State Transition Test Data Set : test gegevens die voldoen aan uw teststrategie voor statusovergangen
  • Gebruik casetestgegevens : testgegevens gesynchroniseerd met uw gebruiksscenario's.

Opmerking : Afhankelijk van de softwaretoepassing die u wilt testen, kunt u sommige of alle bovenstaande testgegevens maken

Geautomatiseerde tools voor het genereren van testgegevens

Om verschillende sets gegevens te genereren, kunt u een scala aan geautomatiseerde tools voor het genereren van testgegevens gebruiken. Hieronder staan ​​enkele voorbeelden van dergelijke tools:

DTM-testgegevensgenerator is een volledig aanpasbaar hulpprogramma dat gegevens, tabellen (weergaven, procedures enz.) Genereert voor databasetests (prestatietests, QA-tests, belastingtests of bruikbaarheidstests).
Datatect is een SQL-gegevensgenerator van Banner Software, genereert een verscheidenheid aan realistische testgegevens in ASCII-platte bestanden of genereert rechtstreeks testgegevens voor RDBMS, waaronder Oracle, Sybase, SQL Server en Informix.

Gevolgtrekking

Kortom, goed ontworpen testgegevens stellen u in staat om ernstige tekortkomingen in de functionaliteit te identificeren en te corrigeren. De keuze van de geselecteerde testgegevens moet opnieuw worden geëvalueerd in elke fase van een meerfasige productontwikkelingscyclus. Houd het dus altijd in de gaten.