Hvad er databasetest og hvordan udføres det?



Denne artikel om databasetest forklarer det grundlæggende i, hvad der er databasetest, hvorfor det udføres, dets forskellige typer og de populære anvendte værktøjer.

Data er kernen i enhver softwareapplikation, og det er også som huser disse data. Men med stigningen i størrelsen af ​​data eller databasekompleksiteter øges også, hvilket gør det vanskeligt at håndtere dataene. Validering af data bliver således meget nødvendigt. Dette hvor databasetestning er praktisk og hjælper med at kontrollere kvaliteten, sikkerheden og rigtigheden af ​​data, som et program henter eller gemmer i databasen. Gennem mediet i denne artikel vil jeg give dig komplet indsigt i det.

Nedenfor er emnerne i denne vejledning:





Så lad os komme i gang.

Hvad er databasetestning?

Før jeg taler om, hvad der er databasetest, lad mig først orientere dig om databaser.En database er intet andet end en systematisk indsamling af data, der giver datalagring og hjælper med datamanipulation. Datastyring bliver meget let ved hjælp af disse databaser som databaser bruger objekter til at styre dataene, såsom tabeller til lagring af data, visning for datarepræsentationer, funktioner og udløsere til datamanipulation.



Nu,Databasetest refererer til processen med validering af de data, der lagres i en database ved at verificere de objekter, der styrer dataene, og forskellige funktioner omkring dem. Generelt dækkes aktiviteterne som kontrol af datagyldighed, test af dataintegritet, præstationskontrol, test af forskellige procedurer, udløsere og funktioner i databasen under databasetestningen.

Men for at udføre databasetest er det meget vigtigt at have god viden om SQL. Bare rolig, hvis du ikke har den nødvendige ekspertise, kan du henvise til denne artikel på Grundlæggende om SQL at komme i gang med det.

Hvorfor databasetestning?

Som vi ved, er databasen et dump af data, hvor dataene indsamles i en enorm mængde og lagres i et struktureret format. Selvom (DataBase Management System) giver en organiseret måde at administrere, hente og lagre disse data på, der er tilfælde, hvor data kan blive overflødige, duplikerede osv. I sådanne tilfælde kommer databasetest ind i billedet, som hjælper os med at validere dataene. Nedenfor har jeg listet forskellige aspekter, som en database skal valideres ud fra:



  1. Datakortlægning
    Datakortlægning er et integreret aspekt af databasetest, der fokuserer på validering af de data, der krydser frem og tilbage mellem applikationen og backend-databasen.
  2. Validering af syreegenskaber
    SYRE står for TIL tomicitet, C usistens, jeg solation, og D urabilitet. Dette er et andet vigtigt aspekt, der skal bekræftes i forhold til hver databasetransaktion.

    • Atomicitet : Dette betyder, at alle databasetransaktioner er atomare, dvs. transaktionerne kan resultere i enten succes eller fiasko. Også kendt som Alt eller intet .
    • Konsistens : Dette betyder, at databasetilstanden forbliver gyldig, efter transaktionen er gennemført.
    • Isolation : Dette betyder, at flere transaktioner kan udføres på én gang uden at påvirke hinanden og ændre databasetilstanden.
    • Holdbarhed : Dette betyder, at når en transaktion først er begået, vil den bevare ændringerne uden fejl uanset effekten af ​​eksterne faktorer.
  3. Dataintegritet
    Test af dataintegriteten i en database henviser til processen med at evaluere alle slags processer, operationer og metoder, der bruges til at få adgang til, administrere og opdatere databasen, også kendt som GRUSOM operationer. Dette fokuserer udelukkende på at teste nøjagtigheden og konsistensen af ​​de data, der er gemt i databasen, så vi får de forventede eller ønskede resultater.
  4. Forretningsregeloverensstemmelse
    Med stigningen i databasernes kompleksitet begynder forskellige komponenter som relationelle begrænsninger, udløsere, lagrede procedurer osv. Også at komplicere. For at undgå dette leverer testerne nogle SQL-forespørgsler, der er passende nok til at validere de komplekse objekter.

Typer af databasetest

c ++ rekursivt retracement

Der er 3 typer databasetest, som jeg har angivet nedenfor:

  1. Strukturel testning
  2. Funktionel testning
  3. Ikke-funktionel testning

Lad os nu se på hver af disse typer og deres undertyper en efter en.

Strukturel testning

Den strukturelle databasetestning er processen med at validere alle de elementer, der findes i datalageret og primært bruges til datalagring. Disse elementer kan ikke manipuleres direkte af slutbrugerne. Validering af databaseservere er en af ​​de vigtigste overvejelser, og de testere, der formår at gennemføre denne fase, får succes med at beherske SQL-forespørgsler.

Forskellige typer strukturel test er:

  • Test af skema

Denne type test kaldes også kortlægningstest og udføres for at sikre, at skemakortlægningen af ​​frontenden og bagenden er synkroniseret. Nogle af de vigtige kontrolpunkter i denne test er:

    • Validerer forskellige typer skemaformater, der er knyttet til databaser.
    • Bekræftelse er påkrævet for ikke-kortlagte tabeller / visninger / kolonner.
    • Verifikation er også påkrævet for at sikre sammenhængen mellem de heterogene databaser i et miljø og den samlede applikationskortlægning.
    • Tilbyder forskellige værktøjer til validering af databaseskemaer.
  • Databasetabel og kolonnetest

Nogle af de vigtige kontrolpunkter i denne test er:

    • Kompatibiliteten af ​​databasefelter og kolonnekortlægning i bagenden og frontenden.
    • Validering af længden og navngivningskonventionen for databasefelterne og -kolonnerne i henhold til kravene.
    • Registrering og validering af ubrugte / ikke-kortlagte databasetabeller / kolonner.
    • Validering af datatypens og feltlængdernes kompatibilitet i backend-databasekolonnerne med applikationens forende.
    • Validerer, at brugerne er i stand til at levere de ønskede input ved hjælp af databasefelterne, der er specificeret i dokumentationen til specifikation af forretningskrav.
  • Test af nøgler og indekser

Nogle af de vigtige kontrolpunkter i denne test er:

    • Sørg for, at det krævede Primærnøgle og Fremmed nøgle begrænsninger er der allerede på de krævede tabeller.
    • Valider referencerne til de udenlandske nøgler.
    • Sørg for, at datatypen for den primære nøgle og de tilsvarende udenlandske nøgler er de samme i to tabeller.
    • Valider navnene på alle nøgler og indekser baseret på navngivningskonventionerne.
    • Kontroller de krævede felter og indekser størrelse og længde.
    • Sørg for oprettelse af klyngede indekser og ikke-klyngede indekser i de krævede tabeller i henhold til forretningskravene.
  • Lagrede procedurer Testning

Nogle af de vigtige kontrolpunkter i denne test er:

    • Validér vedtagelsen af ​​de krævede kodningsstandardkonventioner, undtagelse og fejlhåndtering for alle de lagrede procedurer af udviklingsteamet i alle modulerne i applikationen, der testes.
    • Sørg for, at udviklingsteamet har dækket alle betingelser / sløjfer ved at anvende de krævede inputdata til applikationen under test.
    • Kontroller, om udviklingsteamet korrekt har anvendt TRIM-operationerne eller ikke hver gang dataene blev hentet fra de specificerede databasetabeller.
    • Sørg for, at de krævede output genereres ved manuelt at udføre de lagrede procedurer.
    • Sørg for, at tabelfelterne opdateres som specificeret af applikationen under test ved manuelt at udføre de lagrede procedurer.
    • Sørg for, at de nødvendige udløsere implicit påberåbes ved at udføre de lagrede procedurer.
    • Registrer og valider alle ubrugte lagrede procedurer.
    • Validering af tilstanden Null på databaseniveau.
    • Sørg for, at alle de lagrede procedurer og funktioner er blevet udført og testet i den tomme database, der er under test.
    • Valider den samlede integration af de lagrede proceduremoduler som specificeret i kravene til applikationen under test.
  • Udløsertest

Nogle af de vigtige kontrolpunkter i denne test er:

    • Validering af, at de krævede kodningskonventioner følges i Triggers kodningsfase.
    • Sørg for, at de udførte udløsere opfylder de krævede betingelser for de respektive DML-transaktioner.
    • Kontroller, om dataene opdateres korrekt, når udløserne er udført.
    • Valider funktionaliteterne såsom Opdater, Indsæt, Slet udløser funktionaliteten af ​​den applikation, der testes.
  • Valideringer af databaseserver

Nogle af de vigtige kontrolpunkter i denne test er:

passere værdi i java
    • Valider databaseserverkonfigurationernesom specificeret i forretningskravene.
    • Sørg for, at den krævede bruger kun udfører de handlingsniveauer, der kræves af den applikation, der testes.
    • Sørg for, at databaseserveren er i stand til at imødekomme behovene for det maksimale antal brugertransaktioner, der er tilladt som i forretningskravspecifikationerne.

Funktionel testning

Funktionel databasetest er den proces, der sikrer, at de transaktioner og operationer, der udføres af slutbrugerne, er i overensstemmelse med de opfylder forretningsspecifikationerne.

Forskellige typer funktionel test er:

  • Black Box Testing

Black Box Testing refererer til den proces, der kontrollerer forskellige funktioner ved at verificere integrationen af ​​databasen. I dette er testsagerne normalt enkle og bruges til at verificere de indgående og udgående data fra funktionen. Forskellige teknikker som årsag-virkning grafik-teknik, analyse af grænseværdier og ækvivalenspartitionering bruges til at teste databasefunktionaliteten. Det udføres generelt i de tidlige udviklingsfaser og koster mindre sammenlignet med andre funktionelle test. Men det kommer med nogle ulemper, da nogle fejl ikke kan detekteres af det, og der er ingen specifikation for, hvor meget af programmet der skal testes.

  • Test af hvid boks

White Box Testing beskæftiger sig med den interne struktur i databasen, og brugerne er uvidende om specifikationsoplysningerne. Denne test kræver databasetriggere og test af logiske visninger, som understøtter refactoring af databasen. Desuden er databasefunktioner, udløsere, visninger, SQL-forespørgsler osv. testes også i dette. Test af hvidboks bruges til at validere databasetabeller, datamodeller, databaseskema osv. Det overholder reglerne for referentiel integritet og vælger standardtabelværdierne for at kontrollere databasekonsistensen.Teknikker som tilstandsdækning, beslutningsdækning, erklæringsdækning osv. Bruges ofte til at udføre White Box-test. I modsætning til Black Box-test kan kodningsfejl let detekteres for at eliminere de interne fejl, der findes i databasen. Den eneste ulempe ved denne type test er, at den ikke dækker SQL-sætningerne.

Ikke-funktionel test

Ikke-funktionel test er processen med at udføre belastningstest, stresstest, kontrol af minimale systemkrav, der kræves for at opfylde forretningsspecifikationen sammen med at opdage risici og optimere databasens ydeevne.

Hovedtyper af ikke-funktionel test er:

  • Load Testing

Den primære funktion ved udførelse af belastningstest er at validere virkningen af ​​de fleste af de kørende transaktioner i databasen. I denne test kræves en tester for at kontrollere følgende betingelser & minus

    • Hvad er svartiden, der kræves for at udføre transaktioner for flere brugere, der findes eksternt?
    • Hvad tager det tid af databasen at hente de specifikke poster?
  • Stresstest

Stresstest er en testproces, der udføres for at identificere systemets brudpunkt. I denne test indlæses således et program indtil det punkt, systemet mislykkes.Dette punkt er kendt som en brudpunkt af databasesystemet. De almindeligt anvendte stresstestværktøjer er LoadRunner og WinRunner .

java hvordan man opretter en række objekter

Lad os nu se, hvad de forskellige faser er involveret i databasetest.

Stadier til databasetestning

DB-test er ikke en kedelig proces og inkluderer forskellige faser i databasetestens livscyklus i overensstemmelse med testprocesserne.

De vigtigste faser i databasetestning er:

  1. Opsæt testforudsætninger
  2. Udfør testene
  3. Bekræft teststatus
  4. Valider resultater
  5. Konsolider og offentliggør rapport

Nu hvor du er opmærksom på, hvad der er databasetest, og hvordan du udfører det, lad mig nu kaste lidt lys over forskellige værktøjer, der hovedsageligt bruges til databasetest.

Værktøjer til databasetestning

Der er adskillige værktøjer på markedet, der bruges til at generere testdata, administrere dem og endelig udføre databasetest som Load Testing og Regression Testing osv. Nedenfor har jeg listet nogle få af de mest foretrukne værktøjer ned:

Kategori Værktøjer
Værktøjer til datasikkerhed
  • IBM Optim Data Privacy
Load Testing Tools
  • Web ydeevne
  • Rad View
  • Kviksølv
Test data generatorværktøjer
  • Datafabrik
  • DTM Data Generator
  • Turbodata
Test Data Management Tool
  • IBM Optim Test Data Management
Enhedstestværktøjer
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

Så det handlede kun om databasetest. Med dette vil jeg gerne afslutte denne artikel. Jeg håber, at denne artikel har hjulpet dig med at tilføje værdi til din viden. For mere information om SQL eller databaser kan du henvise til vores omfattende læseliste her: .

Hvis du ønsker at få en struktureret træning på MySQL, så tjek vores som kommer med instruktørstyret live træning og projektoplevelse i det virkelige liv. Denne træning hjælper dig med at forstå MySQL i dybden og hjælpe dig med at opnå mestring over emnet.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i ” Databasetest ”Og jeg vender tilbage til dig.