database testing complete guide why
Popoln vodnik za testiranje zbirke podatkov s praktičnimi nasveti in primeri:
Računalniške aplikacije so danes bolj zapletene s tehnologijami, kot je Android, in tudi z veliko aplikacijami za pametne telefone. Bolj zapleteni so sprednji konci, bolj zapleteni postajajo zadnji konci.
Zato je še toliko bolj pomembno, da se naučite o testiranju DB in da lahko učinkovito preverite zbirke podatkov, da zagotovite varnost in kakovost podatkovnih baz.
V tej vadnici boste izvedeli vse o testiranju podatkov - zakaj, kako in kaj testirati?
Baza podatkov je eden izmed neizogibnih delov programske aplikacije.
Vseeno je, ali gre za splet, namizje ali mobilne naprave, odjemalski strežnik, peer-to-peer, podjetje ali posamezno podjetje; baza podatkov je potrebna povsod na zaledju.
Podobno, ali gre za aplikacijo za zdravstveno varstvo, finance, zakup, maloprodajo, pošiljanje ali nadzor vesoljske ladje; baza podatkov vedno deluje v ozadju.
Ko se kompleksnost aplikacije povečuje, se pojavlja potreba po močnejši in varnejši zbirki podatkov. Na enak način za aplikacije z visoko frekvenco transakcij ( Na primer, Bančna ali finančna aplikacija), je potrebna popolna funkcija orodja DB.
Danes imamo velike in zapletene velike podatke, s katerimi jih tradicionalne zbirke podatkov ne morejo obdelati.
Obstaja več Orodja za zbirke podatkov so na voljo na trgu Na primer, MS-Access, MS SQL Server, SQL Server, Oracle, Oracle Financial, MySQL, PostgreSQL, DB2, Toad, Admirer itd. Ta orodja se razlikujejo po ceni, robustnosti, lastnostih in varnosti. Vsak od teh ima svoje prednosti in slabosti.
Kaj se boste naučili:
- Zakaj testirati bazo podatkov?
- Kaj preizkusiti (kontrolni seznam za testiranje zbirke podatkov)
- Kako preizkusiti bazo podatkov (postopek po korakih)
Zakaj testirati bazo podatkov?
Spodaj bomo videli, zakaj je treba preveriti naslednje vidike DB:
# 1) Preslikava podatkov
V programskih sistemih podatki pogosto potujejo naprej in nazaj od uporabniškega vmesnika (uporabniški vmesnik) do zaledne DB in obratno. To je nekaj vidikov, na katere morate biti pozorni:
- Preverite, ali so polja v obrazcih uporabniškega vmesnika / vmesnika preslikana skladno z ustreznimi polji v tabeli DB. Te informacije o zemljevidu so običajno opredeljene v zahtevah.
- Kadar je določeno dejanje izvedeno na sprednjem koncu aplikacije, se na zadnjem delu prikliče ustrezno CRUD (Create, Retrieve, Update and Delete) dejanje. Preizkuševalec bo moral preveriti, ali je poklicano pravilno dejanje in ali je poklicano dejanje samo po sebi uspešno ali ne.
# 2) Preverjanje lastnosti ACID
Atomicnost, doslednost, izolacija in trajnost. Vsaka transakcija, ki jo izvede DB, se mora držati teh štirih lastnosti.
- Atomicnost pomeni, da transakcija ali ne uspe ali preide. To pomeni, da tudi če en del transakcije ne uspe, pomeni, da je celotna transakcija propadla. Običajno se temu reče pravilo 'vse ali nič'.
- Doslednost : Transakcija bo vedno povzročila veljavno stanje DB
- Izolacija : Če obstaja več transakcij in se izvedejo naenkrat, bi moral biti rezultat / stanje DB enako, kot če bi se izvajale ena za drugo.
- Trajnost : Ko je transakcija opravljena in prevzeta, je zunanji dejavniki, kot sta izguba električne energije ali zrušitev, ne morejo spremeniti
Predlagano branje = >> Vadnica za transakcije MySQL
# 3) Celovitost podatkov
Za katero koli CRUD operacije , posodobljene in najnovejše vrednosti / stanje skupnih podatkov naj se pojavijo na vseh obrazcih in zaslonih. Vrednosti ne bi smeli posodobiti na enem zaslonu, na drugem pa prikazati starejšo vrednost.
Ko je aplikacija v izvedbi, se končni uporabnik v glavnem uporablja operacije CRUD, ki jih omogoča orodje DB .
C: Ustvari - Ko uporabnik 'Shrani' katero koli novo transakcijo, se izvede operacija 'Ustvari'.
R: Naloži - Ko uporabnik 'Išči' ali 'Ogled' katere koli shranjene transakcije, se izvede operacija 'Pridobi'.
U: Posodobitev - Ko uporabnik 'Uredi' ali 'Spremeni' obstoječi zapis, se izvede operacija 'Posodobi' DB.
D: Izbriši - Ko uporabnik 'Odstrani' kateri koli zapis iz sistema, se izvede operacija 'Izbriši' DB.
Vsaka operacija baze podatkov, ki jo izvede končni uporabnik, je vedno ena od zgoraj navedenih štirih.
Torej oblikujte svoje testne primere DB tako, da vključujejo preverjanje podatkov na vseh mestih, za katera se zdi, da so dosledno enaki.
# 4) Skladnost s poslovnimi pravili
Več zapletenosti v zbirkah podatkov pomeni bolj zapletene komponente, kot so relacijske omejitve, sprožilci, shranjeni postopki itd. Zato bodo morali preizkuševalci pripraviti ustrezne poizvedbe SQL, da bodo potrdili te kompleksne objekte.
Kaj preizkusiti (kontrolni seznam za testiranje zbirke podatkov)
# 1) Transakcije
Pri preizkušanju transakcij je pomembno, da se prepričate, da ustrezajo lastnostim kisline.
To so najpogosteje uporabljene izjave:
- ZAČNITE TRANSAKCIJO TRANSAKCIJ #
- KONČNA TRANSAKCIJA TRANSAKCIJSKA ŠT.
Stavek o vračanju zagotavlja, da baza podatkov ostane v doslednem stanju.
- ŠTEVILO TRANSAKCIJE
Po izvedbi teh stavkov uporabite Select, da se prepričate, da so bile spremembe odražene.
- IZBERITE * IZ TABLENAME
# 2) Sheme zbirke podatkov
Shema zbirke podatkov ni nič drugega kot formalna definicija, kako bodo podatki organizirani znotraj DB. Če ga želite preizkusiti:
- Ugotovite zahteve, na podlagi katerih deluje baza podatkov. Vzorčne zahteve:
- Primarni ključi, ki jih je treba ustvariti, preden se ustvarijo katera koli druga polja.
- Tuje ključe je treba popolnoma indeksirati za lažje iskanje in iskanje.
- Imena polj, ki se začnejo ali končajo z določenimi znaki.
- Polja z omejitvijo, da lahko nekatere vrednosti vstavite ali ne.
- Glede na ustreznost uporabite eno od naslednjih metod:
- Poizvedba SQL DESC
za potrditev sheme.
- Regularni izrazi za preverjanje imen posameznih polj in njihovih vrednosti
- Orodja, kot je SchemaCrawler
# 3) Sprožilci
Ko se določen dogodek zgodi na določeni mizi, se lahko samodejno naroči, da se izvede del kode (sprožilec).
Na primer, v šolo se je včlanil nov učenec. Študent ima 2 predavanja: matematika in naravoslovje. Študent se doda v 'študentsko mizo'. Sprožilec lahko študenta doda v ustrezne tabele predmetov, ko je ta dodan v študentsko tabelo.
Najpogostejša metoda za testiranje je, da najprej neodvisno izvedemo poizvedbo SQL, vdelano v sprožilec, in zapišemo rezultat. Nadaljujte z izvajanjem sprožilca kot celote. Primerjajte rezultate.
Ti so preizkušeni tako v fazi testiranja Black-box kot White-box.
kako obrniti matriko v javi
- Testiranje bele škatle : Stubs in Drivers se uporabljajo za vstavljanje ali posodabljanje ali brisanje podatkov, ki bi povzročili sprožitev sprožilca. Osnovna ideja je, da samo preizkusite DB, še preden se izvede integracija s čelnim delom (UI).
- Testiranje črne škatle :
do) Od uporabniškega vmesnika in DB je integracija zdaj na voljo; lahko vstavimo / izbrišemo / posodobimo podatke s sprednjega dela na način, da se sproži sprožilec. Po tem lahko stavke Select uporabimo za pridobivanje podatkov DB, da preverimo, ali je sprožilec uspešno izvedel nameravano operacijo.
b) Drugi način, da to preizkusite, je, da neposredno naložite podatke, ki bi sprožili sprožilec, in preverite, ali deluje, kot je predvideno.
# 4) Shranjeni postopki
Shranjeni postopki so bolj ali manj podobni uporabniško določenim funkcijam. Te lahko prikličejo stavki Call Call / Execute Procedure, izhod pa je običajno v obliki naborov rezultatov.
Ti so shranjeni v RDBMS in so na voljo za aplikacije.
Ti se preizkušajo tudi med:
- Preskušanje bele škatle: Z gumbi se prikličejo shranjene procedure, nato pa se rezultati potrdijo glede na pričakovane vrednosti.
- Testiranje črne škatle: Izvedite operacijo s čelnega konca (UI) aplikacije in preverite izvajanje shranjene procedure in njenih rezultatov.
# 5) Omejitve polja
Privzeta vrednost, enolična vrednost in tuji ključ:
- Izvedite čelno operacijo, ki izvaja stanje predmeta baze podatkov
- Rezultate potrdite s poizvedbo SQL.
Preverjanje privzete vrednosti za določeno polje je precej preprosto. Je del potrjevanja poslovnih pravil. To lahko storite ročno ali pa uporabite orodja, kot je QTP. Ročno lahko izvedete dejanje, ki bo dodalo vrednost, ki ni privzeta vrednost polja s sprednjega dela, in ugotovila, ali povzroči napako.
Sledi vzorčna koda VBScript:
Function VBScriptRegularexpressionvlaidation(pattern , string_to_match) Set newregexp = new RegExp newregexp.Pattern = “
” newregexp.Ignorecase = True newregexp.Global = True VBScriptRegularexpressionvlaidation = newregexp.Test(string_to_match) End Function Msgbox VBScriptRegularexpressionvlaidation(pattern , string_to_match) Rezultat zgornje kode je True, če privzeta vrednost obstaja, ali False, če ne.
Preverjanje edinstvene vrednosti je mogoče natančno opraviti tako kot pri privzetih vrednostih. Poskusite vnesti vrednosti iz uporabniškega vmesnika, ki bodo kršile to pravilo, in preverite, ali je prikazana napaka.
Koda skripta za avtomatizacijo VB je lahko:
Function VBScriptRegularexpressionvlaidation(pattern , string_to_match) Set newregexp = new RegExp newregexp.Pattern = “
” newregexp.Ignorecase = True newregexp.Global = True VBScriptRegularexpressionvlaidation = newregexp.Test(string_to_match) End Function Msgbox VBScriptRegularexpressionvlaidation(pattern , string_to_match) ZaTuji ključza preverjanje veljavnosti omejitev uporabljajo naložene podatke, ki neposredno vnašajo podatke, ki kršijo omejitev, in preverjajo, ali jih aplikacija omejuje ali ne. Skupaj z obremenitvijo podatkov v ozadju izvedite tudi operacije vmesnika za čelni del na način, ki bo kršil omejitve in preverite, ali se prikaže ustrezna napaka.
Dejavnosti preverjanja podatkov
Tester zbirke podatkov se mora osredotočiti na naslednje dejavnosti testiranja:
# 1) Zagotovite preslikavo podatkov:
Mapiranje podatkov je eden ključnih vidikov baze podatkov, zato bi ga moral vsak preizkuševalec programske opreme natančno preizkusiti.
Prepričajte se, da preslikava med različnimi obrazci ali zasloni AUT in njegove DB ni le natančna, temveč tudi v skladu s projektnimi dokumenti (SRS / BRS) ali kodo. V bistvu morate potrditi preslikavo med vsakim čelnim poljem z ustreznim poljem baze podatkov v ozadju.
Za vse operacije CRUD preverite, ali se ustrezne tabele in zapisi posodobijo, ko uporabnik v GUI aplikacije klikne »Shrani«, »Posodobi«, »Išči« ali »Izbriši«.
Kaj morate preveriti:
- Preslikava tabel, preslikava stolpcev in preslikava podatkovnih vrst.
- Iskanje preslikave podatkov.
- Za vsako uporabniško dejanje v uporabniškem vmesniku se prikliče pravilno delovanje CRUD.
- Operacija CRUD je uspešna.
# 2) Zagotovite ACID lastnosti transakcij:
ACID lastnosti transakcij DB se nanašajo na „ TO tomicity “,„ C vztrajnost “,„ jaz solacijo “in„ D uporabnost “. Ustrezno preskušanje teh štirih lastnosti je treba opraviti med preizkusom baze podatkov. Preveriti morate, da vsaka posamezna transakcija izpolnjuje lastnosti ACID baze podatkov.
Vzemimo preprost primer pod spodnjo kodo SQL:
CREATE TABLE acidtest (A INTEGER, B INTEGER, CHECK (A + B = 100));
Preskusna tabela ACID bo imela dva stolpca - A in B. Obstaja omejitev integritete, da mora biti vsota vrednosti v A in B vedno 100.
Preskus atomskosti bo zagotovil, da je vsaka transakcija, izvedena v tej tabeli, celotna ali nobena, tj. se noben zapis ne posodobi, če kateri koli korak transakcije ne uspe.
Preskus skladnosti bo zagotovil, da bo vsakič, ko bo vrednost v stolpcu A ali B posodobljena, vsota vedno ostala 100. Ne bo dovolila vstavljanja / brisanja / posodobitve v A ali B, če je skupna vsota kaj drugega kot 100.
Preskus izolacije bo zagotovil, da če se dve transakciji dogajata istočasno in poskušata spremeniti podatke preskusne tabele ACID, se ti oprijemi izvajajo ločeno.
Preskus trajnosti bo zagotovil, da bo po izvedbi transakcije nad to tabelo ostala tudi v primeru izpada električne energije, zrušitve ali napak.
To področje zahteva strožje, temeljitejše in podrobnejše preizkušanje, če vaša aplikacija uporablja porazdeljeno bazo podatkov.
# 3) Zagotovite integriteto podatkov
Upoštevajte, da različni moduli (tj. Zasloni ali obrazci) aplikacije uporabljajo iste podatke na različne načine in izvajajo vse CRUD operacije s podatki.
V tem primeru poskrbite, da bo zadnje stanje podatkov povsod prikazano. Sistem mora na vseh obrazcih in zaslonih prikazati posodobljene in najnovejše vrednosti ali stanje takih skupnih podatkov. To se imenuje integriteta podatkov.
Testni primeri za preverjanje celovitosti podatkovnih zbirk:
- Preverite, ali so vsi sprožilci na mestu, da posodobite zapise referenčne tabele.
- Preverite, ali v glavnih stolpcih posamezne tabele obstajajo napačni / neveljavni podatki.
- Poskusite v tabele vstaviti napačne podatke in opazujte, če pride do napake.
- Preverite, kaj se zgodi, če poskušate vstaviti otroka, preden vstavite starša (poskusite se igrati s primarnimi in tujimi tipkami).
- Preverite, ali pride do napake, če izbrišete zapis, na katerega se še vedno sklicujejo podatki v kateri koli drugi tabeli.
- Preverite, ali se replicirani strežniki in zbirke podatkov sinhronizirajo.
# 4) Zagotovite natančnost uveljavljenih poslovnih pravil:
Danes zbirke podatkov niso namenjene zgolj shranjevanju zapisov. Dejansko so se zbirke podatkov razvile v izjemno zmogljiva orodja, ki razvijalcem nudijo veliko podporo pri izvajanju poslovne logike na ravni DB.
Nekaj preprostih primerov zmogljivih funkcij so „referenčna integriteta“, relacijske omejitve, sprožilci in shranjeni postopki.
Torej, z uporabo teh in mnogih drugih funkcij, ki jih ponujajo DB, razvijalci implementirajo poslovno logiko na ravni DB. Preizkuševalec mora zagotoviti, da je izvedena poslovna logika pravilna in deluje pravilno.
Zgornje točke opisujejo štiri najpomembnejše 'Kaj naj' testiranje DB. Zdaj pa pojdimo na del 'Kako'.
Kako preizkusiti bazo podatkov (postopek po korakih)
Splošna podatkovna baza za testiranje preskusnega procesa se ne razlikuje zelo od katere koli druge aplikacije.
Spodaj so navedeni osnovni koraki:
Korak 1) Pripravite okolje
2. korak) Zaženite test
3. korak) Preverite rezultat testa
4. korak) Potrdite glede na pričakovane rezultate
5. korak) Poročajte o ugotovitvah ustreznim zainteresiranim stranemObičajno se za razvoj testov uporabljajo poizvedbe SQL. Najpogosteje uporabljeni ukaz je »Izberi«.
Izberite * od kod
Poleg Select ima SQL tudi 3 pomembne vrste ukazov:
- DDL: jezik definicije podatkov
- DML: jezik za obdelavo podatkov
- DCL: jezik za nadzor podatkov
Poglejmo sintakso najpogosteje uporabljenih stavkov.
Jezik za definicijo podatkov Za obdelavo tabel (in indeksov) uporablja CREATE, ALTER, RENAME, DROP in TRUNCATE.
Jezik za manipulacijo s podatki Vključuje izjave za dodajanje, posodabljanje in brisanje zapisov.
Jezik za nadzor podatkov: Ukvarja se s tem, da daje uporabnikom dovoljenje za manipulacijo in dostop do podatkov. Grant in Revoke sta dve uporabljeni izjavi.
Sintaksa odobritve:
Dodelite izbiro / posodobitev
Vklopljeno
Za;Prekliči sintakso:
Prekliči izbiro / posodobitev
na
od;Nekaj praktičnih nasvetov
# 1) Sami pišite poizvedbe:
Za natančno preizkušanje zbirke podatkov mora preizkuševalec dobro poznati izjave SQL in DML (jezik za upravljanje podatkov). Preizkuševalec bi moral poznati tudi notranjo strukturo DB sistema AUT.
Za boljšo pokritost lahko v ustreznih tabelah kombinirate GUI in preverjanje podatkov. Če uporabljate strežnik SQL, lahko SQL Query Analyzer uporabite za pisanje poizvedb, njihovo izvajanje in pridobivanje rezultatov.
To je najboljši in zanesljiv način testiranja baze podatkov, kadar je aplikacija majhne ali srednje stopnje zapletenosti.
Če je aplikacija zelo zapletena, bo tester morda težko ali nemogoče napisati vse zahtevane poizvedbe SQL. Za zapletena vprašanja poiščite pomoč razvijalca. Vedno priporočam to metodo, saj vam daje zaupanje pri testiranju in povečuje vaše znanje SQL.
# 2) Upoštevajte podatke v vsaki tabeli:
Preverjanje podatkov lahko izvedete z rezultati operacij CRUD. To lahko storite ročno z uporabniškim vmesnikom aplikacije, ko poznate integracijo baze podatkov. Toda to je lahko dolgočasno in okorno opravilo, če je v različnih tabelah zbirk podatkov ogromno podatkov.
Za ročno preskušanje podatkov mora preizkuševalec podatkovnih baz dobro poznati strukturo tabel baz podatkov.
# 3) Pridobite poizvedbe od razvijalcev:
To je najpreprostejši način testiranja baze podatkov. Izvedite katero koli operacijo CRUD iz grafičnega uporabniškega vmesnika in preverite njegove učinke z izvajanjem ustreznih poizvedb SQL, pridobljenih od razvijalca. Niti ne zahteva dobrega poznavanja SQL niti dobrega poznavanja strukture DB aplikacije.
Toda to metodo je treba uporabljati previdno. Kaj če je poizvedba, ki jo je dal razvijalec, pomensko napačna ali ne izpolnjuje uporabnikove zahteve pravilno? Postopek preprosto ne bo potrdil podatkov.
# 4) Uporabite orodja za testiranje avtomatizacije zbirk podatkov:
Za postopek preskušanja podatkov je na voljo več orodij. Izberite pravilno orodje glede na vaše potrebe in ga kar najbolje izkoristite.
=> Tu je seznam TOP Orodja za testiranje DB, ki jih morate preveriti
Zaključek
Z vsemi temi lastnostmi, dejavniki in procesi za testiranje v zbirki podatkov je vse več povpraševanja po tem, da bi morali preizkuševalci tehnično obvladati ključne koncepte zbirke podatkov. Kljub nekaterim negativnim prepričanjem, da testiranje baze podatkov ustvarja nova ozka grla in pomeni veliko dodatnih izdatkov - to je področje testiranja, ki pritegne veliko pozornosti in povpraševanja.
Predlagano branje = >> Kaj je testiranje varnosti zbirke podatkov
Upam, da vam je ta vadnica pomagala, da se osredotočimo na to, zakaj je tako, in vam dala tudi osnovne podrobnosti o preizkušanju zbirke podatkov.
Sporočite nam svoje povratne informacije in delite svoje osebne izkušnje, če delate na testiranju DB.
Priporočeno branje
- Testiranje zbirke podatkov z JMeter
- 40+ najboljših orodij za testiranje zbirk podatkov - priljubljene rešitve za testiranje podatkov
- Preprost pristop za preskušanje podatkovne baze XML
- Vadnica za testiranje skladišča podatkov ETL (popoln vodnik)
- Vadnica za testiranje selitve podatkov: Popoln vodnik
- 10 najboljših orodij za oblikovanje zbirk podatkov za izdelavo kompleksnih podatkovnih modelov
- Vadnica za testiranje skladišča podatkov z primeri | Vodič za preizkušanje ETL
- Kako preizkusiti bazo podatkov Oracle
^
- Poizvedba SQL DESC