Vad är testdata i mjukvarutestning?
Som testare kanske du tycker att "Att designa testfall är tillräckligt utmanande, varför bry dig om något så trivialt som testdata". Syftet med denna handledning är att introducera dig till testdata, dess betydelse och ge praktiska tips och tricks för att snabbt generera testdata. Så, låt oss börja!
Vad är testdata i mjukvarutestning?
Testdata i mjukvarutestning är indata som ges till ett program under testkörning. Det representerar data som påverkar eller påverkas av programvarukörning under testning. Testdata används för både positiv testning för att verifiera att funktioner ger förväntade resultat för givna ingångar och för negativa tester för att testa mjukvarans förmåga att hantera ovanliga, exceptionella eller oväntade indata.
Dåligt utformade testdata kanske inte testar alla möjliga testscenarier, vilket kommer att försämra kvaliteten på programvaran.
Vad är testdatagenerering? Varför ska testdata skapas innan testkörning?
Alla vet att testning är en process som producerar och förbrukar stora mängder data. Data som används vid testning beskriver de initiala förutsättningarna för ett test och representerar det medium genom vilket testaren påverkar programvaran. Det är en avgörande del av de flesta Funktionella tester.
Beroende på din testmiljö kan du behöva SKAPA testdata (för det mesta) eller åtminstone identifiera lämpliga testdata för dina testfall (är testdatan redan skapad).
Vanligtvis skapas testdata synkroniserat med testfall den är avsedd att användas för.
Testdata kan genereras –
- Manuellt
- Masskopiering av data från produktion till testmiljö
- Masskopia av testdata från äldre klientsystem
- Automatiserade verktyg för generering av testdata
Vanligtvis bör exempeldata genereras innan du börjar testkörningen eftersom det är svårt att hantera testdatahantering annars. Sedan i många testmiljöer att skapa testdata kräver flera försteg eller mycket tidskrävande testmiljökonfigurationer. . Även om generering av testdata är klar medan du är i testkörningsfasen kan du överskrida din testtid.
Nedan beskrivs flera testtyper tillsammans med några förslag angående deras behov av testdata.
Testdata för vit Box Testning
In White Box Testning, testdata Hanteringen härrör 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 programmets källkod testas minst en gång
- Sökvägstestning: alla sökvägar i programmets källkod testas minst en gång – testdataförberedelser 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
Prestandatester är den typ av testning som utförs för att fastställa 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 prestandatestning är att uppsättningen av exempeldata som används måste ligga mycket nära "riktigt" eller "live" data som används vid produktionen. Följande fråga uppstår: "Ok, det är bra att testa med riktiga data, men hur får jag tag i dessa data?" Svaret är ganska enkelt: från de människor som vet bäst – kunderna. De kanske kan tillhandahålla vissa data de redan har eller, om de inte har en befintlig uppsättning data, kan de hjälpa dig genom att ge feedback om hur den verkliga datan kan se ut. Om du är i en underhållsprovning projekt kan du kopiera data från produktionsmiljön till testbädden. Det är en bra praxis att anonymisera (krydda) känslig kunddata som personnummer, kreditkort Numbers, 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 skadliga avsikter. Uppsättningen av data som måste utformas för att fullständigt testa en mjukvarusäkerhet måste täcka följande ämnen:
- Sekretess: All information som tillhandahålls av kunder hålls strikt konfidentiell och delas inte med någon extern part. Som ett kort exempel, om en applikation använder SSL, kan du designa en uppsättning testdata som verifierar att krypteringen görs korrekt.
- Integrity: Kontrollera att informationen från systemet är korrekt. För att designa lämpliga testdata kan du börja med att ta en djupgående titt på design, kod, databaser och filstrukturer.
- Authentication: Representerar processen för att fastställa en användares identitet. Testdata kan utformas som en annan kombination av användarnamn och lösenord och dess syfte är att kontrollera att endast behöriga personer har tillgång till mjukvarusystemet.
- Tillstånd: Berättar vilka rättigheter en specifik användare har. Testdata kan innehålla en annan kombination av användare, roller och verksamhet för att kontrollera kan endast användare med tillräckliga privilegier utföra en viss operation.
Testdata för svart Box Testning
I svart Box Att testa koden är inte synligt för testaren. Dina funktionella testfall kan ha testdata som uppfyller följande kriterier –
- Inga data: Kontrollera systemets svar när ingen data skickas
- Giltig data: Kontrollera systemets svar när giltiga testdata skickas
- Ogiltiga data: Kontrollera systemets svar när Ogiltig testdata lämnas in
- Olagligt dataformat: Kontrollera systemets svar när testdata är i ett ogiltigt format
- Datauppsättning gränsvillkor: Testdata som uppfyller gränsvärdesvillkor
- Ekvivalenspartitionsdatauppsättning: Testdata som kvalificerar dina ekvivalenspartitioner.
- Datauppsättning för beslutstabell: Testdata som kvalificerar din teststrategi för beslutstabell
- State Transition Test Data Set: Testa data som uppfyller din teststrategi för tillståndsövergång
- Använd Case Test Data: Testdata synkroniseras med dina användningsfall.
Anmärkningar: Beroende på vilket program som ska testas kan du använda en del av eller alla ovanstående testdata
Automatiserade verktyg för generering av testdata
För att generera olika uppsättningar data kan du använda ett spektrum av automatiska testdatagenereringsverktyg. Nedan följer några exempel på sådana verktyg:
DTM Testa datagenerator, är ett helt anpassningsbart verktyg som genererar data, tabeller (vyer, procedurer etc) för databastestning (prestandatestning, QA-testning, belastningstestning eller användbarhetstestning).
Datatect är en SQL datagenerator från Banner Software, genererar en mängd realistiska testdata i platta ASCII-filer eller genererar direkt testdata för RDBMS inklusive Oracle, Sybase, SQL Server och Informix.
Slutsats
Sammanfattningsvis låter väldesignade testdata dig identifiera och korrigera allvarliga brister i funktionalitet. Valet av valda testdata måste omvärderas i varje fas av en flerfas produktutvecklingscykel. Så håll alltid ett öga på det. För att underlätta denna process, med hjälp av effektiva testa verktyg för datagenerering skulle kunna effektivisera ditt arbetsflöde avsevärt.