Som testare kanske du tror att "Att utforma testfall är utmanande nog, varför bry sig om något så trivialt som testdata". Syftet med denna handledning är att presentera dig för testdata, dess betydelse och ge praktiska tips och tricks för att snabbt generera testdata. Så, låt oss börja!
Vad är testdata vid programvarutestning?
Testdata i programvarutestning är den ingång som ges till ett program under testkörningen. Det representerar data som påverkar eller påverkas av programkörning under testning. Testdata används för både positiva tester för att verifiera att funktioner ger förväntade resultat för givna ingångar och för negativ testning för att testa programvarans förmåga att hantera ovanliga, exceptionella eller oväntade ingångar.
Dåligt utformade testdata kanske inte testar alla möjliga testscenarier som kommer att hämma programvarans kvalitet.
Vad är generering av testdata? Varför ska testdata skapas innan testkörningen utförs?
Alla vet att testning är en process som producerar och konsumerar stora mängder data. Data som används vid testning beskriver de ursprungliga förhållandena för ett test och representerar mediet genom vilket testaren påverkar programvaran. Det är en viktig del av de flesta funktionella tester.
Beroende på din testmiljö kan du behöva SKAPA testdata (oftast) eller åtminstone identifiera lämpliga testdata för dina testfall (om testdata redan är skapade).
Testdata skapas vanligtvis synkroniserat med testfallet som det är avsett att användas till.
Testdata kan genereras -
- Manuellt
- Masskopia av data från produktion till testmiljö
- Masskopia av testdata från äldre klientsystem
- Automatiserade verktyg för generering av testdata
Exempeldata ska normalt genereras innan du kör testet eftersom det annars är svårt att hantera testdatahantering. Eftersom det i många testmiljöer skapas testdata tar flera försteg eller mycket tidskrävande testmiljökonfigurationer. . Även om generering av testdata görs medan du är i testkörningsfas kan du överskrida din testfrist.
Nedan beskrivs flera testtyper tillsammans med några förslag angående deras testdatabehov.
Testdata för White Box-testning
I White Box Testing kommer testdatahantering från direkt granskning av koden som ska testas. Testdata kan väljas genom att ta hänsyn till följande saker:
- Det är önskvärt att täcka så många grenar som möjligt; testdata kan genereras så att alla grenar i programkällkoden testas minst en gång
- Bantestning: alla banor i programkällkoden testas minst en gång - förberedelse av testdata kan göras för att täcka så många fall som möjligt
- Negativ API-testning:
- Testdata kan innehålla ogiltiga parametertyper som används för att anropa olika metoder
- Testdata kan bestå av ogiltiga kombinationer av argument som används för att anropa programmets metoder
Testdata för prestandatestning
Prestandatestning är den typ av testning som utförs för att avgöra hur snabbt systemet svarar under en viss arbetsbelastning. Målet med denna typ av testning är inte att hitta buggar utan att eliminera flaskhalsar. En viktig aspekt av Performance Testing är att uppsättningen samplade data som används måste vara mycket nära "riktiga" eller "live" data som används vid produktion. Följande fråga uppstår: 'Ok, det är bra att testa med riktiga data, men hur får jag dessa uppgifter?' Svaret är ganska enkelt: från de människor som vet bäst - kunderna . De kan kanske tillhandahålla viss information de redan har eller, om de inte har en befintlig uppsättning data, kan de hjälpa dig genom att ge feedback om hur verkliga data kan se ut. Om du befinner dig i enunderhållsprovningsprojekt kan du kopiera data från produktionsmiljön till testbädden. Det är en bra praxis att anonymisera (krypa) känslig kundinformation som personnummer, kreditkortsnummer, bankuppgifter etc. medan kopian görs.
Testdata för säkerhetstestning
Säkerhetstestning är den process som avgör om ett informationssystem skyddar data från skadlig avsikt. Uppsättningen data som behöver utformas för att fullt ut testa en mjukvarusäkerhet måste täcka följande ämnen:
- Konfidentialitet: All information som tillhandahålls av kunder hålls i strikt förtroende och delas inte med några externa parter. Om ett program använder SSL kan du som ett kort exempel designa en uppsättning testdata som verifierar att krypteringen är korrekt.
- Integritet: Bestäm att informationen från systemet är korrekt. För att utforma lämpliga testdata kan du börja med att fördjupa designen, koden, databaserna och filstrukturerna.
- Autentisering: Representerar processen för att fastställa identiteten för en användare. Testdata kan utformas som en annan kombination av användarnamn och lösenord och syftet är att kontrollera att endast behöriga personer har åtkomst till programvarusystemet.
- Behörighet: Berättar vilka rättigheter en specifik användare har. Testdata kan innehålla en annan kombination av användare, roller och operationer för att kontrollera att endast användare med tillräckliga behörigheter kan utföra en viss operation.
Testdata för Black Box-testning
I Black Box Testing är koden inte synlig för testaren. Dina funktionella testfall kan ha testdata som uppfyller följande kriterier -
- Inga data : Kontrollera systemets svar när inga data skickas
- Giltiga data : Kontrollera systemets svar när giltiga testdata skickas in
- Ogiltiga data : Kontrollera systemsvaret när InValid-testdata skickas
- Olagligt dataformat : Kontrollera systemets svar när testdata är i ogiltigt format
- Datamängd för gränsvillkor : testdata som uppfyller villkoren för gränsvärdet
- Equivalence Partition Data Set : Testdata som kvalificerar dina ekvivalenspartitioner.
- Beslutsuppgiftsuppsättning : Testdata som kvalificerar din testteststrategi för beslutstabellen
- Testdatauppsättning för statlig övergång : testdata som uppfyller din teststrategi för statlig övergång
- Use Case Test Data : Testdata synkroniseras med dina användningsfall.
Obs! Beroende på vilken programvara som ska testas kan du använda en del eller alla ovanstående testdata
Automatiserade verktyg för generering av testdata
För att generera olika datauppsättningar kan du använda en mängd automatiserade verktyg för generering av testdata. Nedan följer några exempel på sådana verktyg:
DTM Test Data generator, är ett helt anpassningsbart verktyg som genererar data, tabeller (vyer, procedurer etc) för databas testning (prestanda testning, QA testning, belastning testning eller användbarhet testning) syften.
Datatect är en SQL-datagenerator av Banner Software, genererar en mängd realistiska testdata i ASCII-platta filer eller genererar direkt testdata för RDBMS inklusive Oracle, Sybase, SQL Server och Informix.
Slutsats
Sammanfattningsvis kan väldesignade testdata identifiera och korrigera allvarliga brister i funktionaliteten. Valet av testdata som valts måste omvärderas i varje fas i en flerfas produktutvecklingscykel. Så håll alltid ett öga på det.