database crud testing through ui with sample test cases
Čo sú operácie CRUD a ako vykonávať testy CRUD prostredníctvom používateľského rozhrania:
Ľudia začali ukladať informácie už pred niekoľkými desaťročiami! A v tých časoch sa v histórii výpočtov používali databázy plochých súborov, kde sa všetky údaje ukladali do súboru.
Neskôr, na začiatku 70. rokov, IBM vyvinula prvý model relačnej databázy, ktorý zaviedol „indexy“ na ľahké načítanie údajov.
Čo sa dozviete:
- Prehľad operácií CRUD
- Prečo je testovanie databázy dôležité?
- 4 základné funkcie databázy
- Definícia CRUD
- CRUD testovanie
- Ako otestovať funkčnosť softvéru CRUD?
- Záver
- Odporúčané čítanie
Prehľad operácií CRUD
V súčasnosti najbežnejším systémom na ukladanie údajov je Databáza kde softvér vytvára, číta, aktualizuje a odstraňuje údaje prostredníctvom dotazov. Počítačový softvér dokáže rýchlejšie a efektívne reagovať na požiadavky používateľov prostredníctvom správne navrhnutej databázy a dotazov.
To znamená, že testovanie a overovanie databázy je veľmi dôležitým faktorom.
Odpovede grafického používateľského rozhrania (GUI), ako sú chybové správy, správy o úspechu atď., Považujú takmer všetci manažéri testov za veľmi dôležité. Je to tak preto, že GUI je viditeľnou súčasťou aplikácie, ktorú môžu používatelia vidieť. Testovanie databázy je však rovnako dôležité.
Z mojich skúseností som videl veľa manuálnych testerov, ktorí to považujú za zdĺhavú prácu, ale to tak v skutočnosti nie je.
V tomto výučbe sa budeme zaoberať testovaním funkčnosti databázy čiernych skriniek pomocou dotazov na používateľské rozhranie a MySQL jednoduchým spôsobom s jednoduchými príkladmi.
Prečo je testovanie databázy dôležité?
Body uvedené nižšie vysvetlia dôležitosť testovania databázy veľmi stručným spôsobom.
- Dáta sú dôležitým prínosom a je potrebné ich ukladať a chrániť.
- Databázy sa s novými technológiami a platformami komplikujú. Preto sa zvyšuje šanca na chyby.
- S hodnotami uloženými v databáze môžu byť spojené kritické funkcie.
- Problémy v databáze alebo dotazy môžu viesť k veľkým problémom s funkčnosťou.
- Zaistenie správneho mapovania údajov.
Testovanie databázy je možné vykonať ako jednotkový test, test čiernej skrinky , test bielej skrinky a sivý text poľa.
4 základné funkcie databázy
Databázový softvér má všeobecne štyri hlavné funkcie, ktoré budú zrejmé z nasledujúcich príkladov.
Príklad 1:
Facebook, najslávnejší web sociálnych sietí.
- Môžete si vytvoriť nový účet
- Zobraziť podrobnosti účtu
- Upravte podrobnosti účtu
- Odstráňte účet
- Môžete vytvárať komentáre
- Zobraziť ich
- Upravte ich
- Vymažte ich
Príklad 2:
LinkedIn, slávna webová stránka hľadania práce:
webové stránky na prevod videí z youtube na mp3
- Môžete si vytvoriť svoj profil
- Zobraziť
- Upravte to
- Vymaž to
- Môžete pridávať príspevky
- Zobraziť ich
- Upravte ich
- Vymažte ich
Všimli ste si tu súbor bežných aktivít?
Áno! Máš pravdu.
Väčšina softvéru podporuje tieto funkcie vytvárania, prezerania, úprav a mazania z miesta, kde sa výraz nachádza CRUEL prichádza.
Definícia CRUD
V počítačovom programovaní CRUEL znamená Vytvoriť, Čítať, Aktualizovať a Odstrániť. Toto sú štyri hlavné a základné funkcie trvalého ukladania. Často sa to deje v softvérových aplikáciách prostredníctvom formulárov.
- Vytvoriť - VLOŽTE záznam do databázy.
- Čítať alebo Načítať - VYBERTE záznam z databázy a zobrazte ho.
- Aktualizácia - AKTUÁLNE alebo čiastočne aktualizujte záznam.
- Odstrániť alebo Zničiť - DROP / ODSTRÁNIŤ záznam.
Na základe softvérových požiadaviek sa cykly CRUD môžu líšiť.
Napríklad: niekedy si predajca vytvorí účet a používateľ si ho prezerá. Používateľ nemusí mať oprávnenie na jeho úpravu alebo odstránenie. Na druhej strane môže byť požiadavka: používateľ si vytvorí svoj účet a predajca ho overí a schváli. Tieto cykly sú z hľadiska testera veľmi dôležité.
Pre funkcie popísané vyššie je v databáze spustený zodpovedajúci dotaz.
Ďalej uvádzame príklady dotazov MYSQL pre každú akciu
Akcia | Ukážka dopytu |
---|---|
VYTVORIŤ | INSERT INTO table_name (column1, column2, column3, ...) HODNOTY (hodnota1, hodnota2, hodnota3, ...); |
ČÍTAŤ | VYBERTE * z tabuľky; |
AKTUALIZÁCIA | UPDATE table_name SET stĺpec1 = hodnota11, stĺpec2 = hodnota22 KDE stav; |
ODSTRÁNIŤ | ODSTRÁNIŤ Z TABUĽKY názov_tabuľky, kde stĺpec1 = „hodnota11“; |
Tri varianty CRUD sú CHLIEB (Prehliadať, Čítať, Upravovať, Pridať, Odstrániť), DAVE (Vymazať, Pridať, Zobraziť, Upraviť) a CRAP (Vytvoriť, replikovať, pridať, spracovať).
CRUD testovanie
CRUD testovanie je čierna skrinka testujúca funkčnosť databázy.
Ako vieme, testovanie čiernej skrinky považuje testovací softvérový systém za „čiernu skrinku a testy sa uskutočňujú prostredníctvom používateľského rozhrania.
Pochopili sme, že každá front-endová akcia, ako je registrácia účtu, úprava osobných údajov, prezeranie podrobností, odstránenie účtu atď., Má v databáze zodpovedajúcu akciu CRUD. Vykonáva sa testovanie CRUD, aby sa skontrolovalo, či sa tieto akcie odrážajú v databáze správne alebo nie.
CRUD testovanie sa líši od bežného front-end testovania čiernej skrinky, kde kontrolujeme správy o úspechu ako „Účet bol úspešne vytvorený“ po registrácii používateľa atď. Tu musíme skontrolovať, či sa údaje o účte skutočne dostávajú do databázy alebo nie.
Ručný tester to môže urobiť dvoma spôsobmi:
# 1) Spúšťajte dotazy sami- Testéri, ktorí dobre rozumejú jazyku SQL a požiadavkám na softvér, môžu na otestovanie databázy robiť vlastné dotazy. Týmto spôsobom je možné overiť všetky možné prípady pomocou dobrých dotazov.
# 2) Vykonávajte dotazy pomocou vývojára- Testéri môžu začať overovaním používateľského rozhrania aplikácie a dostávať dotazy od vývojárov.
Pri písaní testovacích prípadov pre operácie CRUD by ste mali brať do úvahy nasledujúce otázky:
- Aký druh akcie CRUD je platný a čo neplatné pre testovaciu aplikáciu?
- Aký druh vzťahu majú / majú mať akcie CRUD?
- Kedy sa vykonávajú akcie CRUD?
- Kto má prístup k funkcii CRUD? Nastavuje systém rôzne privilégiá pre rôznych používateľov?
Všeobecný testovací proces pre DB testovanie sa príliš nelíši od obvyklého manuálneho testovania čierneho skrinky GUI.
Páči sa mi to,
Krok 1: Pripravte testovacie prostredie.
Krok 2: Vykonajte kroky testu.
Krok 3: Skontrolujte výsledok testu.
Krok 4: Overte skutočné výsledky podľa očakávaných výsledkov.
Krok 5: Nahláste chyby a ďalšie zistenia.
Na kontrolu výsledku testu sa použije odozva GUI a výsledok dotazu. Na testovanie čiernej skrinky CRUD potrebujeme iba dotaz, ktorým je SELECT.
Ako všetci vieme, databázy ukladajú údaje. Keď potrebujeme načítať údaje, použije sa dotaz SELECT. Pri testovaní čiernej skrinky musíme tento dotaz použiť, aby sme zistili, či akcie prostredníctvom používateľského rozhrania ukazujú správne odrazy v databáze alebo nie.
Funkciu „SELECT“ možno použiť nasledujúcimi spôsobmi:
# 1) Ak chce tester skontrolovať a overiť všetky údaje, môže v dotaze SELECT použiť začiatočný symbol (*). Toto je najjednoduchšia forma dotazu SELECT.
SELECT * FROM table_name;
Vyššie uvedené vyhlásenie vyberie všetky polia zo všetkých riadkov z tabuľky table_name.
# 2) V niektorých prípadoch môže byť prvý výsledok dotazu chaotický. Ak sa tester zaujíma iba o niektoré polia, je možné použiť nasledujúci skript.
bezplatná časová karta pre Android
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
Vyššie uvedené vyhlásenie vyberie zo všetkých riadkov tabuľky table_name polia „field_1“, „field_2“ a „field_3“.
# 3) Ak chce tester vidieť výsledky na základe akýchkoľvek kritérií, môže sa použiť klauzula WHERE.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
Vyššie uvedené vyhlásenie vyberie pole „pole_1“ zo všetkých riadkov z tabuľky table_name, kde „pole2“ je „úspech“.
Ako otestovať funkčnosť softvéru CRUD?
Zvážte nasledujúce Príklad používateľského rozhrania, ktoré umožňuje určité oprávnenia používateľa na používanie databázy MySQL na ukladanie údajov.
PRÍKLAD | PODROBNOSTI O DATABÁZE |
---|---|
1. Môže VYTVORIŤ produkt so všetkými podrobnosťami vrátane názvu produktu, popisu produktu, ceny produktu pomocou formulára „Pridať produkt“ | Databáza: Shopping_DB Tabuľka: výrobok Polia: product_name, product_details, product_price Vytvorí riadok v tabuľke „produkt“ s podrobnosťami pridanými do zodpovedajúcich polí |
2. Môže si PREČÍTAŤ podrobný názov produktu, popis produktu, cenu produktu na stránke s podrobnosťami o produkte. | Databáza: Shopping_DB Tabuľka: výrobok Polia: product_name, product_details, product_price Vyberte všetky údaje alebo vyberte konkrétne údaje z tabuľky „produkty“ |
3. Môže AKTUALIZOVAŤ názov produktu, popis produktu, cenu produktu pomocou formulára „Úprava produktu“. | Databáza: Shopping_DB Tabuľka: výrobok Polia: product_name, product_details, product_price Aktualizujte všetky podrobnosti alebo konkrétne podrobnosti v konkrétnom riadku v tabuľke „produkty“ |
4. Môže VYMAZAŤ produkt | Databáza: Shopping_DB Tabuľka: výrobok Polia: product_name, product_details, product_price Odstráňte všetky podrobnosti v tabuľke „produkty“ tak, že ju pustíte, alebo z nej odstráňte konkrétny riadok. |
Pozrime sa, ako je možné v tomto prípade skontrolovať funkčnosť systému CRUD.
Poznámka :Testovanie CRUD vždy vykonávajte na výpisoch z databázy, pretože toto testovanie môže spôsobiť zmeny v databáze. Nasledujúci príkaz je možné použiť na vykonanie výpisu z celej databázy.
$ mysqldump -u [uname] -p [pass] Shopping_DB> Shopping_DB_backup.sql
# 1) VYTVORTE funkčnosť
Pri pridávaní novej položky produktu môžete postupovať podľa týchto krokov:
- Načítajte formulár „Pridať produkt“.
- Zadajte názov produktu, povedzte „názov testu“.
- Zadajte popis produktu a povedzte „toto je podrobnosť testovacieho produktu“.
- Zadajte cenu produktu, povedzte „100“.
- Odošlite formulár.
Kontrola výsledku:
- Tester manuálne overí, či je produkt zobrazený so všetkými podrobnosťami v prednej časti softvérovej aplikácie.
- Tester vykoná dotaz na databázovom serveri MYSQL, aby skontroloval, či je prítomný konkrétny riadok
Dopyt:
čo je súbor .bin?
SELECT * FROM products WHERE product_name = ‘test name’;
Výsledok dotazu z MySQL:
Riadok so zodpovedajúcimi podrobnosťami by sa mal zobraziť ako,
mysql> SELECT * FROM products WHERE product_name = ‘test name’; + ------------- + ----------------------------- + ----- ------------ + | názov_výrobku | podrobnosti_produktu | cena_produktu + ------------- + ----------------------------- + ----- ------------ + | názov testu | toto sú podrobnosti o testovacom produkte 100 | |
Ďalšie prípady, ktoré je potrebné zvážiť:
- Pre niektoré systémy budú mať rôzni používatelia odlišné privilégiá. V takom prípade bude možno potrebné, aby testeri skontrolovali odpoveď pre každú rolu používateľa.
- Ak duplicitné produkty nie sú povolené, tester to môže skontrolovať opätovným pridaním produktu s rovnakými podrobnosťami. Tentoraz by v databáze nemala byť druhá položka zodpovedajúca rovnakému produktu.
- Ak softvér umožňuje vytvorenie viacerých produktov naraz, potom môže tester skontrolovať, či boli všetky podrobnosti o všetkých produktoch v zadaní správne vložené do databázy alebo nie.
- Vyskúšajte rôzne kombinácie vstupov.
- Skontrolujte, čo sa stane počas výpadku servera.
# 2) ČÍTAJTE funkčnosť
Ak chcete skontrolovať, či je vytvorený záznam čitateľný, môžete postupovať podľa nasledujúcich krokov:
- Pomocou funkcie CREATE môžete vytvárať niektoré produkty s rôznymi kombináciami vstupov, napríklad názov testu 1, názov testu 2, názov testu 3.
- Skúste vyhľadať produkty.
Kontrola výsledku:
- Tester ručne overí, či sú podrobnosti o produkte správne.
- Tester porovnáva podrobnosti s tými, ktoré sú uložené v databáze.
Dopyt:
VYBERTE * Z produktov WHERE product_name = ‘test name 1’ OR product_name = ‘test name 12’ OR product_name = ‘test name 3’; |
Výsledok dotazu z MySQL:
Musia sa zobraziť podrobnosti o vybraných výrobkoch. Tester to môže overiť a porovnať s výsledkami v používateľskom rozhraní.
mysql> SELECT * FROM products WHERE product_name = ‘test name 1’ OR product_name = ‘test name 12’ OR product_name = ‘test name 3’; + ------------- + ----------------------------- + ----- ------------ + | názov_výrobku | podrobnosti_produktu | cena_produktu + ------------- + ----------------------------- + ----- ------------ + | názov testu 1 | toto je detail testovacieho produktu1 | 100 | | názov testu 2 | toto je detail testovacieho produktu2 | 100 | | názov testu 3 | toto je detail testovacieho produktu3 | 100 | |
Ďalšie prípady, ktoré je potrebné zvážiť:
- Prezerajte si jednotlivé položky.
- Prezerajte si viac položiek súčasne.
- Pokúšate sa zobraziť položku, ktorá neexistuje.
- Skúste hľadať za iných podmienok.
- Skúste skontrolovať funkčnosť pre rôzne roly používateľov.
- Skontrolujte, čo sa stane počas výpadku servera.
# 3) AKTUALIZÁCIA Funkčnosť
Ak chcete upraviť alebo aktualizovať existujúce položky, môžete postupovať podľa týchto krokov:
- Vytvorte produkt pomocou funkcie CREATE.
- Upravte rôzne polia produktu, povedzte „názov testu“ až „V krku“.
- Predložiť
Kontrola výsledku:
- Tester ručne overí, či sa zmenili podrobnosti o produkte
- Tester vykoná dotaz MYSQL a uvidí podrobnosti
Dopyt:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Výsledok dotazu z MySQL:
Mal by sa zobraziť riadok s príslušnými podrobnosťami.
mysql> VYBRAT * Z PRODUKTOV WHERE product_name = „Top V krku“; + ------------- + ----------------------------- + ----- ------------ + | názov_výrobku | podrobnosti_produktu | cena_produktu + ------------- + ----------------------------- + ----- ------------ + | V výstrih do krku | toto sú podrobnosti o testovacom produkte 100 | + ------------- + ----------------------------- + ----- ------------ + |
Ak hľadáte so starým názvom produktu, databáza by nemala vracať podrobnosti.
Ďalšie prípady, ktoré je potrebné zvážiť:
- Aktualizujte viac položiek naraz.
- Aktualizácia na kľúčovú hodnotu, ktorá už existuje.
- Aktualizujte všetky podrobnosti alebo čiastočné podrobnosti.
- Aktualizujte polia rôznymi kombináciami vstupu.
- Skontrolujte aktualizovanú funkciu, či neobsahuje rôzne oprávnenia.
- Skontrolujte, čo sa deje počas výpadkov servera.
# 4) VYMAZAŤ funkčnosť
Ak chcete skontrolovať funkčnosť odstránenia, môžete postupovať podľa nasledujúcich krokov:
- Vytvorte produkt s funkciou CREATE.
- Odstrániť produkt.
Kontrola výsledku:
- Tester ručne skontroluje, či je produkt odstránený z používateľského rozhrania
- Tester ručne skontroluje databázu MySQL a potvrdí, že príslušný riadok bol odstránený.
Dopyt :
SELECT * FROM products WHERE product_name = ‘test name’;
Výsledok dotazu z MySQL:
Toto by malo zobraziť výsledok dotazu, ako je uvedené nižšie.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)
Ďalšie prípady, ktoré je potrebné zvážiť:
- Odstráňte viac položiek v jednej žiadosti.
- Odstrániť aktualizovanú položku.
- Vezmite dve karty a pokúste sa celkovo požiadať o odstránenie produktu z oboch kariet.
Záver
Testovanie databázy je veľmi dôležité, pretože potvrdzuje bezpečnosť a spoľahlivosť softvérovej aplikácie. Väčšina softvérových aplikácií sa zaoberá vytváraním, čítaním a aktualizáciou a mazaním údajov do / z databázy. Podľa požiadaviek na softvér sa cykly CRUD môžu líšiť. Tester by mal plánovať testovacie prípady na základe cyklu CRUD.
Funkcie CRUD je možné testovať manuálne a overiť ich v používateľskom rozhraní a v databáze. Dotaz SELECT možno použiť na overenie zmien v databáze zodpovedajúcich každej operácii CRUD.
Ste odborníkom na testovanie CRUD? Máte nejaké zaujímavé fakty, o ktoré sa chcete podeliť s našimi čitateľmi, ktorí sú v CRUD-e noví? Neváhajte a vyjadrite svoje myšlienky a návrhy v sekcii komentárov nižšie !!
Odporúčané čítanie
- Testovanie databázy pomocou JMeter
- Vzorové dotazníky s odpoveďami na testovanie certifikácie ISTQB
- Najlepšie nástroje na testovanie softvéru 2021 [QA Test Automation Tools]
- Kľúčové rozdiely medzi testovaním čiernej skrinky a testovaním bielej skrinky
- Stiahnutie e-knihy Testing Primer
- Jednoduchý prístup k testovaniu XML na databázu
- 40+ najlepších nástrojov na testovanie databázy - populárne riešenia na testovanie údajov
- Výukový program na testovanie grafického používateľského rozhrania: Kompletný sprievodca testovaním používateľského rozhrania (UI)