sql >> Databáze >  >> RDS >> Database

Co je testování databáze a jak jej provádět?

Data jsou srdcem každé softwarové aplikace a stejně tak Databáze ve kterém jsou uložena tato data. Ale s nárůstem velikosti dat nebo složitosti databáze se také zvyšuje, což ztěžuje manipulaci s daty. Proto se validace dat stává velmi potřebnou. Zde přichází vhod testování databáze a pomáhá při kontrole kvality, zabezpečení a správnosti dat, která aplikace načítá nebo ukládá do databáze. Prostřednictvím tohoto článku vám poskytnu úplný náhled na věc.

Níže jsou témata obsažená v tomto tutoriálu:

  • Co je testování databáze?
  • Proč je vyžadováno testování databáze?
  • Typy testování databáze
    • Strukturální testování
    • Funkční testování
    • Nefunkční testování
  • Fáze testování databáze
  • Nástroje pro testování databáze

Takže začneme.

Co je testování databáze?

Než budu mluvit o tom, co je testování databází, dovolte mi, abych vás nejprve informoval o databázích. Databáze není nic jiného než systematický sběr dat, který poskytuje úložiště dat a pomáhá při manipulaci s daty. Správa dat je pomocí těchto databází velmi snadná, protože databáze používají objekty pro správu dat, jako jsou tabulky pro ukládání dat, zobrazení reprezentace dat, funkce a spouštěče pro manipulaci s daty.

Teď testování databáze označuje proces ověřování dat, která jsou uložena v databázi, ověřováním objektů, které řídí data, a různých funkcí, které je obklopují. Obecně jsou během testování databáze pokryty činnosti jako kontrola platnosti dat, testování integrity dat, kontrola výkonu, testování různých procedur, spouštěčů a funkcí v databázi.

Ale aby bylo možné provádět testování databáze, je velmi důležité mít dobrou znalost SQL. Nedělejte si starosti, pokud nemáte požadované odborné znalosti, můžete si přečíst tento článek o Základech SQL abyste s tím mohli začít.

Proč testování databáze?

Jak víme, databáze je výpis dat, kde se data shromažďují v obrovském množství a ukládají se ve strukturovaném formátu. Ačkoli DBMS (DataBase Management System) poskytuje organizovaný způsob správy, získávání a ukládání těchto dat, existují případy, kdy mohou být data nadbytečná, duplikovaná atd. V takových případech přichází na řadu testování databáze, které nám pomáhá data validovat. Níže jsem uvedl různé aspekty, na základě kterých je třeba databázi ověřit:

  1. Mapování dat
    Mapování dat je nedílnou součástí testování databází, které se zaměřuje na ověřování dat, která procházejí tam a zpět mezi aplikací a backendovou databází.
  2. Ověření vlastností ACID
    KYSELINA znamená A tomicity, C stálost, útěcha a D užitkovost. Toto je další důležitý aspekt, který je třeba potvrdit u každé databázové transakce.

    • Atomicita :To znamená, že všechny databázové transakce jsou atomické, tj. transakce mohou vést k úspěchu nebo selhání. Také známé jako Vše nebo nic .
    • Konzistence :To znamená, že stav databáze zůstane platný i po dokončení transakce.
    • Izolace :To znamená, že lze provést více transakcí najednou, aniž by se vzájemně ovlivňovaly a měnily stav databáze.
    • Trvanlivost :To znamená, že jakmile je transakce potvrzena, zachová změny bez jakéhokoli selhání bez ohledu na vliv vnějších faktorů.
  3. Integrita dat
    Testování integrity dat databáze se týká procesu hodnocení všech druhů procesů, operací a metod, které se používají pro přístup, správu a aktualizaci databáze známé také jako CRUD operace. To se zaměřuje výhradně na testování přesnosti a konzistence dat uložených v databázi tak, abychom získali očekávané nebo požadované výsledky.
  4. Shoda s obchodními pravidly
    Se zvyšující se složitostí databází se také začínají komplikovat různé komponenty, jako jsou relační omezení, spouštěče, uložené procedury atd. Aby se tomu zabránilo, testeři poskytují některé dotazy SQL, které jsou dostatečně vhodné pro ověření složitých objektů.

Typy testování databáze

Existují 3 typy testování databáze, které jsem uvedl níže:

  1. Strukturální testování
  2. Funkční testování
  3. Nefunkční testování

Pojďme se nyní podívat na každý z těchto typů a jejich podtypy jeden po druhém.

Strukturální testování

Strukturální testování databáze je proces ověřování všech prvků, které jsou přítomny v datovém úložišti a primárně se používají pro ukládání dat. S těmito prvky nemohou přímo manipulovat koncoví uživatelé. Ověření databázových serverů je jedním z nejdůležitějších aspektů a testeři, kterým se podaří tuto fázi úspěšně dokončit, získávají mistrovství v SQL dotazech.

Různé typy strukturálního testování jsou:

  • Testování schématu

Tento typ testování je také známý jako testování mapování a provádí se, aby bylo zajištěno, že mapování schématu frontendu a backendu bude synchronizováno. Některé z důležitých kontrolních bodů tohoto testování jsou:

    • Ověřuje různé typy formátů schémat, které jsou přidruženy k databázím.
    • Nenamapované tabulky/zobrazení/sloupce vyžadují ověření.
    • Ověření je také nutné k zajištění konzistence heterogenních databází v prostředí s celkovým mapováním aplikace.
    • Poskytuje různé nástroje pro ověřování schémat databáze.
  • Testování databázových tabulek a sloupců

Některé z důležitých kontrolních bodů tohoto testování:

    • Kompatibilita mapování databázových polí a sloupců na back-endu a front-endu.
    • Ověření délky a konvence pojmenování databázových polí a sloupců podle požadavků.
    • Detekce a ověření všech nepoužívaných/nemapovaných databázových tabulek/sloupců.
    • Ověření kompatibility typu dat a délek polí ve sloupcích backendové databáze s frontendem aplikace.
    • Ověřuje, že uživatelé jsou schopni poskytovat požadované vstupy pomocí databázových polí, která jsou specifikována v dokumentech se specifikací obchodních požadavků.
  • Testování klíčů a indexů

Některé z důležitých kontrolních bodů tohoto testování:

    • Ujistěte se, že požadovaný primární klíč a omezení cizího klíče již existují v požadovaných tabulkách.
    • Ověřte reference cizích klíčů.
    • Ujistěte se, že ve dvou tabulkách jsou datové typy primárního klíče a odpovídající cizí klíče stejné.
    • Ověřte názvy všech klíčů a indexů na základě konvencí pojmenování.
    • Zkontrolujte velikost a délku požadovaných polí a indexů.
    • Zajistěte vytvoření klastrových indexů a neklastrovaných indexů v požadovaných tabulkách podle obchodních požadavků.
  • Testování uložených procedur

Některé z důležitých kontrolních bodů tohoto testování:

    • Ověřte přijetí požadovaných konvencí standardu kódování, zpracování výjimek a chyb pro všechny uložené procedury vývojovým týmem ve všech modulech testované aplikace.
    • Ujistěte se, že vývojový tým pokryl všechny podmínky/cykly aplikací požadovaných vstupních dat na testovanou aplikaci.
    • Při každém načtení dat ze zadaných databázových tabulek zkontrolujte, zda vývojový tým správně použil operace TRIM či nikoli.
    • Zajistěte, aby byly požadované výstupy generovány ručním spuštěním uložených procedur.
    • Ručním spuštěním uložených procedur zajistěte, aby byla pole tabulky aktualizována podle specifikace testované aplikace.
    • Zajistěte, aby byly požadované spouštěče implicitně vyvolány spuštěním uložených procedur.
    • Zjistit a ověřit všechny nepoužívané uložené procedury.
    • Ověření podmínky Null na úrovni databáze.
    • Ujistěte se, že všechny uložené procedury a funkce byly provedeny a otestovány v prázdné databázi, která je testována.
    • Ověřte celkovou integraci modulů uložených procedur, jak je uvedeno v požadavcích testované aplikace.
  • Testování spouštěče

Některé z důležitých kontrolních bodů tohoto testování:

    • Ověření, že požadované konvence kódování jsou dodržovány ve fázi kódování spouštěčů.
    • Ujistěte se, že provedené spouštěče splňují požadované podmínky pro příslušné transakce DML.
    • Po provedení spouštěčů zkontrolujte, zda jsou data správně aktualizována.
    • Ověřte funkce testované aplikace, jako jsou funkce spouštěčů Update, Insert, Delete.
  • Ověření databázového serveru

Některé z důležitých kontrolních bodů tohoto testování:

    • Ověřte konfigurace databázového serveru, jak je uvedeno v obchodních požadavcích.
    • Zajistěte, aby požadovaný uživatel provedl pouze ty úrovně akcí, které vyžaduje testovaná aplikace.
    • Zajistěte, aby databázový server byl schopen uspokojit potřeby maximálního počtu povolených uživatelských transakcí, jak je uvedeno ve specifikacích obchodních požadavků.

Funkční testování

Funkční testování databáze je proces, který zajišťuje, že transakce a operace prováděné koncovými uživateli jsou v souladu s obchodními specifikacemi.

Různé typy funkčního testování jsou:

  • Testování černé skříňky

Testování černé skříňky označuje proces, který kontroluje různé funkce ověřením integrace databáze. V tomto jsou testovací případy obvykle jednoduché a slouží k ověření příchozích a odchozích dat z funkce. K testování funkčnosti databáze se používají různé techniky, jako je technika grafů příčin a následků, analýza hraničních hodnot a rozdělení ekvivalence. Obecně se provádí v raných vývojových fázích a stojí méně ve srovnání s jinými funkčními testy. Přichází však s některými nevýhodami, jako je, že některé chyby nelze detekovat a neexistuje žádná specifikace, jak velká část programu by měla být testována.

  • Testování bílého pole

Testování White Box se zabývá vnitřní strukturou databáze a uživatelé neznají podrobnosti specifikace. Toto testování vyžaduje databázové triggery a testování logických pohledů, které podporuje refaktoring databáze. Navíc se zde testují databázové funkce, triggery, pohledy, SQL dotazy atd. Testování bílého pole se používá k ověření databázových tabulek, datových modelů, schématu databáze atd. Dodržuje pravidla referenční integrity a vybírá výchozí hodnoty tabulek pro ověření konzistence databáze. K provádění testování White Box se často používají techniky jako pokrytí podmínek, pokrytí rozhodnutí, pokrytí prohlášení atd. Na rozdíl od testování Black boxu lze chyby kódování snadno odhalit a odstranit tak interní chyby v databázi. Jedinou nevýhodou tohoto typu testování je, že nepokrývá příkazy SQL.

Nefunkční testování

Nefunkční testování je proces provádění zátěžového testování, zátěžového testování, kontroly minimálních systémových požadavků, které jsou nutné pro splnění obchodních specifikací, spolu s detekcí rizik a optimalizací výkonu databáze.

Hlavní typy nefunkčního testování jsou:

  • Testování zátěže

Primární funkcí provádění zátěžového testování je ověřit dopad většiny probíhajících transakcí v databázi na výkon. Při tomto testování je tester povinen zkontrolovat následující podmínky −

    • Jaká je doba odezvy požadovaná pro provádění transakcí pro více vzdáleně umístěných uživatelů?
    • Jak dlouho trvá databáze načtení konkrétních záznamů?
  • Zátěžové testování

Zátěžové testování je testovací proces, který se provádí za účelem zjištění bodu zlomu systému. Při tomto testování se tedy aplikace načítá až do bodu, kdy systém selže. Tento bod je známý jako bod přerušení databázového systému. Běžně používané nástroje pro zátěžové testování jsou LoadRunner a WinRunner .

Pojďme se nyní podívat, jaké jsou různé fáze testování databáze.

Fáze testování databáze

Testování DB není zdlouhavý proces a zahrnuje různé fáze životního cyklu testování databáze v souladu s testovacími procesy.

Klíčové fáze testování databáze jsou:

  1. Nastavte předběžné požadavky na testování
  2. Proveďte testy
  3. Ověřte stav testu
  4. Ověřit výsledky
  5. Konsolidovat a publikovat zprávu

Nyní, když víte, co je testování databází a jak ho provádět, dovolte mi nyní trochu osvětlit různé nástroje, které se převážně používají k testování databází.

Nástroje na testování databáze

Na trhu existuje mnoho nástrojů, které se používají ke generování testovacích dat, jejich správě a nakonec provádění testování databáze, jako je zátěžové testování a regresní testování atd. Níže jsem uvedl několik nejpreferovanějších nástrojů:

Kategorie Nástroje
Nástroje pro zabezpečení dat
  • Ochrana osobních údajů IBM Optim
Načíst nástroje pro testování
  • Výkon webu
  • Rad View
  • rtuť
Testovací nástroje pro generátor dat
  • Datová továrna
  • Generátor dat DTM
  • Data Turbo
Nástroj pro správu testovacích dat
  • IBM Optim Test Data Management
Nástroje na testování jednotek
  • Jednotka SQL
  • TSQLUnit
  • DBFit
  • Jednotka DBU

Takže to bylo vše o testování databáze. Tímto bych chtěl tento článek uzavřít. Doufám, že vám tento článek pomohl zvýšit hodnotu vašich znalostí. Pro více informací o SQL nebo databázích se můžete podívat na náš komplexní seznam četby zde:Databáze Edureka .

Pokud si přejete absolvovat strukturované školení o MySQL, podívejte se na naše certifikační školení MySQL DBA který přichází s instruktorem vedeným živým školením a reálnými zkušenostmi z projektů. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí tohoto předmětu.

Máte na nás otázku? Uveďte to prosím v sekci komentářů „Testování databáze “ a já se vám ozvu.


  1. Jak mohu prohledávat všechny sloupce v tabulce?

  2. ClusterControl:Úvod do nového monitoru dotazů

  3. Monitorování SQL databáze přes SP_WhoIsActive nebo FogLight | Řešení problémů s výkonem serveru SQL -1

  4. Jak funguje LOAD_FILE() v MariaDB