database crud testing through ui with sample test cases
Co jsou operace CRUD a jak provádět CRUD testování prostřednictvím uživatelského rozhraní:
Lidské bytosti začaly ukládat informace ještě před několika desítkami let! A v té době byly v historii výpočtů použity databáze plochých souborů, kde byla všechna data uložena v souboru.
Později, na začátku 70. let, IBM vyvinula první model relační databáze, který zavedl „indexy“ pro snadné načtení dat.
Co se naučíte:
- Přehled operací CRUD
- Proč je testování databáze důležité?
- 4 základní funkce databáze
- Definice CRUD
- CRUD testování
- Jak otestovat funkčnost softwaru CRUD?
- Závěr
- Doporučené čtení
Přehled operací CRUD
V současné době je nejběžnějším systémem ukládání dat systém Databáze kde software vytváří, čte, aktualizuje a odstraňuje data prostřednictvím dotazů. Počítačový software může reagovat na požadavky uživatelů rychleji a efektivněji prostřednictvím správně navržené databáze a dotazů.
To znamená, že testování a ověřování databáze je velmi důležitým faktorem.
Odpovědi grafického uživatelského rozhraní (GUI), jako jsou chybové zprávy, zprávy o úspěchu atd., Považují téměř všichni správci testů za velmi důležité. Důvodem je to, že GUI se stane viditelnou součástí aplikace, kterou mohou uživatelé vidět. Testování databáze je však stejně důležité.
Z mých zkušeností jsem viděl mnoho manuálních testerů, kteří to považují za zdlouhavou práci, ale ve skutečnosti tomu tak není.
V tomto tutoriálu probereme testování funkčnosti databáze černé skříňky pomocí uživatelského rozhraní a MySQL dotazů jednoduchým způsobem se snadnými příklady.
Proč je testování databáze důležité?
Níže uvedené body vysvětlí význam testování databáze velmi stručně.
- Data jsou důležitým aktivem a je třeba je ukládat a chránit.
- Databáze se s novými technologiemi a platformami komplikují. Šance na chyby se proto zvyšují.
- S hodnotami uloženými v databázi mohou být spojeny kritické funkce.
- Problémy v databázi nebo dotazy mohou vést k velkým funkčním problémům.
- Zajistit správné mapování dat.
Testování databáze lze provést jako jednotkový test, test černé skříňky , test bílé skříňky a šedý text pole.
4 základní funkce databáze
Databázový software má obecně čtyři hlavní funkce, které budou zřejmé z níže uvedených příkladů.
Příklad 1:
Facebook, nejznámější web sociálních sítí.
- Můžete si vytvořit nový účet
- Zobrazit podrobnosti účtu
- Upravit podrobnosti účtu
- Smažte účet
- Můžete vytvářet komentáře
- Zobrazit je
- Upravte je
- Smažte je
Příklad 2:
LinkedIn, slavný web pro hledání zaměstnání:
prokázat to c # test odpovědi
- Můžete si vytvořit svůj profil
- Zobrazit
- Upravte to
- Smazat to
- Můžete přidávat příspěvky
- Zobrazit je
- Upravte je
- Smažte je
Všimli jste si zde souboru společných aktivit?
Ano! Máš pravdu.
Většina softwaru podporuje tyto funkce vytváření, prohlížení, úpravy a mazání z místa, kde se tento výraz nachází KRUTÝ přijde.
Definice CRUD
V počítačovém programování KRUTÝ znamená Vytvořit, Číst, Aktualizovat a Odstranit. Jedná se o čtyři hlavní a základní funkce trvalého úložiště. Ty se často provádějí v softwarových aplikacích prostřednictvím formulářů.
- Vytvořit - VLOŽTE záznam do databáze.
- Číst nebo Načíst - VYBERTE položku z databáze a zobrazte ji.
- Aktualizace - AKTUALIZUJTE záznam úplně nebo částečně.
- Vymazat nebo zničit - DROP / ODSTRANIT záznam.
Na základě softwarových požadavků se cykly CRUD mohou lišit.
Například: někdy si prodejce vytvoří účet a uživatel si ho prohlédne. Uživatel nemusí mít oprávnění jej upravovat nebo mazat. Na druhé straně může být požadavek: uživatel vytvoří svůj účet a prodejce jej ověří a schválí. Tyto cykly jsou z hlediska testera velmi důležité.
Pro výše popsané funkce je v databázi spuštěn odpovídající dotaz.
Níže jsou uvedeny příklady dotazů MYSQL pro každou akci
Akce | Ukázkový dotaz |
---|---|
VYTVOŘIT | INSERT INTO table_name (column1, column2, column3, ...) HODNOTY (hodnota1, hodnota2, hodnota3, ...); |
ČÍST | VYBERTE * z tabulky; |
AKTUALIZACE | UPDATE název_tabulky SET sloupec1 = hodnota11, sloupec2 = hodnota22 KDE podmínka; |
VYMAZAT | ODSTRANIT Z TABULKY název_tabulky, kde sloupec1 = „hodnota11“; |
Tři varianty CRUD jsou CHLÉB (Procházet, číst, upravovat, přidávat, mazat), DAVE (Odstranit, Přidat, Zobrazit, Upravit) a BLBOST (Vytvořit, replikovat, připojit, zpracovat).
CRUD testování
Testování CRUD je testování černé skříňky funkčnosti databáze.
Jak víme, testování černé skříňky považuje testovací softwarový systém za „černou skříňku a testy se provádějí prostřednictvím uživatelského rozhraní.
Pochopili jsme, že každá front-end akce, jako je registrace účtu, úprava osobních údajů, prohlížení podrobností, mazání účtu atd., Má v databázi odpovídající akci CRUD. Provádí se testování CRUD, aby se zkontrolovalo, zda se tyto akce v databázi správně odrážejí nebo ne.
Testování CRUD se liší od běžného front-endového testování černé skříňky, kde kontrolujeme zprávy o úspěchu jako „Účet byl úspěšně vytvořen“ po registraci uživatele atd. Zde musíme zkontrolovat, zda se údaje o účtu skutečně dostávají do databáze nebo ne.
Ruční tester to může udělat dvěma způsoby:
# 1) Provádějte dotazy sami- Testeři, kteří dobře rozumějí jazyku SQL a požadavkům na software, mohou provádět vlastní dotazy k testování databáze. Tímto způsobem lze všechny možné případy ověřit pomocí dobrých dotazů.
# 2) Spouštějte dotazy pomocí vývojáře- Testeři mohou začít ověřováním uživatelského rozhraní aplikace a získávat dotazy od vývojáře.
Při psaní testovacích případů pro operace CRUD je třeba vzít v úvahu následující otázky:
- Jaký druh akce CRUD je platný a co neplatný pro testovací aplikaci?
- Jaký vztah mezi sebou mají / mají mít akce CRUD?
- Kdy jsou provedeny akce CRUD?
- Kdo přistupuje k funkcím CRUD? Nastavuje systém různá oprávnění pro různé uživatele?
Obecný testovací proces pro Testování DB se příliš neliší od obvyklého manuálního testování černé skříňky GUI.
Jako,
Krok 1: Připravte testovací prostředí.
Krok 2: Proveďte kroky testu.
Krok 3: Zkontrolujte výsledek testu.
Krok 4: Ověřte skutečné výsledky podle očekávaných výsledků.
Krok 5: Hlášení chyb a dalších nálezů.
Za účelem kontroly výsledku testu se použije odezva GUI a výsledek dotazu. Pro CRUD black box testing, we just need a query, which is SELECT.
Jak všichni víme, databáze ukládají data. Když potřebujeme načíst data, použije se dotaz SELECT. Při testování černé skříňky musíme pouze použít tento dotaz, abychom zjistili, zda akce prostřednictvím uživatelského rozhraní ukazují správné odrazy v databázi nebo ne.
‚SELECT 'lze použít následujícími způsoby:
# 1) Pokud chce tester zkontrolovat a ověřit všechna data, může použít počáteční symbol (*) v dotazu SELECT. Toto je nejjednodušší forma dotazu SELECT.
SELECT * FROM table_name;
Výše uvedený příkaz vybere všechna pole ze všech řádků z tabulky table_name.
# 2) V některých případech může být první výsledek dotazu špinavý. Pokud se tester zajímá pouze o některá pole, lze použít následující skript.
jaký je nejlepší stahovač hudby pro PC
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
Výše uvedené prohlášení vybírá ze všech řádků tabulky table_name pole „field_1“, „field_2“ a „field_3“.
# 3) Pokud chce tester vidět výsledky na základě jakýchkoli kritérií, lze použít klauzuli WHERE.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
Výše uvedené prohlášení vybírá pole „pole_1“ ze všech řádků z tabulky název_tabulky, kde „pole2“ je „úspěch“.
Jak otestovat funkčnost softwaru CRUD?
Zvažte následující Příklad uživatelského rozhraní, které umožňuje určitá uživatelská oprávnění pro používání databáze MySQL k ukládání dat.
PŘÍKLAD | DATABÁZE PODROBNOSTI |
---|---|
1. Může VYTVOŘIT produkt se všemi podrobnostmi, včetně názvu produktu, popisu produktu, ceny produktu pomocí formuláře „Přidat produkt“ | Databáze: Shopping_DB Tabulka: produkt Pole: product_name, product_details, product_price Vytvoří řádek v tabulce „produkt“ s podrobnostmi přidanými do příslušných polí |
2. Může si přečíst podrobný název produktu, popis produktu, cenu produktu na stránce s podrobnostmi o produktu. | Databáze: Shopping_DB Tabulka: produkt Pole: product_name, product_details, product_price Vybere všechna data nebo vybere konkrétní data z tabulky „produkty“ |
3. Může AKTUALIZOVAT název produktu, popis produktu, cenu produktu pomocí formuláře „Úpravy produktu“. | Databáze: Shopping_DB Tabulka: produkt Pole: product_name, product_details, product_price Aktualizujte všechny podrobnosti nebo konkrétní podrobnosti v určitém řádku v tabulce „produkty“ |
4. Může SMAZAT produkt | Databáze: Shopping_DB Tabulka: produkt Pole: product_name, product_details, product_price Odstraňte všechny podrobnosti v tabulce produktů přetažením tabulky nebo z ní odstraňte konkrétní řádek. |
Podívejme se, jak lze v tomto případě zkontrolovat funkčnost CRUD.
Poznámka :Vždy provádějte testování CRUD na skládkách databáze, protože toto testování může způsobit změny v databázi. Následující příkaz lze použít k vypsání výpisu z celé databáze.
$ mysqldump -u (uname) -p (pass) Shopping_DB> Shopping_DB_backup.sql
# 1) VYTVOŘTE funkčnost
Přidáním nové položky produktu lze postupovat podle následujících kroků:
- Načtěte formulář „Přidat produkt“.
- Zadejte název produktu, řekněte „název testu“.
- Zadejte popis produktu a řekněte „toto je testovací detail produktu“.
- Zadejte cenu produktu, řekněte „100“.
- Odešlete formulář.
Kontrola výsledku:
- Tester ručně ověří, zda je produkt zobrazen se všemi podrobnostmi v přední části softwarové aplikace.
- Tester provede dotaz na databázovém serveru MYSQL a zkontroluje, zda je přítomen konkrétní řádek
Dotaz:
nejlepší aplikace pro snímky obrazovky pro Windows 10
SELECT * FROM products WHERE product_name = ‘test name’;
Výsledek dotazu z MySQL:
Řádek s odpovídajícími detaily by měl být zobrazen jako,
mysql> SELECT * FROM products WHERE product_name = ‚test name '; + ------------- + ----------------------------- + ----- ------------ + | název_produktu | podrobnosti o produktu | cena_produktu + ------------- + ----------------------------- + ----- ------------ + | název testu | toto jsou podrobnosti o testovacím produktu | 100 | |
Další případy, které je třeba zvážit:
- U některých systémů budou mít různí uživatelé různá oprávnění. V takovém případě by testeři možná museli zkontrolovat odpověď pro každou roli uživatele.
- Pokud duplicitní produkty nejsou povoleny, může to tester zkontrolovat přidáním produktu se stejnými podrobnostmi ještě jednou. Tentokrát by databáze neměla mít druhý záznam odpovídající stejnému produktu.
- Pokud software umožňuje vytváření více produktů najednou, může tester zkontrolovat, zda byly všechny podrobnosti všech produktů v odeslání správně zadány do databáze nebo ne.
- Vyzkoušejte různé kombinace vstupů.
- Zkontrolujte, co se stane během výpadku serveru.
# 2) Přečtěte si funkčnost
Chcete-li zkontrolovat, zda je vytvořená položka čitelná, můžete postupovat podle následujících kroků:
- Vytvořte některé produkty s různými kombinacemi vstupů pomocí funkce CREATE, řekněme název testu 1, název testu 2, název testu 3.
- Zkuste vyhledat produkty.
Kontrola výsledku:
- Tester ručně ověří, zda jsou podrobnosti o produktu správné.
- Tester porovnává podrobnosti s těmi, které jsou uloženy v databázi.
Dotaz:
VYBRAT * Z PRODUKTŮ WHERE product_name = ‚název testu 1‘ NEBO product_name = ‚název testu 12‘ NEBO product_name = ‚název testu 3 '; |
Výsledek dotazu z MySQL:
Musí být zobrazeny podrobnosti o vybraných produktech. Tester to může ověřit a porovnat s výsledky v uživatelském rozhraní.
mysql> SELECT * FROM products WHERE product_name = 'test name 1' OR product_name = 'test name 12' OR product_name = 'test name 3'; + ------------- + ----------------------------- + ----- ------------ + | název_produktu | podrobnosti o produktu | cena_produktu + ------------- + ----------------------------- + ----- ------------ + | název testu 1 | toto je testovací detail produktu1 | 100 | | název testu 2 | toto je testovací detail produktu2 | 100 | | název testu 3 | toto je detail testovacího produktu3 | 100 | |
Další případy, které je třeba zvážit:
- Zobrazit položky jeden po druhém.
- Zobrazit více položek najednou.
- Pokouší se zobrazit položku, která neexistuje.
- Zkuste hledat za různých podmínek.
- Zkuste zkontrolovat funkčnost různých uživatelských rolí.
- Zkontrolujte, co se stane během výpadku serveru.
# 3) AKTUALIZACE funkčnosti
Chcete-li upravit nebo aktualizovat stávající položky, můžete postupovat podle následujících kroků:
- Vytvořte produkt pomocí funkce VYTVOŘIT.
- Upravte různá pole produktu, řekněte „název testu“ na „V Neck Top“.
- Předložit
Kontrola výsledku:
- Tester ručně ověří, že se změnily podrobnosti o produktu
- Tester provede dotaz MYSQL a uvidí podrobnosti
Dotaz:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Výsledek dotazu z MySQL:
Měl by se zobrazit řádek s odpovídajícími podrobnostmi.
mysql> VYBRAT * Z PRODUKTŮ WHERE product_name = 'V Neck Top'; + ------------- + ----------------------------- + ----- ------------ + | název_produktu | podrobnosti o produktu | cena_produktu + ------------- + ----------------------------- + ----- ------------ + | Top s výstřihem do V | toto jsou podrobnosti o testovacím produktu | 100 | + ------------- + ----------------------------- + ----- ------------ + |
Pokud vyhledáváte se starým názvem produktu, databáze by neměla vracet podrobnosti.
Další případy, které je třeba zvážit:
- Aktualizujte více položek najednou.
- Aktualizujte na hodnotu klíče, která již existuje.
- Aktualizujte všechny podrobnosti nebo částečné podrobnosti.
- Aktualizujte pole různými kombinacemi vstupů.
- Zkontrolujte u aktualizované funkce různá oprávnění.
- Zkontrolujte, co se děje během výpadků serveru.
# 4) ODSTRANIT funkčnost
Chcete-li zkontrolovat funkčnost odstranění, můžete postupovat podle následujících kroků:
- Vytvořte produkt s funkcí VYTVOŘIT.
- Smažte produkt.
Kontrola výsledku:
- Tester ručně zkontroluje, zda je produkt odebrán z uživatelského rozhraní
- Tester ručně zkontroluje databázi MySQL a potvrdí, že příslušný řádek byl odstraněn.
Dotaz :
SELECT * FROM products WHERE product_name = ‘test name’;
Výsledek dotazu z MySQL:
To by mělo zobrazit výsledek dotazu, jak je znázorněno níže.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)
Další případy, které je třeba zvážit:
- Odstranit více položek v jednom požadavku.
- Odstranit aktualizovanou položku.
- Vezměte dvě karty a zkuste dát žádost o smazání produktu z obou karet úplně.
Závěr
Testování databáze je velmi důležité, protože potvrzuje bezpečnost a spolehlivost softwarové aplikace. Většina softwarových aplikací se zabývá vytvářením, čtením a aktualizací a mazáním dat do / z databáze. Podle požadavků na software se cykly CRUD mohou lišit. Tester by měl plánovat testovací případy na základě cyklu CRUD.
Funkce CRUD lze otestovat ručně a ověřit z uživatelského rozhraní a databáze. Dotaz SELECT lze použít k ověření změn v databázi odpovídajících každé operaci CRUD.
Jste odborníkem na testování CRUD? Máte nějaké zajímavé fakty, o které se chcete podělit s našimi čtenáři, s nimiž CRUD začíná? Neváhejte vyjádřit své myšlenky / návrhy v sekci komentáře níže !!
Doporučené čtení
- Testování databáze pomocí JMeter
- ISTQB Testování Certifikace Ukázkové dotazníky s odpověďmi
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Klíčové rozdíly mezi testováním černé skříňky a testováním bílé skříňky
- Testování stahování e-knih Primer
- Jednoduchý přístup pro testování XML k databázi
- 40+ nejlepších nástrojů pro testování databáze - oblíbená řešení pro testování dat
- Výukový program pro testování grafického uživatelského rozhraní: Kompletní příručka pro testování uživatelského rozhraní (UI)