Testiranje baze podataka - praktični savjeti. NoSQL DB Performance Testing Relationships and Closure Attributes

Testiranje baze podataka nije tako uobičajeno kao testiranje drugih dijelova aplikacije. U nekim testovima baza podataka generalno smoči. U ovom članku pokušat ću analizirati alate za testiranje relacijskih i NoSQL baze podataka.

Ovakva situacija je zbog činjenice da su mnoge baze podataka komercijalne i sav potreban set alata za rad s njima isporučuje organizacija koja je razvila ovu bazu podataka. Međutim, porast popularnosti NoSQL-a i raznih forkova MySQL-a u budućnosti može promijeniti ovo stanje stvari.

Database Benchmark

Database Benchmark je .NET alat za testiranje baza podataka sa velikim tokovima podataka. Aplikacija izvodi dva glavna testna scenarija: umetanje velikog broja nasumično generiranih zapisa sa sekvencijalnim ili slučajnim ključevima i čitanje umetnutih zapisa poredanih po njihovim ključevima. Ima širok spektar mogućnosti generisanja podataka, grafičkih izveštaja i konfigurisanja mogućih tipova izveštaja.

Podržane baze podataka: MySQL, SQL Server, PostgreSQL, MongoDB i mnoge druge.

Database Rider

Database Rider je dizajniran da omogući testiranje baza podataka je bila Nije bilo teže od jediničnog testiranja. Ovaj alat se zasniva na Arquillian i stoga je potrebna samo ovisnost za DBUnit u Java projektu. Također je moguće koristiti napomene, kao uJUnit, integracija sa CDI preko presretača, podrške za JSON, YAML, XML, XLS i CSV, konfiguraciju putem istih napomena ili yml datoteke, integracija sa Krastavac, podrška za više baza podataka, rad sa privremenim tipovima u skupovima podataka.

DbFit

DbFit - razvojni okvir Baza podataka kroz testiranje. Prepisano je FitNesse, koji je zreo i moćan alat sa velikom zajednicom. Testovi su napisani na osnovu tabela, što ih čini čitljivijim od običnih testova. jedinični testovi. Možete ih pokrenuti iz IDE-a, pomoću komandne linije ili pomoću CI alata.

Podržane baze podataka: Oracle, SQL Server, MySQL, DB2, PostgreSQL, HSQLDB i Derby.

dbstress

dbstress je alat za testiranje performansi baze podataka i stres napisan u Scali i Akki. Koristeći specijalnu JDBC-driver, izvršava zahtjeve paralelno određeni broj puta (možda čak i na nekoliko hostova) i sprema konačni rezultat u csv fajl.

Podržane baze: sve isto kao u JDBC .

DbUnit

je proširenje JUnit (također se koristi sa Antom) koji se može vratiti između testova baza podataka u pravo stanje. Ova funkcija vam omogućava da izbjegnete ovisnost između testova, ako jedan test ne uspije i prekrši bazu, onda će sljedeći test početi od nule. DbUnit ima mogućnost prijenosa podataka između baze podataka i XML dokumenta. Postoji i mogućnost rada sa velikim skupovima podataka u streaming modu. Također možete provjeriti da li rezultirajuća baza podataka odgovara određenom standardu.

Podržane baze: sve isto kao u JDBC .

DB Test Driven

DB Test Driven je alat za jedinica - testiranje Baza podataka. Ovaj uslužni program je vrlo lagan, radi sa izvornim SQL-om i instalira se direktno u bazu podataka. Lako se integriše sa alatima za kontinuiranu integraciju, a verzija SQL Servera ima mogućnost procene pokrivenosti koda testovima.

Podržane baze podataka: SQL Server, Oracle.

HammerDB

HammerDB - Alat za testiranje učitavanja i mjerila Baza podataka. To je automatizirana aplikacija koja također ima više niti i ima mogućnost korištenja dinamičkih skripti. jav open source i alat za poređenje. Automatiziran je, ima više niti i proširiv s podrškom za dinamičke skripte.

JdbcSlim

JdbcSlim nudi jednostavnu integraciju upita i komandi u Slim FitNesse. Glavni fokus projekta je na pohranjivanju niza konfiguracija, testnih podataka i SQL-a. Ovo osigurava da su zahtjevi napisani nezavisno od implementacije i razumljivi poslovnim korisnicima. U JdbcSlim nema koda specifičnog za bazu podataka. To je agnostik za sistem baze podataka i nema specifičan kod za bilo koji sistem baze podataka. U samom okviru sve je opisano na visokom nivou, uvođenje bilo koje specifične stvari se dešava promenom samo jedne klase.

Podržane baze podataka: Oracle, SQL Server, PostgreSQL, MySQL i druge.

JDBDT (Java DataBase Delta Testing)

JDBDT je ​​Java biblioteka za testiranje (baziranih na SQL-u) aplikacija baza podataka. Biblioteka je dizajnirana za automatsku instalaciju i testove verifikacije baze podataka. JDBDT nema zavisnosti od biblioteka trećih strana, što pojednostavljuje njegovu integraciju. U poređenju sa postojećim bibliotekama za testiranje baze podataka, JDBDT je ​​konceptualno drugačiji u svojoj sposobnosti da koristi δ-naredbe.

Podržane baze podataka: PostgreSQL, MySQL, SQLite, Apache Derby, H2 i HSQLDB.

NBi

NBi je u suštini dodatak za NUnit i više je namijenjen poslovne inteligencije sfere. Pored rada sa relacionim bazama podataka, moguće je raditi i sa njima OLAP platforme (Analysis Services, Mondrian, itd.), ETL i sistemi izvještavanja(Microsoft tehnologije). Glavni cilj ovog okvira je kreiranje testova koristeći deklarativni pristup baziran na XML-u. Nećete morati pisati testove u C# i koristiti Visual Studio za kompajliranje testova. Vi samo trebate kreirati xml datoteku i interpretirati pomoću NBi-a, a zatim možete pokrenuti testove. Pored NUnit-a, također možete prenijeti na druge testne okvire.

Podržane baze podataka: SQL Server, MySQL, PostgreSQL, Neo4j, MongoDB, DocumentDB i druge.

NoSQLMap

NoSQLMap napisan u Python-u radi revizije stabilnosti sql - injekcija i razne eksploatacije u konfiguraciji baze podataka. I također za procjenu stabilnosti web aplikacije koja koristi NoSQL baze podataka na ovu vrstu napada. Glavna svrha aplikacije je da pruži alat za testiranje MongoDB servera i razbijajući mit da su NoSQL aplikacije imune na SQL injekciju.

Podržane baze podataka: MongoDB.

NoSQLUnit

NoSQLUnit je JUnit ekstenzija za pisanje testova u Java aplikacijama koje koriste NoSQL baze podataka. Target NoSQLUnit- upravljati životnim ciklusom NoSQL-a. Ovaj alat će vam pomoći da testirate baze podataka u poznatom stanju i standardizirate način na koji pišete testove za NoSQL aplikacije.

Podržane baze podataka: MongoDB, Cassandra, HBase, Redis i Neo4j.

ruby-plsql-spec

ruby-plsql-spec je okvir za testiranje jedinica PL/SQL sa Ruby-om. Zasnovan je na dvije druge biblioteke:

  • ruby-plsql - Ruby API za pozivanje PL/SQL procedura;
  • RSpec je okvir za BDD.

Podržane baze podataka: Oracle

SeLite

SeLite je proširenje iz porodice Selenium. Glavna stvar je imati bazu podataka zasnovanu na SQLite, izolovan od aplikacije. Moći ćete otkriti greške web servera i promrsiti skripte između testova, raditi sa snimcima itd.

Podržane baze podataka: SQLite, MySQL, PostgreSQL.

sqlmap

sqlmap je alat za testiranje penetracije koji automatizira proces otkrivanja i iskorištavanja SQL injekcija i preuzimanja servera baze podataka. Dolazi sa moćnim motorom za otkrivanje i mnogim nišnim funkcijama pentestiranja.

Podržane baze podataka: MySQL, Oracle, PostgreSQL, SQL Server, DB2 i druge.

    Alati za testiranje baze podataka otvorenog koda

    https://website/wp-content/uploads/2018/01/data-base-testing-150x150.png

    Testiranje baze podataka nije tako uobičajeno kao testiranje drugih dijelova aplikacije. U nekim testovima baza podataka se uopće ismijava. U ovom članku pokušat ću analizirati alate za testiranje relacijskih i NoSQL baza podataka. Ova situacija je zbog činjenice da su mnoge baze podataka komercijalne i da sav potreban skup alata za rad s njima isporučuje […]

Baze podataka i procesi baze podataka treba testirati kao nezavisni podsistem. U ovom slučaju treba testirati sve podsisteme bez ciljnog korisničkog sučelja kao sučelja za podatke. Dodatno istraživanje treba obaviti u sistemu upravljanja bazom podataka (DBMS) kako bi se odredili alati i tehnike za podršku testiranju definiranom u sljedećoj tabeli.

Ciljevi metodologije:

Testiranje metoda i procesa pristupa bazi podataka nezavisnih od korisničkog sučelja tako da se može uočiti i zabilježiti neispravan ciljni algoritam ili oštećenje podataka.

metodologija:

Pozivanje svake metode ili procesa pristupa bazi podataka, popunjavanje svakog validnim i nevažećim podacima ili upitima za podatke.

Provjera baze podataka kako biste bili sigurni da su podaci ispravno popunjeni i da se svi događaji baze podataka odvijaju kako je očekivano, ili provjera vraćenih podataka kako biste bili sigurni da se tačni podaci dohvaćaju kada je potrebno.

proročišta:
Potrebni alati:

Uslužni programi i alati za SQL baze podataka

alati za generisanje podataka

Kriteriji uspjeha:

Ova metodologija podržava testiranje svih glavnih metoda i procesa pristupa bazi podataka.

Posebne informacije:

Testiranje može zahtijevati razvojno okruženje DBMS-a ili upravljačke programe za unos ili izmjenu podataka direktno u bazu podataka.

Procesi se moraju pozvati ručno.

Male ili minimalne baze podataka (sa ograničenim brojem zapisa) treba koristiti za proširenje opsega svih oštećenih događaja.

Testiranje karakteristika

Testiranje svojstava cilja testa treba se fokusirati na zahtjeve koji se mogu pratiti direktno do slučajeva upotrebe ili karakteristika i pravila poslovnog procesa. Svrha ovih testova je provjera ispravnog prihvatanja, obrade i vraćanja podataka, kao i odgovarajuće implementacije pravila poslovnog procesa. Ova vrsta testiranja zasnovana je na tehnikama crne kutije, tj. aplikacija i njeni interni procesi se testiraju interakcijom sa aplikacijom pomoću grafičkog korisničkog interfejsa (GUI) i analizom izlaza ili rezultata. Sljedeća tabela definira uzorak testiranja preporučen za svaku aplikaciju.

Ciljevi metodologije:

Testirajte funkcionalnost ciljnog cilja, uključujući navigaciju, unos, obradu i vraćanje podataka da biste promatrali i evidentirali algoritam cilja.

metodologija:

Testirajte tokove ili funkcije i funkcionalnost pojedinačnih slučajeva upotrebe za svaki scenarij upotrebe, koristeći važeće i nevažeće podatke, kako biste provjerili da:

Valjani podaci daju očekivane rezultate

ako se koriste nevažeći podaci, prikazuju se odgovarajuće poruke o grešci ili upozorenja

sva pravila poslovnog procesa se primenjuju u skladu sa tim

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

Alat za automatizaciju testnih skripti

alat za obradu slika i osnovni oporavak

alati za pravljenje rezervnih kopija i oporavak

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

alati za generisanje podataka

Kriteriji uspjeha:

svi glavni scenariji upotrebe

sve glavne funkcije

Posebne informacije:

Identifikujte ili opišite one elemente ili probleme (interne ili eksterne) koji utiču na implementaciju i izvođenje testa karakteristika.

Testiranje ciklusa poslovnih procesa

Testiranje ciklusa poslovnog procesa treba da oponaša zadatke koji se izvršavaju tokom vremena.<Имя проекта>. Trebalo bi da definišete period, na primer godinu dana, i izvršite transakcije i zadatke koji će se desiti tokom godine. Ovo uključuje sve dnevne, sedmične, mjesečne cikluse i događaje zavisne od datuma.

Ciljevi metodologije:

Testirajte ciljne procese i pozadinske procese u skladu s potrebnim modelima poslovnih procesa i planovima za promatranje i evidentiranje ciljnog algoritma.

metodologija:

Testiranje simulira više ciklusa poslovnog procesa radeći sljedeće:

Testovi koji se koriste za testiranje karakteristika testnog cilja bit će izmijenjeni ili prošireni kako bi se povećao broj izvršavanja svake funkcije kako bi se simuliralo više različitih korisnika u datom periodu.

Sve funkcije zavisne od datuma ili vremena će se izvršavati koristeći važeće i nevažeće datume i periode.

Sve funkcije koje se povremeno pokreću pokrenut će se ili pokrenuti u odgovarajuće vrijeme.

Test će koristiti važeće i nevažeće podatke za testiranje sljedećeg:

Valjani podaci daju očekivane rezultate.

Kada se koriste nevažeći podaci, prikazuju se odgovarajuće poruke o grešci ili upozorenja.

Sva pravila poslovnog procesa se primjenjuju u skladu s tim.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

Alat za automatizaciju testnih skripti

alat za obradu slika i osnovni oporavak

alati za pravljenje rezervnih kopija i oporavak

alati za generisanje podataka

Kriteriji uspjeha:

Ova tehnika podržava testiranje svih kritičnih ciklusa poslovnih procesa.

Posebne informacije:

Sistemski datumi i događaji mogu zahtijevati posebne zadatke održavanja.

Potreban je model poslovnog procesa da bi se identifikovali relevantni zahtjevi i procedure testiranja.

Testiranje korisničkog interfejsa

U testiranju korisničkog interfejsa (UI) testira se interakcija korisnika sa softverom. Cilj testiranja korisničkog sučelja je osigurati da korisničko sučelje pruža korisniku odgovarajući pristup i navigaciju kroz karakteristike ciljanog testa. Osim toga, UI testiranje osigurava da objekti u korisničkom sučelju obavljaju očekivane funkcije i da su u skladu s korporativnim ili industrijskim standardima.

Ciljevi metodologije:

Testirajte sljedeće da biste uočili i zabilježili usklađenost sa standardima i ciljnim algoritmom:

Navigacija prema ciljevima testa koja odražava funkcije i zahtjeve poslovnog procesa, uključujući metode od prozora do prozora, od polja do polja i korištenje metoda pristupa (tasteri, pokreti miša, prečice na tastaturi).

Možete testirati objekte i karakteristike prozora kao što su meniji, veličina, pozicija, stanje i fokus.

metodologija:

Kreirajte ili modificirajte testove za svaki prozor kako biste provjerili ispravnu navigaciju i stanja objekata za svaki prozor i objekt aplikacije.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva alat za automatizaciju test skripte.

Kriteriji uspjeha:

Ova tehnika podržava testiranje svakog početnog ekrana ili prozora koji će korisnici naširoko koristiti.

Posebne informacije:

Pristup nije moguć svim svojstvima prilagođenih objekata i objekata drugih kompanija.

Profiliranje performansi

Profiliranje performansi je test performansi koji mjeri i procjenjuje vrijeme odgovora, stope transakcija i druge zahtjeve ovisne o vremenu. Svrha profiliranja performansi je da se potvrdi da su zahtjevi performansi ispunjeni. Profiliranje performansi se implementira i izvodi kako bi se profilirali i fino podesili testni ciljni algoritmi performansi kao funkcija uslova kao što su radno opterećenje ili konfiguracija hardvera.

Bilješka: Transakcije u sljedećoj tabeli nazivaju se "transakcije logičkog poslovnog procesa". Ove transakcije su definirane kao specifični slučajevi upotrebe za koje se očekuje da će entitet izvesti koristeći cilj testiranja, kao što je dodavanje ili modifikacija danog ugovora.

Ciljevi metodologije:

Testirajte algoritme za određene funkcionalne transakcije ili funkcije poslovnog procesa pod sljedećim uvjetima kako biste promatrali i zabilježili ciljni algoritam i podatke o performansama aplikacije:

metodologija:

Primjena testnih procedura dizajniranih za testiranje funkcija i ciklusa poslovnih procesa.

Promjena datoteka podataka za povećanje broja transakcija ili skripti za povećanje broja iteracija izvedenih u svakoj transakciji.

Scenarije bi trebalo da se izvode na istom sistemu (u najboljem slučaju bazirane na jednom korisniku, jednoj transakciji) i da se ponavljaju sa više klijenata (virtuelnih ili stvarnih, pogledajte konkretne informacije u nastavku).

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

Alat za automatizaciju testnih skripti

alat za profilisanje performansi aplikacije, kao što je Rational Quantify

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

Kriteriji uspjeha:

Ova tehnika podržava testiranje:

Jedna transakcija ili pojedinačni korisnik: Uspješno emulirajte scenarije transakcije bez neuspjeha zbog neuspjeha implementacije testa.

Više transakcija ili više korisnika: Uspješno emulira radno opterećenje bez greške zbog neuspjeha implementacije testa.

Posebne informacije:

Sveobuhvatno testiranje performansi uključuje opterećenje u pozadini na serveru.

Postoji nekoliko metoda koje se mogu koristiti, uključujući sljedeće:

"Dostava transakcije" direktno na server, obično u obliku poziva jezika strukturiranih upita (SQL).

Kreirajte "virtuelno" opterećenje korisnika da simulirate više klijenata, obično nekoliko stotina. Da bi se postiglo ovo opterećenje, koriste se alati za emulaciju udaljenog terminala. Ova tehnika se također može koristiti za punjenje mreže "prometom podataka".

Za stvaranje opterećenja na sistemu, korištenje nekoliko fizičkih klijenata, od kojih svaki izvršava test skripte.

Testiranje performansi treba da se vrši na namenskom sistemu ili u određeno vreme. Ovo pruža potpunu kontrolu i precizna mjerenja.

Baze podataka koje se koriste za testiranje performansi moraju biti ili stvarne veličine ili skalirane na isti način.

Testiranje opterećenja

Testiranje opterećenja je test performansi u kojem je ciljni cilj podvrgnut različitim radnim opterećenjima kako bi se izmjerili i procijenili algoritmi performansi i sposobnost testnog cilja da nastavi pravilno funkcionirati pod različitim radnim opterećenjima. Svrha testiranja opterećenja je da se utvrdi i osigura da će sistem raditi ispravno kada je podvrgnut očekivanom maksimalnom opterećenju. Osim toga, testiranje opterećenja procjenjuje parametre performansi kao što su vrijeme odgovora, stope transakcija i drugi vremenski povezani parametri.

Bilješka: Transakcije u sljedećoj tabeli nazivaju se "transakcije logičkog poslovnog procesa". Ove transakcije su definirane kao specifične funkcije za koje se očekuje da će korisnik izvršiti korištenjem aplikacije, kao što je dodavanje ili izmjena datog ugovora.

Ciljevi metodologije:

Izvršavanje određenih transakcija ili varijanti poslovnog procesa pod različitim uslovima radnog opterećenja za posmatranje i snimanje ciljnog algoritma i podataka o performansama sistema.

metodologija:

Zasnovati na skriptama za testiranje transakcija dizajniranim da testiraju karakteristike i cikluse poslovnih procesa, ali uklanjaju nepotrebne iteracije i kašnjenja.

Izmjena datoteka podataka za povećanje broja transakcija ili testova za povećanje broja izvršenja po transakciji.

Radna opterećenja bi trebala uključivati ​​- na primjer, dnevna, sedmična i mjesečna - vršna opterećenja.

Radna opterećenja bi trebala predstavljati i prosječna i vršna opterećenja.

Radna opterećenja bi trebala predstavljati i trenutna i trajna vršna opterećenja.

Radna opterećenja treba testirati u različitim konfiguracijama testnog okruženja.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

Alat za automatizaciju testnih skripti

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

alati koji ograničavaju resurse; npr. konzervirana toplina

alati za generisanje podataka

Kriteriji uspjeha:

Ova tehnika podržava testiranje emulacije radnog opterećenja, što je uspješna emulacija radnog opterećenja bez greške zbog neuspjeha implementacije testa.

Posebne informacije:

Testiranje opterećenja treba da se izvodi na namenskom sistemu ili u određeno vreme. Ovo pruža potpunu kontrolu i precizna mjerenja.

Baze podataka koje se koriste za testiranje opterećenja moraju biti ili stvarne veličine ili skalirane na isti način.

Ispitivanje napona

Testiranje naprezanja je vrsta testa performansi koji se implementira i izvodi kako bi se razumjelo kako sistem ne uspijeva u uvjetima u ili izvan očekivanih tolerancija. Obično postoji nedostatak resursa ili konkurencija za resurse. Uslovi van resursa pokazuju kako testni cilj ne uspijeva, što nije očigledno u normalnim uvjetima. Druge ranjivosti mogu biti rezultat sukoba za dijeljene resurse kao što su zaključavanje baze podataka ili propusni opseg mreže, iako se neki od ovih testova obično izvode u testiranju karakteristika i opterećenja.

Ciljevi metodologije:

Testirajte funkcije testiranja cilja pod sljedećim uvjetima napona kako biste promatrali i snimili algoritam cilja koji definira i dokumentira uslove pod kojima neuspjeh sistem kako bi nastavio da radi kako treba:

malo memorije ili nedostatak slobodne memorije na serveru (RAM i trajna memorija)

maksimalni fizički ili stvarni broj povezanih ili simuliranih korisnika

više korisnika obavlja iste transakcije sa istim podacima ili računima

"prekomerni" obim transakcija ili mješavina uslova (pogledajte Profil učinka iznad)

metodologija:

Da bi se testirali ograničeni resursi, testovi bi trebalo da se izvode na istom sistemu, a RAM i trajna memorija na serveru treba da budu smanjeni ili ograničeni.

Za ostale testove stresa, trebali biste koristiti više klijenata koji pokreću iste ili dodatne testove kako biste generirali najgori volumen ili njihovu mješavinu.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

Alat za automatizaciju testnih skripti

alat za planiranje i upravljanje opterećenjem transakcija

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

alati koji ograničavaju resurse; npr. konzervirana toplina

alati za generisanje podataka

Kriteriji uspjeha:

Ova tehnika podržava testiranje emulacije napona. Sistem se može uspješno emulirati pod jednim ili više uvjeta definiranih kao uvjeti stresa, a zapažanja rezultujućeg stanja sistema mogu se uhvatiti za vrijeme i nakon emulacije stanja.

Posebne informacije:

Naglašavanje mreže može zahtijevati mrežne alate za učitavanje mreže porukama i paketima.

Trajnu memoriju koja se koristi za sistem treba privremeno smanjiti kako bi se ograničio raspoloživi prostor za rast baze podataka.

Istovremeni pristup klijenta istim zapisima podataka ili računima treba da bude sinhronizovan.

Testiranje kapaciteta

Testiranje kapaciteta izlaže cilj testiranja velikim količinama podataka kako bi se utvrdilo da li su dostignuta ograničenja koja uzrokuju neuspjeh sistema. Test kapaciteta također definira kontinuirano maksimalno opterećenje ili kapacitet koji cilj testa može podnijeti u datom periodu. Na primjer, ako cilj testa obrađuje skup zapisa baze podataka kako bi generirao izvještaj, test kapaciteta će koristiti veliku testnu bazu podataka i potvrditi da softver radi ispravno i da proizvodi ispravan izvještaj.

Ciljevi metodologije:

Testirajte ciljne funkcije testiranja u sljedećim scenarijima visokog kapaciteta kako biste promatrali i snimili ciljni algoritam:

Maksimalni (stvarni ili fizički moguć) broj povezanih ili simuliranih klijenata koji obavljaju istu funkciju poslovnog procesa (najlošijeg učinka) tokom dužeg perioda.

Maksimalna veličina (stvarna ili skalirana) baze podataka je dostignuta i više od jednog upita ili transakcije izvještavanja se izvodi u isto vrijeme.

metodologija:

Koristite testove dizajnirane za profiliranje performansi ili testiranje opterećenja.

Treba koristiti više klijenata koji izvode iste ili dodatne testove kako bi se generirao najgori obim ili mješavina transakcija (pogledajte stresno testiranje) tokom dugog perioda.

Ograničenje veličine baze podataka je kreirano (stvarno, skalirano ili popunjeno reprezentativnim podacima) i više klijenata se koristi istovremeno za pokretanje upita i izvještavanje o transakcijama tokom dužeg perioda.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

Alat za automatizaciju testnih skripti

alat za planiranje i upravljanje opterećenjem transakcija

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

alati koji ograničavaju resurse; npr. konzervirana toplina

alati za generisanje podataka

Kriteriji uspjeha:

Ova tehnika podržava testiranje kapaciteta emulacije. Veliki broj korisnika, podataka, transakcija ili drugih aspekata korištenja sistema može se uspješno emulirati i promatrati za promjene u stanju sistema tokom testiranja kapaciteta.

Posebne informacije:

Testiranje sigurnosti i kontrole pristupa

Testiranje sigurnosti i kontrole pristupa fokusira se na dvije ključne oblasti sigurnosti:

Sigurnost na nivou aplikacije, uključujući pristup podacima ili funkcijama poslovnog procesa

Sigurnost na nivou sistema, uključujući prijavu ili daljinski pristup sistemu

Na osnovu potrebnog nivoa zaštite, zaštita na nivou aplikacije osigurava da subjekti imaju pristup samo određenim funkcijama ili slučajevima upotrebe, ili da su im dostupni podaci ograničeni. Na primjer, unos podataka i kreiranje novih naloga može biti dozvoljeno svima, dok je brisanje ograničeno na menadžere. Ako postoji zaštita na razini podataka, tada testiranje omogućava da se uvjerite da "korisnik prve vrste" ima pristup svim informacijama o klijentu, uključujući finansijske podatke, a za "korisnika druge vrste" samo demografske podatke otprilike isti klijent je dostupan.

Sigurnost na nivou sistema osigurava da samo korisnici sa pravima pristupa sistemu imaju pristup aplikacijama, i to samo preko odgovarajućih gateway-a.

Ciljevi metodologije:

Testirajte ciljnu metu pod sljedećim uvjetima kako biste promatrali i snimili algoritam cilja:

Sigurnost na nivou aplikacije: Subjekt ima pristup samo onim funkcijama i podacima za koje korisnik ovog tipa ima prava pristupa.

Sigurnost na nivou sistema: Aplikacijama je dozvoljen pristup samo subjektima sa pravima pristupa sistemu i aplikaciji.

metodologija:

Sigurnost na nivou aplikacije: Definirajte i navedite sve tipove korisnika i karakteristike i podatke kojima je svakom tipu korisnika dozvoljen pristup.

Kreirajte testove za svaki tip korisnika i provjerite sva prava pristupa kreiranjem transakcija definiranih za svaki tip korisnika.

Promjena tipa korisnika i ponovno pokretanje testova za iste korisnike. U svakom slučaju, provjeravanje da li je pristup dodatnim funkcijama ili podacima ispravno dozvoljen ili odbijen.

Pristup na nivou sistema: Pogledajte posebne informacije ispod.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

Alat za automatizaciju testnih skripti

"Hakerski" alati za testiranje i pronalaženje sigurnosnih rupa

Alati za administraciju sigurnosti OS-a

Kriteriji uspjeha:

Ova metodologija podržava testiranje relevantnih funkcija i podataka na koje utiču sigurnosne postavke za svaki poznati tip korisnika.

Posebne informacije:

Pristup sistemu treba provjeriti i razgovarati sa relevantnim sistemskim ili mrežnim administratorima. Ovo testiranje možda neće biti potrebno jer može biti dio mrežnih ili sistemskih administrativnih funkcija.

Testiranje oporavka od katastrofe

Testiranje oporavka od kvara osigurava da se cilj testiranja može uspješno oporaviti od različitih hardverskih, softverskih i mrežnih kvarova sa velikim gubitkom podataka ili integriteta podataka.

Za sisteme koji moraju da nastave da rade, testiranje prelaska na grešku osigurava da u slučaju prelaska na grešku, alternativni ili rezervni sistemi budu pravilno "pokupljeni" za otkazani sistem bez gubitka podataka ili transakcija.

Testiranje oporavka je antagonistički proces testiranja u kojem je aplikacija ili sistem izložen ekstremnim uslovima ili simuliranim uslovima kvara, kao što su kvarovi I/O uređaja ili nevažeći pokazivači i ključevi baze podataka. Pozivaju se procesi oporavka i aplikacija ili sistem se nadgledaju i kontroliraju kako bi se potvrdilo da je postignut ispravan oporavak aplikacije ili sistema i podataka.

Ciljevi metodologije:

Simulirajte uslove kvara i testirajte procese oporavka (i ručne i automatske) baze podataka, aplikacija i sistema do željenog poznatog stanja. Sljedeće vrste stanja uključene su u testiranje za praćenje i snimanje algoritma nakon oporavka:

prekid napajanja u sistemu klijenta

prekid napajanja u serverskom sistemu

prekid veze preko mrežnih servera

prekid veze ili gubitak napajanja za DASD (uređaje za direktni pristup memoriji) i DASD kontrolere

nepotpuni ciklusi (prekid procesa filtriranja podataka, prekid procesa sinhronizacije podataka)

nevažeći pokazivači i ključevi baze podataka

nevažeće ili oštećene stavke podataka u bazi podataka

metodologija:

Kao osnovu za kreiranje serije transakcija za podršku testiranju oporavka, možete koristiti testove koji su već kreirani za testiranje funkcija i ciklusa poslovnih procesa. Prvi korak je definiranje testova za uspjeh oporavka.

Prekid napajanja na klijentskom sistemu: Isključite napajanje računara.

Prekid napajanja serverskog sistema: Simulirajte ili pokrenite procedure isključivanja servera.

Prekid preko mrežnih servera: Simulirajte ili pokrenite gubitak veze s mrežom (fizičko isključenje spojnih žica ili isključivanje napajanja mrežnih servera ili rutera).

Prekid ili gubitak napajanja DASD i DASD kontrolera: Simulirajte ili fizički uklonite vezu s jednim ili više DASD ili DASD kontrolera.

Kada se dostignu gore navedeni uslovi ili simulirani uslovi, treba izvršiti dodatne transakcije, a kada se dostigne ova druga faza testiranja, treba pozvati procedure oporavka.

Testiranje za nepotpune petlje slijedi istu metodologiju kao što je gore opisano, osim što biste trebali prekinuti ili prijevremeno prekinuti same procese baze podataka.

Testiranje sljedećih uvjeta zahtijeva postizanje poznatog stanja baze podataka. Nekoliko polja baze podataka, indeksi i ključevi moraju biti oštećeni ručno i direktno u bazi podataka (koristeći alate baze podataka). Dodatne transakcije treba izvršiti korištenjem testova iz testiranja karakteristika aplikacije i ciklusa poslovnog procesa i potpuno završenih ciklusa.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

alat za obradu slika i osnovni oporavak

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

alati za pravljenje rezervnih kopija i oporavak

Kriteriji uspjeha:

Ova tehnika podržava testiranje:

Jedan ili više simuliranih kvarova koji uključuju jednu ili više kombinacija aplikacija, baze podataka i sistema.

Jedno ili više simuliranih vraćanja koje uključuju jednu ili više kombinacija aplikacija, baze podataka i sistema u poznato željeno stanje.

Posebne informacije:

Testiranje oporavka je uglavnom nametljivo. Procedure za isključivanje električnih kablova (kada se simulira gubitak struje ili veze) možda neće biti poželjne ili izvodljive. Mogu biti potrebne alternativne metode, kao što su dijagnostički softverski alati.

Zahtijeva sistemske (ili računarske operacije), bazu podataka i resurse mrežne grupe.

Ove testove treba izvoditi van radnog vremena ili na izolovanom sistemu.

Testiranje konfiguracije

Testiranje konfiguracije potvrđuje da cilj testa radi u različitim hardverskim i softverskim konfiguracijama. U većini operativnih okruženja, specifične hardverske specifikacije za klijentske radne stanice, mrežne veze i servere baze podataka će se razlikovati. Klijentske radne stanice mogu biti učitane različitim softverom (npr. aplikacijama, drajverima i tako dalje) i mnoge različite kombinacije mogu biti aktivne u isto vrijeme koristeći različite resurse.

Ciljevi metodologije:

Validacija testnog cilja u potrebnim hardverskim i softverskim konfiguracijama kako bi se promatrao i snimio algoritam cilja u različitim konfiguracijama i utvrdile razlike u stanju konfiguracije.

metodologija:

Primjena funkcionalnih testova.

Otvaranje i zatvaranje različitog softvera koji se ne odnosi na testiranje, kao što su aplikacije Microsoft® Excel® i Microsoft® Word®, bilo kao dio testa ili prije pokretanja testa.

Izvršavanje odabranih transakcija za simulaciju subjekata koji su u interakciji sa testnim i netestnim ciljnim softverom.

Ponovite gornji proces, minimizirajući dostupnu glavnu memoriju na radnoj stanici klijenta.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

alat za obradu slika i osnovni oporavak

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

Kriteriji uspjeha:

Ova tehnika podržava testiranje jedne ili više kombinacija ciljnih testnih stavki koje se izvode u očekivanim podržanim razvojnim okruženjima.

Posebne informacije:

Koji softver koji nije za testiranje je potreban, dostupan i dostupan na desktopu?

Koje se aplikacije najčešće koriste?

Koje aplikacije podataka rade; na primjer, velika tabela otvorena u Excelu ili dokument od 100 stranica u Wordu?

Kao dio ovog testa, također biste trebali dokumentirati mrežu, mrežne servere i sistemske baze podataka općenito.

Ispitivanje instalacije

Testiranje instalacije ima dvije svrhe. Prvi je osigurati da se softver može instalirati (na primjer, nova instalacija, nadogradnja i potpuna ili prilagođena instalacija) pod različitim standardnim i nestandardnim uvjetima. Nestandardni uslovi uključuju nedovoljno prostora na disku, nedovoljne dozvole za kreiranje direktorijuma itd. Drugi cilj je provjeriti da li softver radi ispravno nakon instalacije. Ovo obično uključuje niz testova dizajniranih za testiranje funkcija.

Ciljevi metodologije:

Izvođenje probnog ciljanog postavljanja u svakoj potrebnoj hardverskoj konfiguraciji pod sljedećim uvjetima kako bi se promatrao i zabilježio algoritam podešavanja i promjene stanja konfiguracije:

nova instalacija: novi sistem koji nikada ranije nije instaliran<Имя проекта>

ažuriranje: sistem na kojem je prethodno instaliran<Имя проекта>, ista verzija

ažuriranje verzije: sistem na kojem je prethodno instaliran<Имя проекта>, ranija verzija

metodologija:

Razvijte automatske ili ručne skripte za testiranje uslova ciljanog sistema.

novo:<имя проекта>nikad instaliran

<имя проекта>ista ili starija verzija je već instalirana

Pokretanje ili izvođenje instalacije.

Primjena unaprijed definiranog podskupa testnih scenarija funkcija, izvršavanje transakcija.

proročišta:

Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.

Potrebni alati:

Ova tehnika zahtijeva sljedeće alate:

alat za obradu slika i osnovni oporavak

Alati za praćenje instalacije (registrator, tvrdi disk, CPU, memorija, itd.)

Kriteriji uspjeha:

Ova tehnika podržava testiranje instalacije razvijenog proizvoda u jednoj ili više instalacijskih konfiguracija.

Posebne informacije:

Kakve transakcije<имя проекта>treba izabrati za sastavljanje valjanog testa da aplikacija<имя проекта>je uspješno instaliran i da nijedna važna softverska komponenta ne nedostaje?

: Kako testirati i otklanjati greške u bazama podataka

Automatsko jedinično testiranje koda aplikacije je jednostavno i jednostavno. Kako testirati bazu podataka? Ili aplikacija koja radi sa bazom podataka. Na kraju krajeva, baza podataka nije samo programski kod, baza podataka je objekat koji čuva svoje stanje. A ako počnemo da mijenjamo podatke u bazi podataka tokom procesa testiranja (a bez ovoga, kakvo ćemo testiranje imati?!), onda će se nakon svakog testa baza podataka mijenjati. Ovo može ometati naredne testove i trajno oštetiti bazu podataka.

Ključ za rješavanje problema su transakcije. Jedna od karakteristika ovog mehanizma je da dok se transakcija ne završi, uvijek možete poništiti sve promjene i vratiti bazu podataka u stanje u vrijeme kada je transakcija započela.

Algoritam je ovaj:

  1. otvoriti transakciju;
  2. po potrebi vršimo pripremne radnje za testiranje;
  3. pokrenite jedinični test (ili samo pokrenite skriptu koju želimo da testiramo);
  4. provjerite rezultat skripte;
  5. otkazati transakciju, vraćajući bazu podataka u prvobitno stanje.

Čak i ako postoje nezatvorene transakcije u kodu koji se testira, vanjski ROLLBACK će i dalje ispravno vratiti sve promjene.

Dobro je ako trebamo testirati SQL skriptu ili pohranjenu proceduru. Ali što ako testiramo aplikaciju koja se povezuje na samu bazu podataka otvaranjem nove veze? Osim toga, ako otklanjamo greške, onda vjerovatno želimo da sagledamo bazu podataka kroz oči aplikacije koja se otklanja. Kako biti u tom slučaju?

Nemojte žuriti s pisanjem distribuiranih transakcija, postoji lakše rješenje! Koristeći standardne alate SQL servera, možete otvoriti transakciju na jednoj vezi i nastaviti je na drugoj.

Da biste to učinili, potrebno je da se povežete sa serverom, otvorite transakciju, dobijete token ove transakcije, a zatim prosledite ovaj token aplikaciji koja se testira. On će se pridružiti našoj transakciji u svojoj sesiji, i od tog trenutka, u našoj sesiji otklanjanja grešaka, videćemo podatke (i takođe osetiti zaključavanja) tačno onako kako ih aplikacija koja se testira vidi.

Redoslijed radnji je sljedeći:

Nakon što započnemo transakciju u sesiji otklanjanja grešaka, moramo saznati njen identifikator. Ovo je jedinstveni niz po kojem server razlikuje transakcije. Ovaj identifikator mora na neki način biti proslijeđen aplikaciji koja se testira.

Sada je zadatak aplikacije da se veže za našu kontrolnu transakciju pre nego što počne da radi ono što bi trebalo da radi.

Tada aplikacija počinje raditi, uključujući pokretanje svojih pohranjenih procedura, otvaranje transakcija, promjenu načina izolacije... Ali naša sesija za otklanjanje grešaka će biti unutar iste transakcije kao i aplikacija sve ovo vrijeme.

Recimo da aplikacija zaključava tabelu i počinje da menja njen sadržaj. U ovom trenutku, nijedna druga veza ne može gledati u zaključani sto. Ali ne i naša sesija za otklanjanje grešaka! Iz njega možemo gledati na bazu podataka na isti način kao i aplikacija, pošto SQL server smatra da smo u jednoj transakciji.

Dok su za sve ostale sesije radnje aplikacije skrivene bravama...

Naša sesija otklanjanja grešaka tiho prolazi kroz brave (server misli da su to naše vlastite brave)!

Ili zamislite da aplikacija počinje raditi sa svojim verzijama reda u SNAPSHOT modu. Kako pogledati ove verzije? Čak je i to moguće ako ste povezani zajedničkom transakcijom!

Ne zaboravite da vratite kontrolnu transakciju na kraju ovog uzbudljivog procesa. To se može učiniti i iz sesije za otklanjanje grešaka (ako se proces testiranja normalno završava), i iz same aplikacije (ako se u njoj dogodi nešto neočekivano).

Više o ovome možete saznati na kursu.

Testiranje baze podataka je neophodno kako bismo bili sigurni da baza podataka radi. Da bi se to uradilo, upiti se sastavljaju u bazi podataka različitih tipova: za odabir, sa izračunatim poljima, parametarski, sa grupisanjem podataka, za ažuriranje, za brisanje.

Primjer upita: Prikažite listu knjiga koje je posudio određeni učenik. Prezime postavljeno kao parametar.

Primjer upita: Prikažite listu knjiga određenog autora, navodeći gdje su pohranjene u biblioteci. Postavite ime autora kao parametar.

Primjer zahtjeva: Odredite brojem bibliotečke karte u kojem razredu uči odgovarajući učenik i ko mu je razredni starešina.

Rice. 15. Zahtjev 3. "Pronađi učenika po broju bibliotečke kartice i odredi u kojem razredu uči"

Primjer zahtjeva: Odredite punim imenom i prezimenom učenika u kojem razredu studira dužnik i ko mu je razredni starešina.

Za praktičnost rada sa zapisima kreirane su različite tabele, pomoću kojih možete otvoriti bilo koju tabelu koja vam je potrebna za pregled, ažuriranje i promjenu informacija. Forma dugmeta je prikazana na sl. 17.

Rice. 17. Forma dugmeta baze podataka

ZAKLJUČAK

Završni kvalifikacioni rad urađen je na aktuelnoj temi „Razvoj informacionog sistema za seosku školsku biblioteku“.

Cilj diplomskog projekta za razvoj informacionog sistema za školsku biblioteku Saratovske oblasti, okrug Fedorovski, srednju školu MOU, selo Solnečni, je postignut.

Tokom realizacije diplomskog projekta riješeni su sljedeći zadaci:

Razmotrite biblioteku kao element obrazovnog okruženja;

Proučiti vladin koncept podrške i razvoja dječjeg čitanja;

Analiziraju se tehnologije rada biblioteka obrazovnih ustanova;

Predmetna oblast je opisana na osnovu sprovedene ankete;

-izrađen je projektni zadatak za razvoj informacionog sistema za biblioteku seoske škole;

- izgrađen funkcionalni model školske biblioteke;

- opis ulaznih i izlaznih tokova informacija;

razvijen je informacioni sistem baziran na DBMSaccess;

- testirana je razvijena relaciona baza podataka.

U završnom kvalifikacionom radu za izgradnju informacionog sistema koji automatizuje ručne operacije kako bi se osigurali procesi skladištenja, pretraživanja, obračuna izdavanja i vraćanja od strane studenata, na osnovu analize rezultata ankete iz predmetne oblasti, definisan je projektni zadatak. je razvijena. Projektni zadatak (TOR) odražavao je zahtjeve korisnika sistema – bibliotekara.

Na osnovu Projektnog zadatka razvijen je funkcionalni model rada seoske školske biblioteke. Funkcionalni model je zauzvrat poslužio kao materijal za identifikaciju neautomatizovanih oblasti u radu biblioteke.

Izbor DBMS-a kao razvojnog okruženja određen je tehničkim mogućnostima seoske biblioteke. Kao rezultat, na osnovu DBMS-a Pristupjezgro informacionog sistema - baza podataka - je izgrađeno.

Za praktičnost korisnika razvijeno je sučelje s pritiskom na dugme.

Za testiranje baze podataka razvijeni su odgovarajući upiti. Ispunjavanje ovih zahteva nam omogućava da procenimo normalan rad informacionog sistema seoske školske biblioteke.

REFERENCE

Usluga testiranja baze podataka će minimizirati rizike prilikom uvođenja sistema u komercijalni rad. Ispravnost i sigurnost baze podataka moći ćete provjeriti unaprijed.
U procesu testiranja baze podataka provjerava se rad baze podataka aplikacije radi usklađenosti s funkcionalnim i nefunkcionalnim zahtjevima. Aplikacije koje uključuju bazu podataka u svoju arhitekturu zahtijevaju proceduru testiranja baze podataka, na primjer: korporativni informacioni sistemi, mobilne i web aplikacije.

Performanse baze podataka su kritični faktor u efikasnosti upravljanja i komercijalnih aplikacija. Ako je pretraživanje ili pisanje podataka sporo, sposobnost aplikacije da normalno funkcionira se smanjuje. Jedini način da se otkrije uzrok loših performansi je da izvršite kvantitativna mjerenja i utvrdite šta uzrokuje problem performansi.
Problemi identifikovanja uskih grla performansi baze podataka direktno su povezani sa metrikom, metodama merenja performansi i tehnologijom za njihovu implementaciju. Za velike korporacije i velike baze podataka, problem određivanja performansi baza podataka ima još jedan veoma važan aspekt: ​​određivanje IT infrastrukture za dugotrajan industrijski rad aplikacija. Ovo na kraju dovodi do preciznijeg određivanja početnog ulaganja u hardver i softver koji je u osnovi. Budući da visoke performanse baze podataka u velikoj mjeri zavise od platforme i opreme, one se kupuju i rade dugoročno.
Najvažnije metrike performansi baze podataka su:

  • broj transakcija po vremenskom periodu (različitih vrsta transakcija);
  • broj I/O operacija (redova za čitanje) po transakciji i vrijeme njenog izvršenja;
  • broj pročitanih redova za svaku tablicu po transakciji;
  • prosječan broj I/O operacija po transakciji po rasponima;
  • SQL izrazi visoki operativni troškovi vremena korištenja CPU-a (korisnik, sistem)
  • vrijeme početka i završetka izvršenja naredbe
  • vrijeme operacija sortiranja (broj sortiranja, broj prelijevanja sortiranja, vrijeme za pokretanje sortiranja), najveća upotreba proteklog vremena i najmanje efikasna upotreba indeksa.

Metrika korištenja memorije za stranice tabličnog prostora i spremišta međuspremnika (za čitanje podataka, za čitanje indeksa), za izvođenje sortiranja, za pokretanje uslužnih programa, za direktorije i keš pakete, zajedno s metrikom mjerenja performansi, također je važna za postavljanje efikasnog pristupa podacima .

Šta još provjeriti prilikom testiranja baze podataka?

mapiranje podataka

Uvjerite se da veze u bazi podataka odgovaraju projektnoj dokumentaciji. Za sve CRUD operacije, provjerite jesu li relevantne tabele i zapisi ažurirani kada korisnik klikne na Spremi, Ažuriraj, Pretraži ili Izbriši iz GUI aplikacije.

ACID transakcijska svojstva

ACID svojstva transakcija uključuju atomičnost, konzistentnost, izolaciju i trajnost. Tokom testiranja baze podataka, ova četiri svojstva treba provjeriti. Ovo područje zahtijeva detaljnije testiranje ako je baza podataka distribuirana.

Integritet podataka

Imajte na umu da različiti moduli aplikacije (kao što su ekrani i obrasci) koriste iste podatke i različito izvode CRUD operacije. Stoga morate biti sigurni da se posljednje stanje podataka svugdje odražava na isti način. Sistem bi trebao prikazati ažurirane vrijednosti na svim obrascima i ekranima. To se zove integritet podataka.

Preciznost implementacije poslovne logike

Baze podataka danas nisu samo za pohranjivanje zapisa. Oni su postali veoma moćni alati koji programerima pružaju široke mogućnosti za implementaciju poslovne logike na nivou baze podataka. Primjeri moćnih karakteristika baze podataka su "referentni integritet", relacijska ograničenja, okidači i pohranjene procedure. Stoga, koristeći ove i mnoge druge mogućnosti koje nudi baza podataka, programeri implementiraju poslovnu logiku na nivou baze podataka. Tester mora osigurati da je implementirana poslovna logika ispravna i da radi ispravno.

Kako testirati bazu podataka?

Pisanje SQL upita

Da bi pravilno organizirali proces testiranja baze podataka, testeri moraju dobro poznavati SQL i DML (Jezik za upravljanje podacima) i imati jasno razumijevanje interne strukture baze podataka. Ovo je najbolji i najpouzdaniji način testiranja baze podataka, posebno za aplikacije niske do srednje složenosti. Ali dva opisana preduslova moraju biti ispunjena. Ako je aplikacija vrlo složena, tada će testeru biti teško ili čak nemoguće samostalno napisati sve potrebne SQL upite. Stoga, u slučaju nekih složenih zahtjeva, tester može zatražiti pomoć od programera. Ova metoda ne samo da daje sigurnost da je testiranje dobro obavljeno, već i poboljšava vještinu pisanja SQL upita.

Pregled podataka u tabelama

Ako tester ne poznaje SQL, onda može provjeriti rezultat CRUD operacije koristeći grafičko sučelje aplikacije, pregledom tabela (relacija) baze podataka. Ovaj način provjere baze podataka zahtijeva dobro poznavanje strukture tablice i može biti pomalo zamoran i glomazan, posebno kada baza podataka i tabele imaju veliku količinu podataka. Ovaj način provjere valjanosti baze podataka može biti težak za testere ako se podaci o validaciji nalaze u više tabela.

Pomoć za programere

Tester izvodi sve GUI CRUD operacije i provjerava njihove rezultate izvršavanjem odgovarajućih SQL upita koje je napisao programer. Ova metoda ne zahtijeva dobro poznavanje SQL-a, niti dobro poznavanje strukture baze podataka aplikacije.Čini se da je metoda jednostavna i dobar izbor za testiranje baze podataka. Ali njegov nedostatak je haos. Šta ako je zahtjev koji je napisao programer semantički neispravan ili ne ispunjava ispravno zahtjeve korisnika? U ovom slučaju, testiranje ne daje nikakve garancije o kvaliteti proizvoda.

Primjer tehnike testiranja integriteta baze podataka

Baze podataka i procesi baze podataka treba testirati kao nezavisni podsistem. U ovom slučaju treba testirati sve podsisteme bez ciljnog korisničkog sučelja kao sučelja za podatke. Dodatno istraživanje treba obaviti u sistemu upravljanja bazom podataka (DBMS) kako bi se odredili alati i tehnike za podršku testiranju definiranom u sljedećoj tabeli.

Ciljevi metodologije Testiranje metoda i procesa pristupa bazi podataka nezavisnih od korisničkog sučelja tako da se može uočiti i zabilježiti neispravan ciljni algoritam ili oštećenje podataka.
Metodologija Pozivanje svake metode ili procesa pristupa bazi podataka, popunjavanje svakog validnim i nevažećim podacima ili upitima za podatke.

Provjera baze podataka kako biste bili sigurni da su podaci ispravno popunjeni i da se svi događaji baze podataka odvijaju kako je očekivano, ili provjera vraćenih podataka kako biste bili sigurni da se tačni podaci dohvaćaju kada je potrebno.

Oracles(heuristički mehanizam koji pomaže identificirati problem) Navedite jednu ili više strategija koje se mogu koristiti u metodologiji za ispravno posmatranje rezultata testa. Proročanstvo kombinuje elemente kako metoda pomoću kojih se opažanje može obaviti, tako i karakteristike određenog ishoda koje ukazuju na mogući uspjeh ili neuspjeh. U idealnom slučaju, orakuli će izvršiti samovalidaciju, omogućavajući početnu procjenu uspjeha ili neuspjeha automatskim testovima. Međutim, trebali biste biti svjesni rizika povezanih s automatskim određivanjem rezultata.
Potrebni alati Ova tehnika zahtijeva sljedeće alate:
  • Alat za automatizaciju testnih skripti
  • Osnovna slika i alat za vraćanje
  • Alati za sigurnosno kopiranje i oporavak
  • Alati za praćenje instalacije (registrator, hard disk, CPU, memorija, itd.)
  • Uslužni programi i alati za SQL baze podataka
  • Alati za generiranje podataka
Kriterijumi uspeha Ova metodologija podržava testiranje svih glavnih metoda i procesa pristupa bazi podataka.
Posebaninformacije Testiranje može zahtijevati razvojno okruženje DBMS-a ili upravljačke programe za unos ili izmjenu podataka direktno u bazu podataka.

Procesi se moraju pozvati ručno.

Male ili minimalne baze podataka (sa ograničenim brojem zapisa) treba koristiti za proširenje opsega svih oštećenih događaja.

Podijeli: