Production Database Reducer Start Page English Hungarian

A szoftver » Fejlesztés - tesztelés


 

 

 

 

 

Az alapötlet.
 

Az adatbázis méretcsökkentő algoritmusunk abból a megfontolásból született, hogy üzemeltetési szempontok szerintrendkívül nehéz a nagy teszt adatbázisok problémáját megfogni.
Az RDBMS-ek és az ezeket használó, fejlesztett alkalmazások működésük során a keletkező adat entitások között rendkívül szövevényes kapcsolatokat alakítanak ki.
Nem oldható meg tehát pusztán pl. egy partíció eldobásával a méretcsökkentés, hiszen ha az függősége az adatbázis legalább egy különböző objektumának, akkor az RDBMS (helyesen) nem engedi azt eldobni.
Vagy ha engedi eldobni (mondjuk mert performancia megfontolások miatt az idegen kulcsokat nem használja az alkalmazás), akkor az adott alkalmazás nem fog tovább helyesen működni.
Üzemeltetői fejjel gondolkodva tehát a feladat megoldhatatlannak tűnt.

Ugyanakkor, a fejlettebb adatbázis kezelők rendelkeznek statisztikákkal, metaadatokkal, amelyek alkalmas jogosultságokkal le is kérdezhetők, ezekre szoftvert lehet programozni!
Így fejlesztői fejjel gondolkodva az eredeti probléma igen is megoldható!

 

 

 

 

A fejlesztés.
 

Mint minden szoftverfejlesztési tevékenység, a Production Database Reducer kifejlesztése is a kulcs funkciók megatározásával majd az algoritmus tervezésével kezdődött.
Nagy volt a hangsúly azon, hogy egy adatbázis kezelőtől független algoritmus keletkezzék, figyelembe véve persze a vezető adatbázis kezelőkben igénybe vehető funkciók közös halmazát.

A legelső implementáció a nyílt forrású Postgresql-re készült el.
Ezt követte az Oracle, majd a Db2 és Mssql implementációk elkészítése.

 

 

 

 

A tesztelés.
 

A tesztelési kódok kifejlesztése az összes program végleges verziójának megszületése után kezdődött.
A Production Database Reducer implementációk tesztelése teljesen automatikus. Egy-egy javítás vagy újabb funkció megvalósításának teljes tesztelése így meglehetősen egyszerű és gyors folyamat.
Mivel a tesztelésre használt programok is szoftverek, ezért ezek is részletes tesztelésre kerültek illetve kerülnek folyamatosan, amint a hibajavítás vagy újabb funkció megvalósításakor szükséges a megváltozott kódrészletet tesztelő kód módosítása.
A PrDaRe algoritmus megvalósított néhány adatbázis programozási környezetében. Ha egy UAT teszteset hibára fut egy adatbázisban de a többiben nem, akkor ez szoftverhibára utal. Tehát, az eltérő nyelvű implementációk megléte nem csak újabb funkcionális hanem tesztelési képességet is jelent. Nagyon sokat jelent, hogy pontosan ugyanazon funkcióhalmaz működését megfigyelhetjük teljesen eltérő adatbázisokban, mindben ugyanaz kell történjen a tesztelés során.
Így teljes az egész szoftver minőségbiztosítása.