sql >> Databasteknik >  >> RDS >> Database

Vad är databastestning och hur gör man det?

Data är hjärtat i varje program och det är även Databasen som innehåller dessa uppgifter. Men med den ökade storleken på data eller databaser ökar också komplexiteten vilket gör det svårt att hantera data. Därför blir det mycket nödvändigt att validera data. Här kommer databastestning väl till pass och hjälper till att kontrollera kvaliteten, säkerheten och riktigheten av data som en applikation hämtar eller lagrar i databasen. Med hjälp av denna artikel kommer jag att ge dig fullständiga insikter i den.

Nedan är de ämnen som tas upp i denna handledning:

  • Vad är databastestning?
  • Varför krävs databastestning?
  • Typer av databastestning
    • Strukturtestning
    • Funktionstestning
    • Icke-funktionell testning
  • Databastestningsstadier
  • Verktyg för databastestning

Så låt oss komma igång.

Vad är databastestning?

Innan jag pratar om vad som är databastestning, låt mig först informera dig om databaser. En databas är inget annat än en systematisk insamling av data som tillhandahåller datalagring och hjälper till med datamanipulation. Datahantering blir mycket enkel med dessa databaser eftersom databaser använder objekt för att hantera data, såsom tabeller för att lagra data, vy för datarepresentationer, funktioner och utlösare för datamanipulation.

Nu hänvisar databastestning till processen att validera data som lagras i en databas genom att verifiera objekten som kontrollerar data och olika funktioner som omger den. I allmänhet täcks aktiviteter som kontroll av datavaliditet, testning av dataintegritet, prestandakontroll, testning av olika procedurer, triggers och funktioner i databasen under databastestningen.

Men för att utföra databastestning är det mycket viktigt att ha goda kunskaper om SQL. Oroa dig inte om du inte har den expertis som krävs, du kan läsa den här artikeln om SQL Basics för att komma igång med det.

Varför databastestning?

Som vi vet är databasen en dump av data där datan samlas in i en enorm mängd och lagras i ett strukturerat format. Även om DBMS (DataBase Management System) ger ett organiserat sätt att hantera, hämta och lagra denna data, det finns fall där data kan bli överflödiga, dupliceras etc. I sådana fall kommer databastestning in i bilden som hjälper oss att validera data. Nedan har jag listat olika aspekter utifrån vilka en databas behöver valideras:

  1. Datamappning
    Datamapping är en integrerad aspekt av databastestning som fokuserar på att validera data som går fram och tillbaka mellan applikationen och backend-databasen.
  2. Verifiering av ACID-egenskaper
    SYRA står för A tomicity, C konstant, I solation och D hållbarhet. Detta är en annan viktig aspekt som måste bekräftas mot varje databastransaktion.

    • Atomicitet :Detta betyder att alla databastransaktioner är atomära, dvs. transaktionerna kan resultera i antingen framgång eller misslyckande. Även känd som Allt-eller-Inget .
    • Konsistens :Detta betyder att databastillståndet förblir giltigt efter att transaktionen har slutförts.
    • Isolering :Detta innebär att flera transaktioner kan utföras samtidigt utan att påverka varandra och ändra databastillståndet.
    • Hållbarhet :Detta betyder att när en transaktion väl har genomförts kommer den att bevara ändringarna utan misslyckande oavsett effekten av externa faktorer.
  3. Dataintegritet
    Att testa dataintegriteten för en databas hänvisar till processen att utvärdera alla typer av processer, operationer och metoder som används för att komma åt, hantera och uppdatera databasen även känd som CRUD operationer. Detta fokuserar enbart på att testa noggrannheten och konsistensen av data som lagras i databasen så att vi får de förväntade eller önskade resultaten.
  4. Överensstämmelse med affärsregler
    Med den ökade komplexiteten hos databaserna börjar också olika komponenter som relationsbegränsningar, triggers, lagrade procedurer etc att komplicera. För att undvika detta tillhandahåller testarna några SQL-frågor som är tillräckligt lämpliga för att validera de komplexa objekten.

Typer av databastestning

Det finns tre typer av databastestning som jag har listat nedan:

  1. Strukturtestning
  2. Funktionstestning
  3. Icke-funktionell testning

Låt oss nu titta på var och en av dessa typer och deras undertyper en efter en.

Strukturell testning

Den strukturella databastestningen är processen att validera alla element som finns i dataförrådet och som främst används för datalagring. Dessa element kan inte manipuleras direkt av slutanvändarna. Validering av databasservrar är en av de viktigaste övervägandena och de testare som lyckas slutföra denna fas skaffar sig framgångsrikt behärskning av SQL-frågor.

Olika typer av strukturella tester är:

  • Schematestning

Denna typ av testning kallas även mappningstestning och utförs för att säkerställa att schemamappningen av front- och bakänden är synkroniserade. Några av de viktiga kontrollpunkterna för denna testning är:

    • Validerar olika typer av schemaformat som är associerade med databaserna.
    • Verifiering krävs för omappade tabeller/vyer/kolumner.
    • Verifiering krävs också för att säkerställa överensstämmelsen mellan de heterogena databaserna i en miljö med den övergripande applikationskartläggningen.
    • Tillhandahåller olika verktyg för databasschemavalidering.
  • Tester av databastabell och kolumn

Några av de viktiga kontrollpunkterna för detta test är:

    • Kompatibiliteten för databasfält och kolumnmappning på baksidan och frontänden.
    • Validera längden och namnkonventionen för databasfälten och -kolumnerna enligt kraven.
    • Upptäcker och validerar eventuella oanvända/omappade databastabeller/kolumner.
    • Validera kompatibiliteten för datatypen och fältlängderna i backend-databasens kolumner med programmets frontend.
    • Verifierar att användarna kan tillhandahålla önskade indata med hjälp av databasfälten som specificeras i affärskravsspecifikationsdokumenten.
  • Test av nycklar och index

Några av de viktiga kontrollpunkterna för detta test är:

    • Se till att den nödvändiga primärnyckeln och den främmande nyckeln redan finns där på de obligatoriska tabellerna.
    • Verifiera referenserna för de främmande nycklarna.
    • Se till att datatypen för primärnyckeln och motsvarande främmande nycklar är samma i två tabeller.
    • Verifiera namnen på alla nycklar och index baserat på namnkonventionerna.
    • Kontrollera de obligatoriska fälten och indexens storlek och längd.
    • Se till att skapa klustrade index och icke-klustrade index i de obligatoriska tabellerna enligt affärskraven.
  • Tester av lagrade procedurer

Några av de viktiga kontrollpunkterna för detta test är:

    • Validera antagandet av de erforderliga kodningsstandardkonventionerna, undantags- och felhantering för alla lagrade procedurer av utvecklingsteamet i alla moduler i applikationen som testas.
    • Se till att utvecklingsteamet har täckt alla villkor/slingor genom att applicera nödvändiga indata till applikationen som testas.
    • Kontrollera om utvecklingsteamet har tillämpat TRIM-operationerna korrekt eller inte varje gång data hämtades från de angivna databastabellerna.
    • Se till att de nödvändiga utgångarna genereras genom att manuellt köra de lagrade procedurerna.
    • Se till att tabellfälten uppdateras enligt vad som anges av programmet som testas genom att manuellt köra de lagrade procedurerna.
    • Se till att de utlösare som krävs implicit anropas genom att köra de lagrade procedurerna.
    • Detektera och validera alla oanvända lagrade procedurer.
    • Validerar noll-villkoret på databasnivå.
    • Se till att alla lagrade procedurer och funktioner har körts och testats på den tomma databasen som testas.
    • Validera den övergripande integrationen av modulerna för lagrad procedur enligt kraven för applikationen som testas.
  • Triggertestning

Några av de viktiga kontrollpunkterna för detta test är:

    • Verifiera att de obligatoriska kodningskonventionerna följs i kodningsfasen för utlösare.
    • Se till att de körda utlösarna uppfyller de villkor som krävs för respektive DML-transaktioner.
    • Kontrollera om data uppdateras korrekt när triggarna har exekveras.
    • Validera funktionerna som Update, Insert, Delete triggers funktionalitet för applikationen som testas.
  • Verifieringar av databasserver

Några av de viktiga kontrollpunkterna för detta test är:

    • Validera databasserverns konfigurationer som specificeras i affärskraven.
    • Se till att den nödvändiga användaren endast utför de åtgärder som krävs av applikationen som testas.
    • Se till att databasservern kan tillgodose behoven för det maximala antalet användartransaktioner som är tillåtna enligt affärskravspecifikationerna.

Funktionstest

Funktionell databastestning är den process som säkerställer att de transaktioner och operationer som utförs av slutanvändarna överensstämmer med affärsspecifikationerna.

Olika typer av funktionstestning är:

  • Black Box Testing

Black Box Testing hänvisar till processen som kontrollerar olika funktioner genom att verifiera integrationen av databasen. I detta är testfallen vanligtvis enkla och används för att verifiera inkommande och utgående data från funktionen. Olika tekniker som orsak-effekt-grafteknik, gränsvärdesanalys och ekvivalenspartitionering används för att testa databasens funktionalitet. Det utförs i allmänhet i de tidiga utvecklingsstadierna och kostar mindre jämfört med andra funktionella tester. Men det har vissa nackdelar som att vissa fel inte kan upptäckas av det och det finns ingen specifikation om hur mycket av programmet som ska testas.

  • White Box Testing

White Box Testing handlar om databasens interna struktur och användarna är omedvetna om specifikationsdetaljerna. Denna testning kräver databasutlösare och testning av logiska vyer som stöder databasrefaktorisering. Dessutom testas även databasfunktioner, triggers, vyer, SQL-frågor, etc. i detta. White box-testning används för att validera databastabellerna, datamodellerna, databasschemat, etc. Det följer reglerna för referensintegritet och väljer standardtabellvärdena för att verifiera databasens överensstämmelse. Tekniker som tillståndstäckning, beslutstäckning, uttalandetäckning etc. används ofta för att utföra White Box-testning. Till skillnad från Black box-testning kan kodningsfel lätt upptäckas för att eliminera de interna buggar som finns i databasen. Den enda nackdelen med denna typ av testning är att den inte täcker SQL-satserna.

Icke-funktionell testning

Icke-funktionell testning är processen att utföra belastningstester, stresstester, kontrollera minimisystemkrav som krävs för att uppfylla affärsspecifikationen tillsammans med att upptäcka risker och optimera databasens prestanda.

Större typer av icke-funktionella tester är:

  • Laddningstestning

Den primära funktionen för att utföra belastningstestning är att validera prestandapåverkan av de flesta av de pågående transaktionerna i databasen. I detta test krävs en testare för att kontrollera följande villkor −

    • Vad är den svarstiden som krävs för att utföra transaktioner för flera användare på distans?
    • Hur lång tid tar det för databasen att hämta de specifika posterna?
  • Stresstest

Stresstestning är en testprocess som utförs för att identifiera systemets brytpunkt. Sålunda, i detta test, laddas en applikation tills den punkt då systemet misslyckas. Denna punkt är känd som en brytpunkt av databassystemet. De vanligaste verktygen för stresstestning är LoadRunner och WinRunner .

Låt oss nu se vilka olika steg som är involverade i databastestning.

Databastestningsstadier

DB-testning är inte en tråkig process och inkluderar olika steg i databastestningens livscykel i enlighet med testprocesserna.

De viktigaste stegen i databastestning är:

  1. Ställ in testkrav
  2. Utför testerna
  3. Verifiera teststatus
  4. Verifiera resultat
  5. Konsolidera och publicera rapport

Nu när du är medveten om vad som är databastestning och hur man utför det, låt mig nu kasta lite ljus över olika verktyg som huvudsakligen används för databastestning.

Verktyg för databastestning

Det finns många verktyg på marknaden som används för att generera testdata, hantera den och slutligen utföra databastestning som belastningstestning och regressionstestning, etc. Nedan har jag listat en några av de mest föredragna verktygen:

Kategori Verktyg
Datasäkerhetsverktyg
  • IBM Optim Datasekretess
Ladda testverktyg
  • Webbprestanda
  • Rad View
  • Mercury
Testdatageneratorverktyg
  • Datafabrik
  • DTM Data Generator
  • Turbodata
Testverktyg för datahantering
  • IBM Optim Test Data Management
Verktyg för enhetstest
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

Så det handlade om databastestning. Med detta skulle jag vilja avsluta denna artikel. Jag hoppas att den här artikeln har hjälpt dig att tillföra värde till din kunskap. För mer information om SQL eller databaser, kan du hänvisa till vår omfattande läslista här:Databaser Edureka .

Om du vill få en strukturerad utbildning i MySQL, kolla in vårMySQL DBA-certifieringsutbildning som kommer med instruktörsledd liveutbildning och verklig projektupplevelse. Den här utbildningen hjälper dig att förstå MySQL på djupet och hjälper dig att bemästra ämnet.

Har du en fråga till oss? Vänligen nämn det i kommentarsavsnittet i "Databastestning ” och jag återkommer till dig.


  1. t-sql select få alla månader inom ett antal år

  2. Vad är logisk ELLER-operatör i SQL Server - SQL Server / TSQL Tutorial Del 119

  3. Finns det något sätt att få radnumret i Mysql som rownumret i oracle

  4. Hur kör jag en MS SQL Server lagrad procedur i java/jsp och returnerar tabelldata?