[[oktatas:adatbázis-kezelés|< Adatbázis-kezelés]] ====== Adatbázis-tesztelés ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2014, 2017 * Licenc: GNU Free Documentation License 1.3 * Web: http://szit.hu ====== Értelmezhető teszttípusok ====== * adatbázis séma teszt * funkcionalitási teszt * terhelési teszt * védelmi teszt * hatékonysági teszt * adatintegritási teszt ===== Vizsgálati eljárások ===== * adatbázis fekete-dobozos tesztelése * adatbázis fehér-dobozos tesztelése ==== Fekete-dobozos tesztelés ==== * adatok feltérképezése * beérkező adatok ellenőrzése * kimenő adatok ellenőrése * ok-hatás diagram (Cause effect graphing; ok-hatás analízis) (esetleg döntési táblák) * ekvivalencia particionálás (Equivalence Class Partitioning - ECP) * határ-érték elemzés {{:oktatas:adatbázis-kezelés:ok-kovetkezmenydiagram_001.png|}} ==== Fehér-dobozos tesztelés ==== Főleg az adatbázis belső szerkezetével foglalkozik. * mit kell újratervezni * adatbázis függvények, triggerek, nézetek, SQL lekérdezések tesztelése * érvényes adatmodellek, táblák és sémák ellenőrzése * hivatkozási integritások ellenőrzése * alapértelmezett értékek ellenőrzése * döntések és utasítások lefedettségének ellenőrzése ===== WHODATE megközelítés ===== Honkongi Természettudományi és Technikai Egyetem, számítástechnikai tanszékén foglalkoznak a WHODATE megközelítéssel. A WHODATE megközelítés esetén az SQL kéréseket átalakítjuk a relációs algebra egy-egy utasításának. {{:oktatas:adatbázis-kezelés:whodate_megkozelites.png|}} A relációs algebra műveletei: * egy operandusú * szelekció * projekció * kiterjesztés * aggregáció * csoportképzés * két operandusú * join * metszet * különbség * unió * osztás ===== Tesztprogramok ===== ==== Funkció szerint ==== * [[http://dbunit.sourceforge.net/|DBUnit]] - A JUnit mintájára készült adatbázis-tesztelő keretrendszer * [[http://smartbear.com/products/qa-tools/automated-testing-tools/|TestComplete]] - Funkcionális automatateszt * [[http://www.sqledit.com/stress/|DTM DB Stress]] - Adatbázis teljesítményteszt ==== Egyéb ==== * Microsoft® SQL Server™ 2000 SQL Query Analyzer * [[http://www.mysql.com/products/enterprise/query.html|MySQL Query Analyzer]] * [[http://test4data.com/|Test4Data]] ===== Ubuntu és Debian ===== ==== mariadb-test ==== apt install mariadb-test A teszteszközök a következő helyre települnek: /usr/share/mysql/mysql-test/ Pl.: /usr/share/mysql/mysql-test/mysql-test-run.pl /usr/share/mysql/mysql-test/mysql-stress-test.pl ==== sysbench ==== apt install sysbench Teszttáblák elkészítése: sysbench --test=oltp --oltp-table-size=1000000 \ --mysql-db=test --mysql-user=root --mysql-password=titok prepare Azután a benchmark: sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test \ --mysql-user=root --mysql-password=titok --max-time=60 \ --oltp-read-only=on --max-requests=0 --num-threads=8 run ===== Forrás ===== * https://www2.cse.ust.hk/~scc/publ/CODAS99.pdf * http://www.inf.unideb.hu/kmitt/konvkmitt/szoftverteszteles/book.xml.html * https://phpunit.de/manual/3.8/en/database.html * http://www.howtoforge.com/how-to-benchmark-your-system-cpu-file-io-mysql-with-sysbench ===== Irodalom ===== * Charles Bell: Expert MySQL * http://it-ebooks.info/book/1978/