test data management concept
I den senaste handledningen fokuserade vi på hur man förbereder testbädd för att minimera testmiljöfel . I fortsättning med samma handledning lär vi oss idag hur man ställer in och underhåller testmiljön och viktigtTesta datahanteringtekniker.
Testmiljöns installationsprocess
Den viktigaste faktorn för testmiljön är att replikera den så nära slutanvändarmiljön som möjligt. Vanligtvis förväntas slutanvändare inte utföra någon konfiguration eller installationer själva eftersom en komplett produkt eller ett system levereras till dem. Därför av den definitionen behöver inte ens testteam uttryckligen utföra sådana konfigurationer.
Om sådana konfigurationer är nödvändiga för rent teständamål (men kommer att konfigureras för slutanvändare) måste administratörer identifieras. De administratörer som konfigurerar utvecklingsmiljön måste vara samma personer som konfigurerar testmiljön.
Om utvecklingsteamet själv tar initiativ till installation / konfiguration måste de hjälpa till att göra detsamma även i testmiljön.
Till exempel, om du måste testa ett program (med tillhörande mellanprogramvara som ska installeras och konfigureras) på ett system på olika OS-plattformar etc. - det bästa sättet att ta itu med detta är att använda virtualisering eller molnmiljöer .
Ha ett huvudsystem där alla applikationer och mellanliggande programvara är korrekt installerade och konfigurerade. Gör sedan detta system till en huvudbild genom att fånga det och klona flera instanser från samma bild så att varje användare känner att han har ett dedikerat system med applikationen som testas.
Här nedan är en bildskildring av vad en testmiljöprocess skulle innebära:
Testmiljöns installationsprocess
Vad du kommer att lära dig:
Underhåll av en testmiljö
Så mycket sagt om testmiljöförberedelserna om än utmaningarna, detta är utan tvekan mer än en grund för att kräva underhåll eller standardisera testmiljön. Många gånger tappar en testare testtid på grund av miljö- eller installationsproblem.
Med en snabb ökning av operativsystemen och utbudet av hårdvara och programvara måste miljön vara nästan dynamisk för att klara behoven. Testteam kan se till att de levererar en högkvalitativ produkt med en bra testhanteringsprocess och detta skulle hjälpa till att ha optimal användning av resurser som är begränsat tillgängliga.
Viktiga tips för att säkerställa ett effektivt underhåll av testmiljön
Som testmiljöer innehåller de flesta gånger heterogena plattformar och staplar. Nedan följer några viktiga tips för att säkerställa ett effektivt underhåll av testmiljön.
# 1) Effektiv miljödelning och distribution:
Som redan nämnts tidigare är en av de viktigaste utmaningarna med förberedelserna för testmiljön att många team eller människor behöver använda samma uppsättning resurser för sina teständamål. Därför måste en lämplig delningsmekanism utvecklas som tillgodoser behoven hos alla lag och människor utan att försena scheman.
Detta kan uppnås genom att upprätthålla en databas eller informationslänk där all information om:
- vem använder miljön,
- när miljön är fri att använda och
- hur fördelningen av miljöanvändningstiden anges korrekt.
Genom att proaktivt avgöra var resursbehovet är stort kontra den begränsade tillgängligheten till dem blir en stor mängd kaos automatiskt ogiltig.
Den andra aspekten av detta är att se över lagens resurskrav för var och en testcykel och leta efter vilka resurser som inte används särskilt mycket. Analysera om just dessa resurser kan ersättas med några nya resurser eller system som kan behövas.
# 2) Sanitetskontroller:
Vissa testkrav kräver en omfattande testinstallation eller installation som innefattar detaljerade steg som är extremt tid att konsumera. Detta är särskilt fallet under testning från slut till slut som involverar två eller flera komponenter för att arbeta tillsammans. Därför kan samma testmiljö behöva återanvändas av flera team.
I sådana fall kommer att ha en god förståelse för hela miljön som helhet och sammanställa vilken typ av tester som utförs av olika team, att rita en rimlig bild för att ge dessa specifika resurser till respektive team.
Med tanke på ovanstående faktorer - grundläggande sanitetstest kan utföras som hjälper till att påskynda testerna för enskilda team eller omedelbart larma dem om miljön måste genomgå några ändringar eller korrigeringar till följd av dessa sanityskontroller.
# 3) Att hålla reda på eventuella avbrott:
Precis som varje team som äger en testmiljö har sina, har en organisation alla möjliga testmiljöer som upprätthålls av ett globalt supportteam.
Precis som lag som äger sin testmiljö har sin egen lokala driftstopp i händelse av firmware / programvaruuppgraderingar, måste de globala teamen också se till att alla miljöer följer de senaste standarderna som kan innebära antingen ström- eller nätavbrott.
Därför måste de som upprätthåller testmiljön hålla ett öga på alla sådana avbrott som kan hända och informera testteamet i förväg om att planera sitt arbete därefter.
# 4) Virtualisera när det är möjligt:
Detta är återigen mycket relevant där testning måste göras för att dela miljön och det finns ett stort behov av optimering av resurser. I sådana tider är svaret att använda en virtualiserad miljö som ett moln för teständamål.
När du använder en sådan miljö, behöver alla testare göra, är att tillhandahålla en omedelbar och den här instansen, när den är klar, kommer att bilda en oberoende testbädd eller testmiljö som innehåller alla de olika resurserna som ett dedikerat operativsystem, databas, mellanprogram, automatiseringsramar etc. krävs för testningen.
När testet är slutfört kan dessa instanser förstöras och därigenom minska kostnaderna för en organisation. Molnmiljöer är särskilt användbara för testning av funktionella verifieringar, områden för automatiseringstest.
# 5) Regressionstest / automatisering:
gratis registret renare nedladdning för Windows 10
När och när nya funktioner och funktioner utvecklas, regressionstest måste utföras för dessa funktioner för varje släppcykel. Därför, även om testmiljöerna för regressionstest på baksidan verkar köras på samma testinställningar med samma data, i verkligheten utvecklas de ständigt varje release i enlighet med de funktioner som implementeras också.
Varje produktutgivningscykel skulle ha en eller flera omgångar med regressionstest. Att skapa regressionstestmiljöer för varje produktutgivningscykel och återanvända dem inom cykeln skulle definitivt skildra testmiljöns stabilitet.
Att utveckla automatiseringsramar och använda automatisering för regressiva tester hjälper också till att förbättra effektiviteten i en testmiljö eftersom automatisering kommer att anta att miljön är stabil och de defekter som härrör från är rent funktions- / kodorienterade.
# 6) Allmän styrning:
När det finns några problem med hårdvaran eller programvaran för testmiljön måste dessa frågor riktas till rätt personer för att säkerställa korrigeringar om de inte kan åtgärdas internt av de som underhåller labbet.
Till exempel, Om någon testning härrör från en defekt som består av en begränsning av den fasta programvaran eller programvaran som används i den nuvarande miljön, kan detta vanligtvis inte åtgärdas enbart av de ansvariga för miljöunderhållet.
Därför måste konsumenten (som är testaren i det här fallet) uppmanas att ta upp lämpliga serviceförfrågningar. Dessa måste riktas till lämplig leverantör eller team och samordning måste göras regelbundet med dem för att säkerställa att nästa version har åtgärdat det specifika problemet.
En annan aspekt av styrning skulle vara att tillhandahålla detaljerade miljörapporter till ledningen eller intressenter från tid till annan, vilket hjälper till att ge upphov till transparens och utgör en bra grund för all analys.
Förberedelse av testdata
Låt oss nu titta på den senare delen av a Testa skapande av säng - vilket innebär att testdata ställs in . Med en så stor del som sägs om testmiljön kan testmiljöns verkliga essens, dess robusthet och effektivitet mätas med testdata. Per definition är testdata vilken typ av inmatning som ges till programvarukoden som testas.
Även om vi lägger mycket tid på att utforma testfall är anledningen till att testdata är viktiga eftersom det säkerställer fullständig testtäckning för alla typer av scenarier och därigenom förbättrar kvaliteten. Det kan finnas några testdata som behövs för alla lyckliga eller positiva banprovningar.
Vissa andra data kan utformas för fel- eller negativtestning, vilket är till stor hjälp för att upptäcka hur applikationen fungerar när den placeras i onormala situationer.
Testdata skapas vanligtvis innan texten körs eftersom varje testmiljö har sin egen uppsättning komplexitet eller att förbereda själva data kan vara en långvarig process. Så i allmänhet kan testdatakällorna vara det interna utvecklingsteamet eller slutanvändarna som konsumerar koden eller funktionen.
Till exempel,Funktionstestning
Låt oss ta ett exempel där du behöver utföra funktionstestning eller svartboxtestning. Här är målet att koden måste fungera för att uppfylla de krav som anges.
Så i sådana fall - beredning av testfall bör i allmänhet täcka följande typer av data:
- Positiva sökdata: Med utvecklingsanvändningsdokumentet som referens är detta de data som i allmänhet är synkroniserade med att utföra de positiva sökscenarierna.
- Negativ sökdata: Detta är data som i allmänhet anses vara 'ogiltiga' med avseende på korrekt funktion av koden.
- Nulldata: Levererar inga data när applikationen eller koden förväntar sig dessa data.
- Felaktiga data: Fastställa kodens prestanda när data levereras i ett olagligt format.
- Uppgifter om gränsvillkor: Testdata som levereras från index eller array för att avgöra hur koden fungerar.
Testdata spelar en nyckelroll för att identifiera var en produkt eller funktion helt kan gå sönder. Ha alltid en praxis att polla och validera vilken typ av data som matas till testmiljön i olika testfaser.
Testa datahantering
När testdata spelar en så viktig roll för att säkerställa produktens kvalitet är det rimligt att säga att dess hantering och effektivisering också spelar en lika viktig roll i kvalitetssäkring av alla produkter som måste släppas till kunderna.
Behov av testdatahantering och bästa praxis:
# 1) Ett stort antal organisationer har det snabbt föränderliga affärsmål för att tillgodose slutanvändarens behov och därför är det onödigt att nämna att lämpliga testdata är avgörande för att bestämma kvaliteten på testningen. Detta kommer att innebära att du ställer in den exakta typen av data för respektive testmiljöer och övervakar beteendemönstren.
Som redan diskuterats spenderas en stor del av testteamets tid i planeringen av testdata och dess relaterade uppgifter. Många gånger tenderar test av eventuell funktionalitet att bli kraftigt hämmade på grund av att lämpliga testdata inte är tillgängliga, vilket utgör en kritisk utmaning med avseende på fullständig testtäckning.
#två) Ibland även för vissa testkrav testdata måste ständigt uppdateras . Detta orsakar i sig mycket förseningar i cykeln på grund av konstant omarbetning vilket också ökar kostnaden för att applikationen når marknaden.
I vissa andra tider, om den produkt som levereras har inblandning i olika arbetsgruppenheter i en stor organisation, måste skapandet och uppdateringen av testdata kräva en invecklad nivå av samordning mellan dessa arbetsgrupper.
# 3) Även om testteamen behöver skapa alla typer av data som är möjliga för att säkerställa adekvat testning, måste organisationer också överväga att detta skulle innebära att alla olika typer av data måste lagras i någon form av ett förvar.
Även om det är bra praxis att ha ett förråd är lagring av överdriven och oönskade data skulle inte bara öka lagringsutrymmet avsevärt för att lagra dessa stora bitar av data utan också göra det alltmer utmanande att hämta lämplig data för testningen i fråga om det inte finns något versionskod och arkivering av detta arkiv.
De flesta av organisationerna står i allmänhet inför dessa vanliga utmaningar med avseende på testdata. Därför måste det finnas några ledningsstrategier som måste införas för att minimera graden av dessa utmaningar.
Nedan följer några föreslagna metoder för hantering av testdata och håller dem relevanta för testbehovet. Följande metoder är mycket grundläggande och generiska, vilket vanligtvis fungerar för de flesta organisationer. Hur det antas är enbart de olika organisationernas diskretion.
Testa datahanteringsstrategier
# 1) Analys av data
Generellt konstrueras testdata baserat på de testfall som ska utföras. Till exempel i ett systemtestteam, testscenario från slut till slut måste identifieras baserat på vilken testdata är utformade. Detta kan innebära att en eller flera applikationer fungerar.
Säg i en produkt som hanterar arbetsbelastning - det involverar hanteringskontrollapplikationen, mellanprogramvaran, databasapplikationerna för att fungera i samarbete med varandra. De erforderliga testdata för detsamma kan spridas. En noggrann analys av alla typer av data som kan krävas måste göras för att säkerställa effektiv hantering.
# 2) Datainställning för att spegla produktionsmiljön
Detta är i allmänhet en förlängning från föregående steg och gör det möjligt att förstå vad slutanvändaren eller produktionsscenariot kommer att bli och vilka data som krävs för samma. Använd den informationen och jämför den med de data som för närvarande finns i den aktuella testmiljön. Baserat på denna nya data kan det behövas skapas eller modifieras.
# 3) Bestämning av rengöring av testdata
Baserat på testkravet i den aktuella släppcykeln (där en släppcykel kan sträcka sig över lång tid) kan testdata behöva ändras eller skapas enligt vad som anges i ovanstående punkt. Dessa testdata, även om de inte är omedelbart relevanta, kan krävas vid ett senare tillfälle. Därför bör en tydlig process för att bedöma när testdata kan rensas formuleras.
# 4) Identifiera känslig data och skydda den
Många gånger för att korrekt testa applikationer kan det finnas en stor mängd mycket känsliga data som krävs. Till exempel, en molnbaserad testmiljö är ett populärt val eftersom det gör on-demand-testning av olika produkter.
Något så grundläggande som att garantera användarnas integritet i ett moln är dock en anledning till oro. Så speciellt i fall där vi måste replikera användarmiljön måste mekanismen för att skydda känsliga data identifieras. Mekanismen styrs till stor del av volymen på testdata som används.
# 5) Automation
Precis som vi använder automatisering för att köra repetitiva tester eller för att köra samma tester med olika typer av data, är det också möjligt att automatisera skapandet av testdata. Detta skulle hjälpa till att exponera eventuella fel som kan uppstå med avseende på data under testningen. Ett möjligt sätt att göra detta är genom att jämföra resultaten som produceras av en uppsättning data från på varandra följande testkörningar. Automatisera sedan denna jämförelseprocess.
# 6) Effektiv datauppdatering med hjälp av ett centralt arkiv
Detta är den absolut viktigaste metoden och utgör kärnan i implementeringen av datahantering. Alla de punkter som nämnts ovan, särskilt de med avseende på datainställning, datarensning är direkt eller indirekt relaterade till detta.
Mycket arbete med att skapa testdata kan sparas genom att underhålla ett centralt arkiv som innehåller alla typer av data som kan krävas för olika typer av test. Hur görs detta? I på varandra följande testcykler, för antingen ett nytt testfall eller modifierat testfall, kontrollera om data finns i förvaret. Om det inte finns, mata först data i testmiljön först.
Därefter kan detta dirigeras till detta arkiv för framtida referens. Nu för på varandra följande släppcykler kan testteamet använda alla eller en delmängd av dessa data. Är inte fördelen mycket uppenbar? Beroende på vilka datauppsättningar som ofta används kan föråldrade data enkelt elimineras och därmed säkerställa att korrekta data alltid finns, vilket minskar kostnaden för att lagra onödiga data.
För det andra kan du också spara ett par versioner av det här förvaret eller ändra det vid behov. Att ha olika versioner av förvaret kan hjälpa till i regressionstest för att identifiera vilken förändring i data som kan få koden att brytas.
Slutsats
Testmiljön bör vara av största vikt i varje testteam. Varje släppcykel kommer att medföra en mängd nya utmaningar att bekämpa med en opålitlig och oplanerad testmiljö.
Som en revolutionerande åtgärd sätter många organisationer nu in strategier som att bilda dedikerade team för testmiljöunderhåll som skapar vissa ramar för effektivt underhåll av testmiljöerna för att säkerställa mjukare frigöringscykler.
Förbättrad testning är bara en uppenbar effekt av effektivisering av testdatahantering. En viktig essens är att den garanterar en kostnadseffektiv lösning för organisationer utan att kompromissa med produktens tillförlitlighet.
Låt oss veta hur du hanterar din testmiljö och hur du förbereder testdata? Vill du lägga till några tips?
Rekommenderad läsning
- 14 bästa verktyg för testdatahantering 2021
- 10 bästa dataanalysverktyg för perfekt datahantering [2021 LIST]
- Testhantering: En ultimat guide för testhantering
- Vad är testdata? Testdata Beredningstekniker med exempel
- Data Pool Feature i IBM Rational Quality Manager för testdatahantering
- Selen Framework Creation and Accessing Test Data from Excel - Selenium Tutorial # 21
- Testdata generering med GEDIS Studio Online Tool (Del-2)