Programvaruutvecklingscykeln är fylld av utmaningar, eftersom organisationer inte bara ställs inför en kortare tid för att komma ut på marknaden utan också en ökad komplexitet i programmen. För att säkerställa att applikationer förblir stabila och funktionella, från den första utvecklingen till produktlanseringen och därefter, måste organisationer använda en mängd olika testtyper.
När utvecklingen blir alltmer komplex, ökar naturligtvis också testningen. En viktig komponent i varje framgångsrikt testscenario är testdatahantering (TDM). Det gör det möjligt för företag att effektivisera, automatisera och kontrollera alla testtyper som används samtidigt som kostnaderna minskar och testkvaliteten ökar.
Vad är testdatahantering (TDM) i programvarutestning?
Testdatahantering är processen för att skapa, hantera, implementera och leverera testdata. Traditionellt har testning av programvaruutveckling skett i decentraliserade silos, men TDM konsoliderar testning under ett enda team, en grupp eller en avdelning.
Testdatahanteringstjänster samlar in de data som behövs för automatiserade programvarutester, inklusive data från enhets-, integrations- och systemtester. Det innebär att man skaffar och lagrar lämpliga och korrekta uppgifter som krävs för automatiserade tester, vilket minskar eller eliminerar behovet av mänsklig inblandning i testprocessen (ett koncept som liknar
Automatisering av robotiserade processer
).
I takt med att TDM har blivit alltmer populärt har det utvidgats till att omfatta syntetisk datagenerering, datamaskning, subsetting, artificiell intelligens med mera.
I slutändan ökar hanteringen av testdata tillförlitligheten och kvaliteten på den färdiga mjukvaruprodukten, vilket resulterar i en överlägsen slutanvändarupplevelse. TDM:s aspekt av dataförvrängning hjälper organisationer att följa alla tillämpliga lagar och förordningar om dataskydd.
Vem använder testdatahantering (TDM) i programvarutestning?
Svaret ”alla” kan låta förenklat och brett, men sanningen är den att tekniker för hantering av testdata gynnar alla typer av programvarutillämpningar. Om testningen sker under utvecklingscykeln (vilket den bör göra) ökar TDM-processerna resultatens noggrannhet, organisation och användbarhet.
Eftersom all mjukvaruutveckling kräver testning, kommer TDM att gynna i princip alla projekt. Det är dock så att vissa organisationer och tillämpningar praktiskt taget kräver användning av en strategi för hantering av testdata.
Applikationer på företagsnivå kräver TDM på grund av deras komplexa och mångfacetterade testbehov. TDM är till nytta för alla viktiga testområden som finns inom företagsutveckling, inklusive funktionell och icke-funktionell testning, prestandatester och automatiseringstestning.
Dessutom gör TDM:s fördunklingsprocesser att det är viktigt att använda den för tillämpningar som innehåller personliga eller känsliga uppgifter, t.ex. webbplatser eller tillämpningar som är kopplade till e-handel, finans och hälsovård.
Vilka typer av testning används datahantering för?
Datahanteringen är inriktad på tre breda testkategorier.
1. TDM för prestandatestning
Prestandatestning mäter en applikations prestanda under förväntad arbetsbelastning och bedömer dess reaktionsförmåga, stabilitet och skalbarhet. Med TDM kan du fokusera testerna på infrastruktur och användarvänliga element för att uppnå snabb och tillförlitlig prestanda.
bästa verktygen för testhantering hjälper till att öka antalet uppdateringscykler och generera stora mängder data.
2. TDM för funktionstestning
Medan prestandatestning analyserar applikationens hastighet och stabilitet, fastställer funktionell testning om programvaran fungerar enligt förutbestämda krav. I huvudsak: Gör programvaran vad den ska? Tjänster för hantering av testdata hjälper till att upprätthålla kvalitetskontrollen av kärnprogrammet samt nya och uppgraderade funktioner.
TDM hjälper till att lindra eller förhindra låg täckning, begränsningar i tillgången, långa tidslinjer för dataanskaffning, stort beroende och problem som rör testmiljöns storlek.
3. TDM i automatiseringstestning
Strategi för testdata för automatisering och
hyperautomatisering
Processerna gör det möjligt att arbeta utan beröring samtidigt som de ökar noggrannheten genom att minska risken för mänskliga fel. Processer för hantering av testdata används i alla typer av automatiseringsverktyg för hantering av testdata och testning, inklusive
Automatisering av robotiserade processer
.
A strategi för testdata för automatisering hjälper till att lindra långsam skapande av data i front-end, bristande tillgång till dynamiska data och oförmåga att få tillgång till testmiljön.
Fördelar med hantering av testdata
TDM-strategier, tillsammans med verktyg för automatisering av hantering av testdatager många fördelar för organisationer på företagsnivå.
1. Förbättrar datakvaliteten
Alla tester i världen är fruktlösa om de bygger på ofullständiga, irrelevanta eller korrupta data. TDM identifierar, hanterar och lagrar de data som behövs för automatiserad testning, så att du kan se till att de är lämpliga och fullständiga. Dessutom minimeras, om inte elimineras, datakorruptionen genom att behovet av dataöverföring mellan flera testare upphör.
2. Utvecklar realistiska uppgifter
Testresultaten blir improduktiva om testdata inte motsvarar produktionsdata på ett korrekt sätt. TDM gör det möjligt för organisationer att identifiera och lagra testdata som speglar de data som finns på produktionsservrar, vilket säkerställer att testresultaten återspeglar verkliga programvarufunktioner. De kallas ”realistiska data” och liknar produktionsdata när det gäller format, kvantitet och andra faktorer.
3. Förbättrar tillgången till data
Automatiserad programvarutestning fungerar endast effektivt när data är tillgängliga vid förutbestämda tidpunkter. Till exempel kan testverktygen för datalageret behöva få tillgång till data vid vissa tidpunkter för autentisering. Eftersom TDM fokuserar på datalagring är lämpliga data alltid redo när det automatiserade testprogrammet och produktionstidtabellen kräver det.
4. Säkerställer att uppgifterna är förenliga
TDM hjälper organisationer att upprätthålla efterlevnaden av alla relevanta statliga och andra bestämmelser, t.ex.
HIPPA
,
CCPA
och EU:s
GDPR
. Hantering av testdata GDPR och andra liknande bestämmelser kräver produktionsdata som kan innehålla användarnamn, platsdata, personlig information med mera – data som måste maskeras innan testning kan ske.
bästa verktygen för hantering av testdata gör det möjligt för organisationer att automatiskt anonymisera data för både intern och extern användning för att säkerställa efterlevnad.
Utmaningar och fallgropar med hantering av testdata
Testdatahantering ger viktiga fördelar för programvaruutveckling på företagsnivå, men har också potentiella fallgropar. Genom att förstå utmaningarna med TDM kan organisationer förutse och minimera deras effekter.
1. Produktionskloning är långsam och dyr
För att få testdata hämtar de flesta organisationer data från produktionsservrar och anonymiserar dem. Det kan dock vara tidskrävande att samla in produktionsdata, särskilt sent i utvecklingsprocessen när det gäller stora mängder kod.
När du har klonat uppgifterna behöver du någonstans att lagra dem. Kostnader för infrastruktur och lagring kan snabbt bli höga. Du kan minska dessa kostnader genom att dela upp data. Istället för att klona alla produktionsdata kommer teamet att ta fram en mindre, representativ ”skiva” av data.
2. Förvrängningsrutiner ökar kostnaderna och komplexiteten.
Som tidigare beskrivits är användardata starkt reglerade, även för intern testning, och kräver anonymisering. Tyvärr medför dataförvrängningen att utvecklingsprocessen blir mer komplicerad och kostsam.
Även om snabbhet, noggrannhet och kostnadseffektivitet i fråga om obfuskering förbättras med automatiserade testverktyg finns det fortfarande en inlärningskurva för berörda grupper.
De främsta tecknen/orsakerna till att din organisation behöver testdatahantering
Även om all mjukvaruutveckling gynnas av testdatahantering prioriterar organisationer inte alltid implementeringen. Följande tecken tyder på att en organisation kommer att få omedelbara fördelar av att införa TDM:
- Datastorleken ökar ”över hela linjen”, inklusive ökningar av datamängder, totala datamängder, databasinstanser och uppströmsystem.
- En stor del av produktionstiden går åt till att förbereda data för testning.
- Produktionsdata överstiger vida mängden tillgängliga testdata.
- Applikationsfunktionerna är nu i drift med fel.
- Testteam är decentraliserade eller måste förlita sig på data från en central källa.
- Testteamen är överarbetade och kan inte hålla jämna steg med testbehoven.
- Uppströmsdata genererar den stora majoriteten av testdata.
- Testdata är inte återanvändbara eller lätta att kopiera.
Testdatahantering hjälper till att minska, korrigera och förebygga bland annat dessa problem.
Typer av data i programvarutestning
Programvarutillämpningar genererar otroliga mängder data under utvecklingen och efter lanseringen. process för hantering av testdata fokuserar vanligtvis på följande datatyper:
1. Produktionsuppgifter
Produktionsdata genereras av riktiga människor som använder din applikation. Beroende på storleken på din användarbas och applikationens komplexitet kan produktionsvolymen bli mycket stor mycket snabbt, vilket är anledningen till att den vanligtvis delas upp i delmängder baserade på testbehov.
Observera att produktionsdata ofta innehåller känslig information i förhållande till
frågor om efterlevnad
, t.ex. medicinska och finansiella uppgifter, som kräver fördunkling.
2. Syntetiska uppgifter
Syntetiska data skapas antingen manuellt eller med automatiserade testverktyg. Den simulerar verkliga användares beteende så nära som möjligt.
Även om syntetiska data inte behöver suddas ut har de en begränsad användbarhet. Den används främst för att testa nya funktioner.
Att skapa syntetiska data på ett korrekt sätt kräver en hög nivå av expertis, även om ett automatiserat verktyg för hantering av testdata gör det lättare.
3. Giltiga data
Giltiga data är den term som används för att beskriva data som produceras när inga oväntade fel eller incidenter inträffar. Uppgifternas format, värden och kvantitet överensstämmer med förväntningarna före testet. Giltiga data testar vad som kallas ”lycklig väg”, vilket innebär att användarens resa följer den förväntade vägen.
4. Ogiltiga uppgifter
Felaktiga uppgifter kommer från den ”olyckliga vägen”. Det är data från oväntade scenarier och fel. Ogiltiga data används också som en del av kaostestning, där man testar en applikations gränser under en flodvåg av dåliga data.
Vad är ”data av god kvalitet” för programvarutestning?
Att testa med ofullständiga eller irrelevanta uppgifter är ofta värre än att helt avstå från att testa, eftersom de slutsatser som dras och de åtgärder som vidtas därefter är felaktiga. Men hur identifierar organisationer ”bra” data för mjukvarutestning? Titta efter dessa tre egenskaper för datakvalitet:
1. Noggrannhet
Goda uppgifter speglar de verkliga förfarandena. Om du använder maskerade produktionsdata ska de vara direkt relaterade till det område du testar – det får inte vara ett slumpmässigt urval av användarnas beteende. Syntetiska data bör exakt likna verkliga användares beteende, inklusive deras oförutsägbara natur.
2. Validitet
Goda data motsvarar syftet med ditt testscenario. De flesta som handlar på nätet köper till exempel inte 200 exemplar av en enskild produkt, så omfattande tester av systemets beteende i det scenariot är en dålig resursanvändning. Du vill dock testa situationer där människor köper tio artiklar.
3. Undantag
Uppgifterna bör täcka frågor som sannolikt kommer att inträffa, men sällan. Ett scenario där en kund betalar för en vara med en kupongkod är ett vanligt exempel på ”undantagsdata” inom e-handeln.
Vilka frågor bör du ställa innan och när du planerar för hantering av datatestning?
Testningens framgång avgörs till stor del i planeringsfasen. Under de inledande faserna bör grupperna ställa följande frågor.
1. Vilka uppgifter behöver vi?
Att fastställa vilka uppgifter som behöver samlas in är en process i två delar. För det första måste den vara relaterad till testscenariot. Den måste också vara affärsrelevant för att hjälpa testningen att förbli kostnadseffektiv och ändamålsenlig.
2. Hur mycket data behöver vi?
För mycket data, till exempel att kopiera all produktionsdata, är dyrt, tidskrävande och komplicerar processen. Om urvalet däremot är för litet kommer resultaten att bli felaktiga.
3. När behöver vi uppgifterna?
Är testningen schemalagd eller ska uppgifterna vara tillgängliga på begäran? Grupperna bör samordna alla testscheman och uppdateringscykler innan testningen börjar.
4. Vilken typ av testning behövs?
Automatisering av programvarutestning kräver stabila och förutsägbara datamängder. Om de data som behövs för testet varierar avsevärt kan manuell testning ge bättre resultat.
Stegen i hanteringen av datatestning
Även om detaljerna varierar, följer programvaruutvecklare på företagsnivå i allmänhet följande steg när de implementerar en TDM-strategi.
1. Skapande av data – Tekniker för att skapa data för testning etc.
För att generera effektiva data måste du ta hänsyn till deras noggrannhet och relevans. Replikerar den realistiska scenarier? Dessutom måste du generera undantagsdata, som täcker scenarier som ligger utanför den typiska användaraktiviteten.
2. Förvrängning av data
Du måste maskera all produktionsdata för att hålla dig inom lagstadgad överensstämmelse. De vanligaste typerna av obfuskering är anagramming, kryptering, substitution och nulling. Manuell obfuskering är möjlig i begränsad omfattning, men för att maskera på företagsnivå krävs automatiserade verktyg.
3. Uppdelning av data
Att kopiera all produktionsdata är ofta ett slöseri med resurser och tid. Med dataskärning samlas en hanterbar uppsättning relevanta data in, vilket ökar testningens hastighet och kostnadseffektivitet.
4. Tillhandahållande av
Tillhandahållandet sker efter det att uppgifterna har erhållits och maskerats. Under tillhandahållandet flyttas data till testmiljön. Automatiserade verktyg ger möjlighet att lägga in testuppsättningar i testmiljöer med CI/CD-integration, med möjlighet till manuell justering.
5. Integrationer
Testdata från flera källor inom IT-ekosystemet måste integreras i CI/CD-pipeline (CI/CD-pipeline är den etablerade processen för kodändringar). För att uppnå integration krävs att alla datakanaler identifieras i ett tidigt skede.
6. Versionering
Genom att skapa versioner av testdata kan teamet upprepa testerna för att mäta resultaten. Dessutom gör versionerna det möjligt att övervaka exakta ändringar av testparametrarna.
Egenskaper och egenskaper för hantering av testdata
TDM anpassar sig till de ständigt föränderliga behoven i alla mjukvaruutvecklingsprojekt. Oavsett vilka anpassningar som krävs för en organisation kommer dock TDM-processen att uppvisa följande egenskaper:
1. Förbättrad datakvalitet och trovärdighet
TDM ökar noggrannheten och realismen i dina testdata så att de ger ett verkligt representativt urval av användarnas beteende. Alla processer leder i slutändan till ett mål: en tillförlitlig och stabil användarupplevelse.
2. Överensstämmelse med regelverket
Programvara för hantering av testdata säkerställer att alla produktionsdata är tillräckligt maskerade före testning, vilket gör att din organisation uppfyller alla sekretessbestämmelser. Genom att följa reglerna undviker du juridiska återverkningar, inklusive böter, och negativa PR-frågor.
3. Förbättrad produktkvalitet
Kvalitetssäkring är en tidskrävande och kostsam process – men den är också nödvändig för att lansera funktionella och användarvänliga applikationer. TDM-processer möjliggör snabbare felidentifiering, förbättrad säkerhet och mer mångsidig testning jämfört med den traditionella siloade metoden.
Hur man implementerar hantering av testdata
Din organisations mjukvaruprodukt kommer att diktera en mängd olika testspecifikationer, men den grundläggande implementeringen av koncept för hantering av testdata omfattar följande fem steg:
Steg 1: Planering
Börja med att bilda ett datatestteam som sedan fastställer krav och dokumentation för hantering av testdata och utvecklar en omfattande testplan.
Steg 2: Analys
Under analysfasen sammanställs datakraven i alla grupper. Säkerhetskopiering, lagring och liknande logistiska frågor genomförs också.
Steg 3: Design
Konstruktionsfasen är den sista planeringsfasen innan testningen påbörjas. Grupperna bör identifiera alla datakällor och samtidigt färdigställa planer för kommunikation, dokumentation och testverksamhet.
Steg 4: Bygg upp
Det är i byggskedet som ”gummit möter vägen”. Planerna genomförs. För det första maskeras uppgifterna. Därefter säkerhetskopieras data. Slutligen utförs testerna.
Steg 5: Underhåll
Efter genomförande av hantering av testdataFöretaget måste upprätthålla processerna under projektets hela livscykel. TDM-underhåll omfattar felsökning, uppgradering av befintliga testdata och tillägg av nya datatyper.
Strategier för hantering av testdata
Eftersom TDM berör så många olika delar av utvecklingsprocessen kan det snabbt bli komplicerat. Följande strategier gör det möjligt för dig att hålla fokus och kontinuerligt förfina din organisations Metod för hantering av testdata..
Strategi 1: Förbättra dataleveranserna
Sträva efter att konsekvent förkorta leveranstiden för testdata genom att använda följande metoder
tjänster för testning av programvara
som t.ex.
ZAPTEST
. Verktyg med DevOps-funktioner effektiviserar testningen med ett enkelt tillvägagångssätt.
Med ZAPTEST kan användarna välja sekventiell, slumpmässig eller unik testdata med automatiskt eller specifikt antal rader. De kan specificera dataintervall och riktlinjer för ”out of values”, vilket gör det möjligt att skapa realistiska datadrivna testscenarier för funktionella tester (UI och API), prestandatester och RPA.
Dessutom kan programvara för automatiserad testning ersätta IT-bokföringssystem med ett självbetjäningssystem för användare.
Strategi 2: Minska infrastrukturkostnaderna
Volymen testdata ökar under utvecklingen, vilket leder till ökad användning av infrastrukturresurser. TDM-verktyg kan hjälpa till att minimera infrastrukturkostnaderna genom datakonsolidering, arkivering och en process som kallas bookmarking, vilket gör att testmiljöutrymmet utnyttjas bättre.
Strategi 3: Förbättra datakvaliteten
Lösningar för hantering av testdata ökar kontinuerligt datakvaliteten genom att fokusera på tre nyckelelement: datans ålder, noggrannhet och storlek.
Hur man förbättrar hanteringen av testdata
TDM är inte en statisk process. Efter den första installationen vill du sträva efter ständiga förbättringar genom att följa följande bästa praxis för hantering av testdata.
1. Isolera uppgifter
Genom att köra tester i en kontrollerad miljö kan du isolera data för att bättre kunna jämföra förväntad och faktisk produktion. Att isolera data gör det också möjligt att testa parallellt.
2. Minimera lagringen av databasen
Om testdata lagras i databaser minskar den automatiska testningshastigheten samtidigt som det blir svårare att isolera data. Automatiserade verktyg och tekniker som dataskärning bidrar till att minska den mängd databaslagring som krävs.
3. Fokus på enhetstester
Följ de riktlinjer som fastställts av
pyramiden för testautomatisering
som rekommenderar att enhetstesterna utgör ungefär 50 % av alla tester. Enhetstester körs oberoende av externa data, kostar mycket mindre än andra testtyper och är relativt snabba att genomföra.
Hur man mäter hanteringen av testdata
Följande mätvärden ger viktig information om hur effektiva dina strategier för trafikförvaltning är.
1. Finns det tillräckligt med testdata?
Du kan mäta tillgängligheten till testdata genom att spåra den tid som går åt till att hantera data för testning. Om det inte finns tillräckligt med data, blir utvecklingstiden långsammare och utvecklarna känner sig begränsade.
2. Finns testdata tillgängliga för automatiserad testning?
Automatiserade testprocesser kräver data på begäran. Övervaka procentandelen tillgängliga datamängder, samt hur ofta de nås och hur ofta de uppdateras.
3. Begränsas de automatiserade testerna av testdata?
Hur många automatiserade tester kan du köra med dina nuvarande testdata? Om du behöver köra fler tester än vad dina data tillåter måste du samla in testdata oftare.
Det enklaste och mest exakta sättet att få dessa mätningar är med programvara för hantering av testdata.
Integritetsproblem och hur du förhindrar dem
Även om hanteringen av testdata ursprungligen var en metod för att samla in och analysera data har den med tiden blivit lika viktig för att förebygga olika sekretessproblem.
1. Dataförordning
TDM ser till att ditt företag fortsätter att följa CCPA, HIPAA, GDPR och alla andra relevanta bestämmelser om dataskydd. Om data inte maskeras på rätt sätt under testning kan det leda till betydande ekonomiska och även potentiellt straffrättsliga påföljder.
2. Konsumenternas reaktion
Dataintrång kan leda till betydande skador på ett företags image, eftersom användarna blir ovilliga att använda ett program som är känsligt för läckor. Implementering av testdatahantering bidrar till att skapa förtroende hos användarna genom att förhindra läckor och försäkra potentiella användare om att deras data kommer att hållas säkra.
Slutsats
Behovet av testning inom programvaruutveckling kommer bara att bli mer nödvändigt och mer komplext. För att effektivisera utvecklingsprocesserna och samtidigt upprätthålla kvalitetskontrollen måste företagsorganisationer använda programvara för hantering av testdata, särskilt testhanteringsverktyg som de som skapats av
ZAPTEST
.
bästa verktygen för hantering av testdata tillhandahåller omfattande, responsivt skapande och hantering av testdata, vilket möjliggör överlägsen programvara med större funktionalitet som levereras snabbare än någonsin tidigare.
Vanliga frågor
Här finns snabba svar på vanliga frågor om hantering av testdata i programvarutestning.
Vad är testdatahantering?
Testdatahantering är skapande, hantering och analys av data som behövs för automatiserade testverktyg för datalager. Processerna fokuserar på att identifiera högkvalitativa data som rör specifika testparametrar, maskera dem och leverera dem till lämpliga team.
Det bästa verktyg för hantering av testdata automatiserar många av processerna, t.ex. insamling, förvrängning och lagring av data.
Vad är testdata i programvarutestning?
En stor del av de data som används i programvarutestning är produktionsdata, som genereras av riktiga användare. På grund av sekretessbestämmelserna måste produktionsdata maskeras innan de används i testning.
Mjukvarutestningsdata kan också vara syntetiska, vilket innebär att de tillverkas på konstgjord väg för att replikera beteendet hos riktiga användare så exakt som möjligt. Det används ofta för att testa nya funktioner eller uppgraderingar innan de tas i bruk.