Hva er databasetesting og hvordan utfører du det?



Denne artikkelen om databasetesting vil forklare det grunnleggende om hva som er databasetesting, hvorfor den utføres, dens forskjellige typer og de populære verktøyene som brukes.

Data er hjertet i alle applikasjoner, og det er også som huser disse dataene. Men med økningen i datastørrelsen eller databasekompleksiteten øker også, noe som gjør det vanskelig å håndtere dataene. Dermed blir validering av data veldig nødvendig. Dette hvor databasetesting er nyttig og hjelper til med å kontrollere kvaliteten, sikkerheten og korrektheten til data som et program henter eller lagrer i databasen. Gjennom mediet i denne artikkelen vil jeg gi deg full innsikt i den.

Nedenfor er emnene dekket i denne opplæringen:





Så la oss komme i gang.

Hva er databasetesting?

Før jeg snakker om hva som er databasetesting, la meg først orientere deg om databaser.En database er ingenting annet enn en systematisk innsamling av data som gir datalagring og hjelper til med databehandling. Datahåndtering blir veldig enkelt å bruke disse databasene som databaser bruker objekter for å administrere dataene, for eksempel tabeller for lagring av data, visning for datarepresentasjoner, funksjoner og utløsere for datamanipulering.



Nå,Databasetesting refererer til prosessen med å validere dataene som lagres i en database ved å verifisere objektene som styrer dataene og ulike funksjoner rundt den. Generelt dekkes aktivitetene som å kontrollere datagyldigheten, teste dataintegriteten, ytelseskontrollen, teste forskjellige prosedyrer, utløsere og funksjoner i databasen under databasetesten.

fagforeningsklausulen er vant til

Men for å utføre databasetesting er det veldig viktig å ha god kunnskap om SQL. Ikke bekymre deg hvis du ikke har den nødvendige ekspertisen, kan du referere til denne artikkelen på Grunnleggende om SQL å komme i gang med det.

Hvorfor databasetesting?

Som vi vet er databasen en dump av data der dataene samles i en enorm mengde og lagres i et strukturert format. Selv om (DataBase Management System) gir en organisert måte å administrere, hente og lagre disse dataene, det er tilfeller der data kan bli overflødige, dupliserte osv. I slike tilfeller kommer databasetesting inn i bildet som hjelper oss med å validere dataene. Nedenfor har jeg listet opp ulike aspekter basert på hvilke databaser som må valideres:



  1. Datakartlegging
    Datakartlegging er et integrert aspekt av databasetesting som fokuserer på å validere dataene som krysses frem og tilbake mellom applikasjonen og backend-databasen.
  2. Validering av syreegenskaper
    SYRE står for TIL tomisitet, C onsistens, Jeg solasjon, og D urabilitet. Dette er et annet viktig aspekt som må bekreftes mot hver databasetransaksjon.

    • Atomisitet : Dette betyr at alle databasetransaksjoner er atomare, dvs. transaksjonene kan resultere i enten suksess eller fiasko. Også kjent som Alt eller ingenting .
    • Konsistens : Dette betyr at databasetilstanden vil være gyldig etter at transaksjonen er fullført.
    • Isolering : Dette betyr at flere transaksjoner kan utføres på en gang uten å påvirke hverandre og endre databasetilstanden.
    • Varighet : Dette betyr at når en transaksjon er begått, vil den bevare endringene uten feil, uavhengig av effekten av eksterne faktorer.
  3. Dataintegritet
    Testing av dataintegriteten til en database refererer til prosessen med å evaluere alle slags prosesser, operasjoner og metoder som brukes for å få tilgang til, administrere og oppdatere databasen, også kjent som GRUSOM operasjoner. Dette fokuserer utelukkende på å teste nøyaktigheten og konsistensen av dataene som er lagret i databasen, slik at vi får de forventede eller ønskede resultatene.
  4. Forretningsregeloverensstemmelse
    Med økningen i kompleksiteten til databasene begynner også forskjellige komponenter som relasjonelle begrensninger, utløsere, lagrede prosedyrer osv. Å komplisere. For å unngå dette, gir testerne noen SQL-spørsmål som er passende nok til å validere de komplekse objektene.

Typer databasetesting

Det er tre typer databasetesting som jeg har listet opp nedenfor:

  1. Strukturell testing
  2. Funksjonell testing
  3. Ikke-funksjonell testing

La oss nå se på hver av disse typene og deres undertyper en etter en.

Strukturell testing

Den strukturelle databasetesten er prosessen med å validere alle elementene som er tilstede i datalageret og som primært brukes til datalagring. Disse elementene kan ikke manipuleres direkte av sluttbrukerne. Validering av databaseservere er en av de viktigste hensynene, og testerne som klarer å fullføre denne fasen, oppnår vellykket mestring i SQL-spørsmål.

Ulike typer strukturelle tester er:

  • Skjematesting

Denne typen testing er også kjent som kartleggingstesting og utføres for å sikre at skjemakartleggingen av frontenden og bakenden er synkronisert. Noen av de viktige kontrollpunktene for denne testingen er:

    • Validerer forskjellige typer skjemaformater som er tilknyttet databasene.
    • Bekreftelse er nødvendig for ikke-tilordnede tabeller / visninger / kolonner.
    • Bekreftelse er også nødvendig for å sikre konsistensen av de heterogene databasene i et miljø med den generelle applikasjonskartleggingen.
    • Tilbyr ulike verktøy for validering av databaseskjema.
  • Databasetabell og kolonnetesting

Noen av de viktige kontrollpunktene for denne testingen er:

    • Kompatibiliteten til databasefelt og kolonnekartlegging i bakenden og frontenden.
    • Validerer lengden og navnekonvensjonen til databasefeltene og kolonnene i henhold til kravene.
    • Oppdage og validere ubrukte / ikke-kartlagte databasetabeller / kolonner.
    • Validerer kompatibiliteten til datatypen og feltlengdene i backend-databasekolonnene med frontenden av applikasjonen.
    • Validerer at brukerne er i stand til å levere ønskede innganger ved hjelp av databasefeltene som er spesifisert i spesifikasjonsdokumentene for forretningskrav.
  • Testing av nøkler og indekser

Noen av de viktige kontrollpunktene for denne testingen er:

    • Sørg for at nødvendig Primærnøkkel og Utenlandsk nøkkel begrensninger er allerede der på de nødvendige tabellene.
    • Valider referansene til de utenlandske nøklene.
    • Forsikre deg om at datatypen til primærnøkkelen og de tilsvarende utenlandske nøklene er de samme i to tabeller.
    • Valider navnene på alle nøklene og indeksene basert på navnekonvensjonene.
    • Kontroller de nødvendige feltene og indekserer størrelse og lengde.
    • Sikre opprettelsen av klyngede indekser og ikke-klyngede indekser i de nødvendige tabellene i henhold til forretningskravene.
  • Lagrede prosedyrer Testing

Noen av de viktige kontrollpunktene for denne testingen er:

    • Valider adopsjonen av de nødvendige kodingsstandardkonvensjonene, unntak og feilhåndtering for alle lagrede prosedyrer av utviklingsteamet i alle modulene i applikasjonen som testes.
    • Forsikre deg om at utviklingsteamet har dekket alle forholdene / løkkene ved å bruke de nødvendige inndataene til applikasjonen som testes.
    • Sjekk om utviklingsteamet har brukt TRIM-operasjonene riktig eller ikke hver gang dataene ble hentet fra de spesifiserte databasetabellene.
    • Forsikre deg om at de nødvendige utgangene genereres ved å utføre de lagrede prosedyrene manuelt.
    • Sørg for at tabellfeltene oppdateres som spesifisert av applikasjonen under testing ved å utføre de lagrede prosedyrene manuelt.
    • Sørg for at de nødvendige utløserne implisitt påberopes ved å utføre de lagrede prosedyrene.
    • Oppdag og valider eventuelle ubrukte lagrede prosedyrer.
    • Validering av Null-tilstanden på databasenivå.
    • Forsikre deg om at alle lagrede prosedyrer og funksjoner er utført og testet i den tomme databasen som er under test.
    • Valider den samlede integrasjonen av de lagrede prosedyremodulene som spesifisert i kravene til applikasjonen som testes.
  • Trigger Testing

Noen av de viktige kontrollpunktene for denne testingen er:

    • Validerer at de nødvendige kodekonvensjonene følges i kodingsfasen til utløserne.
    • Sørg for at de utførte utløserne oppfyller de nødvendige vilkårene for de respektive DML-transaksjonene.
    • Sjekk om dataene er oppdatert riktig når utløserne er utført.
    • Valider funksjonalitetene som Update, Insert, Delete utløser funksjonaliteten til applikasjonen som testes.
  • Valideringer av databaseserver

Noen av de viktige kontrollpunktene for denne testingen er:

    • Valider databaseserverkonfigurasjonenesom spesifisert i forretningskravene.
    • Forsikre deg om at den nødvendige brukeren bare utfører de nivåer av handlinger som kreves av applikasjonen som testes.
    • Forsikre deg om at databaseserveren er i stand til å imøtekomme behovene til det maksimale antall brukertransaksjoner som er tillatt som i spesifikasjonene for forretningskrav.

Funksjonell testing

Funksjonell databasetesting er prosessen som sikrer at transaksjonene og operasjonene som utføres av sluttbrukerne er i samsvar med oppfyller forretningsspesifikasjonene.

Ulike typer funksjonstesting er:

  • Black Box Testing

Black Box Testing refererer til prosessen som sjekker ulike funksjoner ved å verifisere integrasjonen av databasen. I dette er testtilfellene vanligvis enkle og brukes til å verifisere innkommende og utgående data fra funksjonen. Ulike teknikker som årsak-virkning grafikk teknikk, grenseverdianalyse og ekvivalenspartisjonering brukes til å teste databasefunksjonaliteten. Det utføres vanligvis i de tidlige utviklingsstadiene og koster mindre sammenlignet med andre funksjonstester. Men det kommer med noen ulemper som noen feil ikke kan oppdages av det, og det er ingen spesifikasjon på hvor mye av programmet som skal testes.

  • Testing av hvit boks

White Box Testing er opptatt av den interne strukturen i databasen, og brukerne er ikke klar over spesifikasjonsdetaljene. Denne testingen krever databasetrigger og logisk visningstesting som støtter omformering av databasen. Videre, databasefunksjoner, utløsere, visninger, SQL-spørsmål , etc., blir også testet i dette. Hvitboksprøving brukes til å validere databasetabellene, datamodellene, databaseskjemaet osv. Den overholder reglene for referanseintegritet og velger standardverdiene for tabellen for å verifisere databasekonsistensen.Teknikker som tilstandsdekning, beslutningsdekning, uttalelsesdekning osv. Brukes ofte til å utføre White Box-testing. I motsetning til Black Box-testing kan kodefeil lett oppdages for å eliminere de interne feilene i databasen. Den eneste ulempen ved denne typen testing er at den ikke dekker SQL-setningene.

Ikke-funksjonell testing

Ikke-funksjonell testing er prosessen med å utføre belastningstesting, stresstesting, sjekke minimum systemkrav som kreves for å oppfylle forretningsspesifikasjonen sammen med å oppdage risikoer og optimalisere ytelsen til databasen.

Hovedtyper av ikke-funksjonell testing er:

  • Lastetesting

Den primære funksjonen ved å utføre lastetesting er å validere ytelsespåvirkningen til de fleste av de kjørende transaksjonene i databasen. I denne testen kreves det en tester for å kontrollere følgende forhold og minus

    • Hva er responstiden som kreves for å utføre transaksjoner for flere brukere som ligger eksternt?
    • Hva er tiden det tar for databasen å hente de spesifikke postene?
  • Stresstesting

Stresstesting er en testprosess som utføres for å identifisere bruddpunktet til systemet. Dermed lastes et program inn i dette testet til det punktet systemet mislykkes.Dette punktet er kjent som en brytpunkt av databasesystemet. De mest brukte stresstestverktøyene er LoadRunner og WinRunner .

La oss nå se hva som er de forskjellige trinnene som er involvert i databasetesting.

Database Testing Stages

DB-testing er ikke en kjedelig prosess og inkluderer ulike trinn i livssyklusen for databasetesting i samsvar med testprosessene.

installer php på Windows 7

De viktigste trinnene i databasetesting er:

  1. Sett opp testkrav
  2. Utfør testene
  3. Bekreft teststatus
  4. Valider resultater
  5. Konsolider og publiser rapport

Nå som du er klar over hva som er databasetesting og hvordan du skal utføre det, la meg nå kaste litt lys over forskjellige verktøy som hovedsakelig brukes til databasetesting.

Verktøy for databasetesting

Det er mange verktøy i markedet som brukes til å generere testdata, administrere dem og til slutt utføre databasetesting som Load Testing og Regression Testing, etc. Nedenfor har jeg listet opp noen av de mest foretrukne verktøyene:

Kategori Verktøy
Verktøy for datasikkerhet
  • IBM Optim Data Privacy
Last testverktøy
  • Nettytelse
  • Rad View
  • Kvikksølv
Test Data Generator Tools
  • Datafabrikk
  • DTM Data Generator
  • Turbodata
Test Data Management Tool
  • IBM Optim Test Data Management
Enhetstestverktøy
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

Så alt handlet om databasetesting. Med dette vil jeg avslutte denne artikkelen. Jeg håper denne artikkelen har hjulpet deg med å øke verdien til din kunnskap. For mer informasjon om SQL eller databaser, kan du se vår omfattende leseliste her: .

Hvis du ønsker å få en strukturert opplæring på MySQL, så sjekk ut vår som kommer med instruktørledet live-opplæring og reell prosjektopplevelse. Denne opplæringen vil hjelpe deg med å forstå MySQL i dybden og hjelpe deg med å mestre emnet.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet til ” Databasetesting ”Og jeg kommer tilbake til deg.