Vad är testdata i mjukvarutestning?
⚡ Smart sammanfattning
Testdata inom mjukvarutestning är den indata som matas in i en applikation under testkörning. Väl utformade data driver positiva, negativa, prestanda- och säkerhetskontroller, så de måste genereras, anonymiseras och uppdateras under hela produktens livscykel.

Som testare kanske du tycker att det är tillräckligt utmanande att designa testfall – så varför bry sig om något så rutinmässigt som testdata? Den här handledningen introducerar testdata, förklarar varför det är viktigt och delar praktiska tips för att generera det snabbt.
Vad är testdata i mjukvarutestning?
Testdata i mjukvarutestning är den indata som ges till ett program under testkörning. Den representerar data som antingen påverkar eller påverkas av programvaran under testning. Testdata används vid positiv testning – för att verifiera att funktioner producerar förväntade resultat för givna indata – och vid negativ testning för att kontrollera hur programvaran hanterar ovanliga, exceptionella eller ogiltiga indata.
Dåligt utformade testdata täcker inte alla möjliga scenarier, vilket direkt hämmar programvarukvaliteten.
Vad är generering av testdata och varför bör testdata skapas innan testkörning?
Testning är en process som producerar och förbrukar stora mängder data. Data som används vid testning beskriver de initiala villkoren för ett test och är det medium genom vilket testaren interagerar med programvaran. Det är därför en avgörande del av de flesta funktionstester.
Beroende på din testmiljö kan du behöva skapa testa data från grunden, eller åtminstone identifiera en lämplig befintlig datauppsättning för din testfallTestdata skapas vanligtvis synkroniserat med det testfall den stöder.
Testdata kan genereras på fyra vanliga sätt:
- Manuellt, av en testare eller affärsanalytiker.
- Masskopiering av data från en produktionsmiljö till testmiljön.
- Masskopiering av testdata från äldre klientsystem.
- Automatiserade verktyg för generering av testdata.
Exempeldata bör genereras innan Testkörningen börjar, eftersom det är svårt att hantera att skapa den senare. Många testmiljöer kräver flera försteg eller tidskrävande konfiguration innan data kan laddas. Om datagenerering sker under körningsfasen riskerar du att missa testdeadline.
I avsnitten nedan beskrivs flera testtyper tillsammans med förslag på deras testdatabehov.
Testdata för vit Box Testning
In Vit Box Testning, testdatahantering härleds från direkt granskning av den kod som testas. Urvalskriterierna inkluderar vanligtvis:
- Filialens täckning: generera data så att varje gren i källkoden testas minst en gång.
- Bantestning: hantverksdata så att varje sökväg utförs minst en gång.
- Negativ API-testning: använd ogiltiga parametertyper eller ogiltiga argumentkombinationer för att anropa interna metoder.
Testdata för prestandatestning
Prestandatester mäter hur snabbt ett system svarar under en viss arbetsbelastning. Målet är inte att hitta funktionella buggar utan att identifiera flaskhalsar. Exempeldatasetet måste vara mycket nära verkligt eller levande produktionsdata för att resultaten ska vara meningsfulla.
Hur får man tag i sådan information? Den mest tillförlitliga källan är kunder själva. De kan antingen tillhandahålla en befintlig datamängd eller beskriva hur verkliga data ser ut så att du kan modellera den. I en underhållsprovning projektet kan du kopiera data från produktionen till testbädden. Det är en bra vana att anonymisera (förvränga) känsliga fält — personnummer, kreditkortsnummer, bankuppgifter — innan någon kopia görs.
Testdata för säkerhetstestning
Säkerhetstestning verifierar att ett informationssystem skyddar data från skadliga avsikter. Dataset måste omfatta fyra pelare:
- Sekretess: Information från klienter behandlas strikt konfidentiellt och delas inte med externa parter. Om applikationen använder SSL, utforma data som bevisar att krypteringen är korrekt.
- Integrity: Informationen som returneras av systemet är korrekt. Bygg data genom att granska design, kod, databasscheman och filstrukturer.
- Authentication: processen för att fastställa användaridentitet. Använd olika kombinationer av användarnamn och lösenord för att verifiera att endast behöriga personer får åtkomst.
- Tillstånd: de rättigheter som beviljats en specifik användare. Kombinera användare, roller och åtgärder för att bekräfta att endast användare med tillräckliga behörigheter kan utföra en viss åtgärd.
Testdata för svart Box Testning
I svart Box Testningen av koden är inte synlig för testaren. Funktionella testfall bör innehålla data som uppfyller följande kriterier:
- Inga uppgifter: kontrollera svaret när ingenting har skickats in.
- Giltiga uppgifter: kontrollera svaret med korrekta testdata.
- Ogiltig data: kontrollera svaret med felaktiga testdata.
- Ogiltigt dataformat: kontrollera svaret när data är i ett format som inte stöds.
- Randvillkorsdataset: data som sitter på minimum-, maximum- och strax utanför gränsvärden.
- Ekvivalenspartitiondataset: data som representerar varje ekvivalensklass.
- Beslutstabelldataset: data som utövar varje regel i en beslutstabell.
- Dataset för tillståndsövergång: data som driver systemet genom varje definierad tillståndsövergång.
- Användningsfallstestdata: data i linje med användningsfall från hela processen.
Obs: Beroende på vilken applikation som testas kan du använda några eller alla av ovanstående kategorier.
Automatiserade verktyg för generering av testdata
Automatiserade verktyg genererar stora, varierade datamängder snabbare än någon manuell process. Två etablerade exempel är:
- DTM-testdata Generator — ett anpassningsbart verktyg som producerar data, tabeller, vyer och procedurer för databastestningsscenarier inklusive prestanda, kvalitetssäkring, belastning och användbarhet.
- Datatect - en SQL datagenerator från Banner Software som skapar realistiska testdata i ASCII-plattfiler eller direkt i RDBMS-system som Oracle, Sybase, SQL Server och Informix.
För en utvärderad, aktuell lista över utvalda, se 10 bästa testdata Generator Verktyg.
Bästa praxis för hantering av testdata
Tillförlitliga testdata är beroende av disciplinerad hushållerskapingFölj dessa metoder för att hålla datamängderna felfria mellan olika utgåvor:
- Versionera dina data: lagra datamängder i ett arkiv tillsammans med de testfall som förbrukar dem så att ändringar är granskningsbara.
- Maskkänsliga fält: anonymisera personliga, ekonomiska och hälsorelaterade data innan de kopieras från produktionssystemet.
- Uppdatera regelbundet: återuppbygga datauppsättningar varje utgåva för att hålla jämna steg med schema- och affärsreglerändringar.
- Dokumentera förväntade resultat: para ihop varje dataset med det förväntade resultatet så att fel blir enkla att prioritera.
- Automatisera sådd: Använd skript eller fixturer för att ladda data i början av varje testkörning, vilket säkerställer repeterbarhet.

