test data management concept
I den sidste vejledning fokuserede vi på hvordan man forbereder testbed for at minimere testmiljøfejl . I forlængelse af den samme vejledning lærer vi i dag hvordan man opsætter og vedligeholder testmiljø og vigtigtTest datastyringteknikker.
Test miljø opsætningsproces
Den vigtigste faktor for testmiljøet er at replikere det så tæt på slutbrugermiljøet som muligt. Normalt forventes slutbrugere ikke at udføre nogen konfiguration eller installationer alene, da et komplet produkt eller system sendes ud til dem. Derfor ved denne definition, selv testteamene behøver ikke eksplicit at udføre sådanne konfigurationer.
Hvis sådanne konfigurationer er nødvendige til rent testformål (men vil blive konfigureret til slutbrugere), skal administratorer identificeres. De administratorer, der konfigurerer udviklingsmiljøet, skal være de samme personer, der konfigurerer testmiljøet.
Hvis udviklingsteamet selv tager initiativ til installation / konfiguration, skal de hjælpe med at gøre det samme selv i testmiljøet.
For eksempel, hvis du skal teste en applikation (med tilhørende middleware, der skal installeres og konfigureres) på et system på tværs af forskellige OS-platforme osv. - den bedste måde at løse dette på er at bruge virtualisering eller Cloud-miljøer .
Har et mastersystem, hvor alle applikationer og nødvendig middleware er korrekt installeret og konfigureret. Gør derefter dette system til et hovedbillede ved at tage det og klon flere forekomster fra det samme billede, således at hver bruger har det som om han har et dedikeret system med applikationen under test.
Her nedenfor er en billedskildring af, hvad en testmiljøproces ville medføre:
Testmiljøopsætningsproces
Hvad du vil lære:
Vedligeholdelse af et testmiljø
Så meget sagt om testmiljøforberedelsen, omend udfordringerne, dette er uden tvivl mere end en grund til at nødvendiggøre vedligeholdelse eller standardisere testmiljøet. Mange gange mister en tester testtid på grund af miljø- eller installationsproblemer.
Med en hurtig stigning i operativsystemerne og rækkevidden af hardware og software skal miljøet være næsten dynamisk, for at imødekomme behovene. Testteam kan sikre, at de leverer et produkt af høj kvalitet med en god testhåndteringsproces, og dette vil hjælpe med at få den optimale brug af ressourcer, der er begrænset tilgængelige.
Nøglemarkører for at sikre effektiv vedligeholdelse af testmiljøet
Som testmiljøer indeholder de fleste gange heterogene platforme og stakke. Nedenfor er nogle vigtige punkter, der sikrer effektiv vedligeholdelse af testmiljøet.
# 1) Effektiv deling og distribution af miljøet:
Som allerede nævnt tidligere er en af de vigtigste udfordringer ved forberedelse af testmiljøet, at mange hold eller mennesker har brug for det samme sæt ressourcer til deres testformål. Derfor skal der udvikles en passende delingsmekanisme, der imødekommer behovene hos alle hold og mennesker uden at udsætte tidsplaner.
Dette kan opnås ved at opretholde et lager eller et informationslink, hvor alle data vedrørende:
- hvem bruger miljøet,
- når miljøet er frit at bruge og
- hvordan fordelingen af miljøforbrugstiden indtastes nøjagtigt.
Ved proaktivt at bestemme, hvor ressourcekravet er stort versus den begrænsede tilgængelighed af dem, annulleres en stor mængde kaos automatisk.
Det andet aspekt af dette er at revidere holdenes ressourcekrav til hver testcyklus og se efter hvilke ressourcer der ikke bruges meget tungt. Analyser, om de pågældende ressourcer kan erstattes med nye ressourcer eller systemer, der måtte være nødvendige.
# 2) Tilstandskontrol:
Nogle testkrav kræver en omfattende testopsætning eller opsætning, der involverer detaljerede trin, der er ekstremt tid til at forbruge. Dette er specifikt tilfældet under test til ende til slut der involverer to eller flere komponenter til at arbejde sammen. Derfor må det samme testmiljø muligvis genbruges af flere hold.
I sådanne tilfælde vil have en god forståelse af hele miljøet som helhed og sammenlægge, hvilken slags tests der udføres af forskellige hold, tegne et rimeligt billede for at hjælpe med at give disse specifikke ressourcer til de respektive hold.
I betragtning af ovenstående faktorer - der kan udføres grundlæggende sundhedstest, der hjælper med at fremskynde testene for de enkelte hold eller straks alarmere dem, hvis miljøet skal gennemgå nogle ændringer eller rettelser som et resultat af disse sundhedsundersøgelser.
# 3) Holde styr på eventuelle afbrydelser:
Ligesom hvert team, der ejer et testmiljø, har deres, har en organisation alle mulige testmiljøer, der opretholdes af et globalt supportteam.
Derudover, ligesom hold, der ejer deres testmiljø, har deres egen lokale nedetid i tilfælde af firmware / softwareopgraderinger, skal de globale teams også sikre, at alle miljøer overholder de nyeste standarder, som kan involvere enten strøm- eller netværksafbrydelser.
Derfor skal de, der opretholder testmiljøet, holde øje med sådanne afbrydelser, der måtte opstå, og informere testteamet på forhånd om at planlægge deres arbejde i overensstemmelse hermed.
# 4) Virtualiser hvor det er muligt:
Dette er igen meget relevant, hvor test skal udføres med deling af miljøet, og der er et stort behov for optimering af ressourcer. I sådanne tider er svaret at bruge et virtualiseret miljø såsom en sky til testformål.
Når du bruger et sådant miljø, skal alle testere gøre, det er at give et øjeblik, og denne forekomst, når den er klargjort, vil danne et uafhængigt testbed eller testmiljø, der indeholder alle de forskellige ressourcer, såsom et dedikeret operativsystem, database, middleware, automatiseringsrammer osv. krævet til testningen.
Når testen er afsluttet, kan disse tilfælde ødelægges og derved reducere omkostningerne for en organisation betydeligt. Cloud-miljøer er især nyttige til funktionelle verifikationstest, automatiseringstestområder.
# 5) Regressionstest / automatisering:
bedste program til overvågning af cpu temp
Når og når der udvikles nye funktioner og funktioner, regressionstest skal udføres for disse funktioner i hver frigivelsescyklus. Derfor, selvom testmiljøerne til regressionstest på bagsiden ser ud til at køre på den samme testopsætning med de samme data, i virkeligheden udvikler de konstant hver frigivelse i overensstemmelse med de funktioner, der også implementeres.
Hver produktudgivelsescyklus vil have en eller flere runder med regressionstest. Således ville etablering af regressionstestmiljøer for hver produktudgivelsescyklus og genanvendelse af dem inden for cyklussen helt klart skildre testmiljøets stabilitet.
Udvikling af automatiseringsrammer og anvendelse af automatisering til regressive tests hjælper også med at forbedre effektiviteten af et testmiljø, fordi automatisering antager, at miljøet er stabilt, og de defekter, der er opstået, er rent funktions- / kodeorienteret.
# 6) Generel regeringsførelse:
Når der er nogle problemer med testmiljøets hardware eller software, skal disse problemer rettes til de rigtige personer for at sikre rettelser, hvis de ikke kan løses internt af dem, der vedligeholder laboratoriet.
For eksempel, hvis en test udspringer af en defekt, der består af en begrænsning i firmwaren eller softwaren, der bruges i det nuværende miljø, kan dette generelt ikke løses udelukkende af dem, der er ansvarlige for miljøvedligeholdelse.
Derfor skal forbrugeren (som er testeren i dette tilfælde) blive bedt om at rejse passende serviceanmodninger. Disse skal rettes til den relevante leverandør eller team, og koordinering skal ske regelmæssigt med dem for at sikre, at den næste version har løst det særlige problem.
Et andet aspekt af regeringsførelse ville være at levere detaljerede miljørapporter til ledelsen eller interessenter fra tid til anden, hvilket hjælper med at skabe gennemsigtighed og danner et godt grundlag for enhver analyse.
Forberedelse af testdata
Lad os nu se på den sidste del af en Oprettelse af testbed - hvilket indebærer opsætning af testdata . Når et så stort stykke bliver sagt om testmiljøet, kan testmiljøets sande essens, dets robusthed og effektivitet måles med testdataene. Pr. Definition er testdataene enhver form for input, der gives til softwarekoden, der testes.
Selvom vi bruger en god mængde tid på at designe testsager, er årsagen til, at testdata er vigtige, fordi det sikrer komplet testdækning for alle slags scenarier og derved forbedrer kvaliteten. Der kan være nogle testdata, der er nødvendige for enhver glad eller positiv test af stien.
Nogle andre data kan være designet til fejl eller negativ test, hvilket er meget nyttigt at opdage, hvordan applikationen fungerer, når den placeres i unormale situationer.
Testdata oprettes generelt, før tekstudførelsen begynder, fordi hvert testmiljø har sit eget sæt af kompleksiteter, eller at forberede selve dataene kan være en langvarig proces. Så generelt kan testdatakilderne være det interne udviklingsteam eller slutbrugerne, der spiser koden eller funktionen.
For eksempel,Funktionstest
Lad os tage et eksempel, hvor du har brug for at udføre funktionel test eller black-box test. Her er målet, at koden skal fungere funktionelt for at opfylde de specificerede krav.
Så i sådanne tilfælde - forberedelse af testsager skal generelt have dækning af følgende typer data:
- Data om positive stier: Med udviklingsbrugsdokumentet som reference er dette de data, der generelt er synkroniseret med udførelsen af de positive sti-scenarier.
- Data om negativ sti: Dette er data, der generelt betragtes som 'ugyldige' med hensyn til korrekt funktion af koden.
- Null data: Leverer ingen data, når applikationen eller koden forventer disse data.
- Fejlagtige data: Bestemmelse af kodens ydeevne, når data leveres i et ulovligt format.
- Data om grænseforhold: Test data, der leveres ud af indekset eller arrayet for at bestemme, hvordan koden fungerer.
Testdata spiller en nøglerolle i at identificere, hvor et produkt eller en funktion kan brydes fuldstændigt. Hav altid en praksis med afstemning og validering af den type data, der tilføres testmiljøet i forskellige testfaser.
Test datastyring
Når testdata spiller en så vigtig rolle for at sikre produktets kvalitet, er det rimeligt at sige, at dets styring og strømlining også spiller en lige så vigtig rolle i kvalitetssikring af ethvert produkt, der skal frigives til kunderne.
Behov for testdatastyring og bedste praksis:
# 1) Et stort antal organisationer har det hurtigt skiftende forretningsmål for at imødekomme slutbrugernes behov, og det er derfor unødvendigt at nævne, at de relevante testdata er med til at bestemme kvaliteten af testen. Dette indebærer opsætning af den nøjagtige type data til de respektive testmiljøer og overvågning af adfærdsmønstre.
Som allerede diskuteret bruges et stort stykke tid af et testteams tid til planlægning af testdata og dets relaterede opgaver. Ofte hæmmes test af enhver funktionalitet meget på grund af manglende tilgængelighed af passende testdata, som udgør en kritisk udfordring med hensyn til komplet testdækning.
#to) Også nogle gange for visse testkrav testdata skal konstant opdateres . Dette medfører i sig selv en masse forsinkelser i cyklussen på grund af konstant genarbejde, hvilket også øger omkostningerne ved, at applikationen når markedet.
I visse andre tidspunkter, hvis det produkt, der sendes, er involveret i forskellige arbejdsgruppenheder i en stor organisation, kræver oprettelse og opdatering af testdata et indviklet niveau af koordination på tværs af disse arbejdsgrupper.
# 3) Selvom testteamene har brug for at oprette alle slags data, der er mulige for at sikre tilstrækkelig test, skal organisationer også overveje, at det at gøre dette ville betyde, at alle de forskellige slags data skal lagres i en slags lager.
Selv om det er god praksis at have et arkiv, er lagring af overdreven og uønskede data ville ikke kun øge lagerpladsen til at gemme disse store klumper af data betydeligt, men også gøre det mere og mere udfordrende at hente de relevante data til den pågældende test, hvis der ikke er versionvedligeholdelse og arkivering af dette lager.
De fleste af organisationerne står generelt over for disse fælles udfordringer med hensyn til testdata. Der skal således være nogle ledelsesstrategier, der skal indføres for at minimere graden af disse udfordringer.
Her nedenfor er nogle foreslåede metoder til styring af testdata og holder dem relevante for testbehovet. Følgende fremgangsmåder er meget grundlæggende og generiske, som ofte fungerer for de fleste organisationer. Hvordan det vedtages, er udelukkende de respektive organisationers skøn.
Test datastyringsstrategier
# 1) Analyse af data
Generelt konstrueres testdata baseret på de testsager, der skal udføres. For eksempel i et systemtestteam, ende til slut testscenarie skal identificeres ud fra, hvilke testdata der er designet. Dette kan involvere en eller flere applikationer til at arbejde.
Sig i et produkt, der udfører arbejdsbelastningsstyring - det involverer ledelsescontroller-applikationen, middleware-applikationerne, databaseapplikationerne, der alle fungerer sammen i hinanden. De krævede testdata for det samme kunne spredes. En grundig analyse af alle de forskellige typer data, der kan være nødvendige, skal foretages for at sikre effektiv styring.
# 2) Dataopsætning for at spejle produktionsmiljøet
Dette er generelt en udvidelse fra det foregående trin og gør det muligt at forstå, hvad slutbrugeren eller produktionsscenariet vil være, og hvilke data der kræves til det samme. Brug disse data og sammenlign disse data med de data, der i øjeblikket findes i det aktuelle testmiljø. Baseret på disse nye data skal det muligvis oprettes eller ændres.
# 3) Bestemmelse af oprydning af testdata
Baseret på testkravet i den aktuelle frigivelsescyklus (hvor en frigivelsescyklus kan strække sig over lang tid), skal testdata muligvis ændres eller oprettes som angivet i ovenstående punkt. Selvom disse testdata ikke er umiddelbart relevante, kan det være nødvendigt på et senere tidspunkt. Derfor bør der formuleres en klar proces med at vurdere, hvornår testdataene kan renses.
# 4) Identificer følsomme data og beskyt dem
Mange gange for at kunne teste applikationer korrekt kan der være behov for en stor mængde meget følsomme data. For eksempel, et skybaseret testmiljø er et populært valg, fordi det foretager on-demand test af forskellige produkter.
Imidlertid er noget så grundlæggende som at garantere brugernes privatliv i en sky en bekymring. Så især i tilfælde, hvor vi bliver nødt til at replikere brugermiljøet, skal mekanismen til at beskytte følsomme data identificeres. Mekanismen styres stort set af omfanget af de anvendte testdata.
# 5) Automatisering
Ligesom vi vedtager automatisering til at køre gentagne tests eller til at køre de samme tests med forskellige slags data, er det også muligt at automatisere oprettelsen af testdata. Dette vil hjælpe med at udsætte eventuelle fejl, der kan opstå med hensyn til data under test. En mulig måde at gøre dette på er ved at sammenligne de resultater, der produceres af et sæt data fra på hinanden følgende testkørsler. Derefter automatiseres denne sammenligningsproces.
# 6) Effektiv opdatering af data ved hjælp af et centralt lager
Dette er langt den vigtigste metode og danner kernen i implementeringen af datastyring. Alle ovennævnte punkter, især dem med hensyn til dataopsætning, dataoprydning er direkte eller indirekte forbundet med dette.
En stor indsats i at oprette testdata kan gemmes ved at opretholde et centralt lager, der indeholder alle slags data, der kan være nødvendige for forskellige former for test. Hvordan gøres dette? I på hinanden følgende testcyklusser skal du enten kontrollere en ny testtilstand eller en modificeret testtilfælde, om dataene findes i lageret. Hvis de ikke findes, skal du først indføre disse data i testmiljøet.
Dernæst kan dette dirigeres til dette lager til fremtidig reference. Nu til fortløbende frigivelsescyklusser kan testteamet bruge alle eller en delmængde af disse data. Er ikke fordelen meget tydelig? Afhængigt af det datasæt, der ofte bruges, kan forældede data let elimineres og dermed sikre, at korrekte data altid er til stede, hvilket reducerer omkostningerne ved lagring af de unødvendige data.
For det andet kan du også gemme et par versioner af dette lager eller kan revidere det efter behov. At have forskellige versioner af arkivet kan hjælpe meget i regressionstest for at identificere, hvilken ændring i data der kan få koden til at bryde.
Konklusion
Testmiljøet skal være af største betydning i hvert testteam. Hver frigivelsescyklus vil bringe en lang række nye udfordringer til at bekæmpe med et upålideligt og ikke-planlagt testmiljø.
Som en revolutionerende foranstaltning sætter mange organisationer nu strategier som f.eks. At danne dedikerede testmiljøvedligeholdelsesteam, der etablerer visse rammer for effektiv vedligeholdelse af testmiljøerne for at sikre jævnere frigivelsescyklusser.
Forbedret test er kun en åbenbar effekt af strømlining af testdatastyring. En vigtig essens er, at det sikrer en omkostningseffektiv løsning for organisationer uden at gå på kompromis med produktets pålidelighed.
Fortæl os, hvordan du administrerer dit testmiljø, og hvordan du forbereder testdata? Vil du tilføje nogle tip?
Anbefalet læsning
- Top 14 BEDSTE testdatastyringsværktøjer i 2021
- 10 bedste dataanalyseværktøjer til perfekt datahåndtering (2021 LIST)
- Test Management Tutorial: En ultimativ guide til test management
- Hvad er testdata? Testdata Klargøringsteknikker med eksempel
- Data Pool-funktion i IBM Rational Quality Manager til testdatastyring
- Selenium Framework Creation og adgang til testdata fra Excel - Selenium Tutorial # 21
- Generering af testdata med GEDIS Studio Online Tool (Del-2)