Ideen/Erfahrungen mit Datenbanktests
am 15.09.2004 00:41:25 von bogardan
Hallo NG!
Ich schreibe zZ eine Anwendung in PHP/Mysql, und plane, zwecks gutem
Stil und hoffentlich ersparter Nerven, testorientiert zu Arbeiten. Bei
reinem PHP wäre das ja relativ einfach, da gibts afaik ja auch einige
vorgefertigte Äquivalente zur berühmten JUnit, aber bei mysql hab ich da
bis jetzt nix gefunden.
Mein Problem ist hauptsächlich, dass (imho) Endstadien bei Datenbanken
schwieriger abzufragen sind als bei reinem PHP-Code, da ja jede Abfrage
für sich wieder ein relativ komplexer Query ist, und ich da befürchte,
durch falsche Abfragen falsche Tests zu schreiben.
Hat jemand von euch da Erfahrungen oder Ideen, wie es gut machbar wäre?
Danke schonmal!
Re: Ideen/Erfahrungen mit Datenbanktests
am 15.09.2004 11:31:51 von Gerrit Beine
Philipp Benjamin Köppchen wrote:
> Hallo NG!
>
> Ich schreibe zZ eine Anwendung in PHP/Mysql, und plane, zwecks gutem
> Stil und hoffentlich ersparter Nerven, testorientiert zu Arbeiten. Bei
> reinem PHP wäre das ja relativ einfach, da gibts afaik ja auch einige
> vorgefertigte Äquivalente zur berühmten JUnit, aber bei mysql hab ich da
> bis jetzt nix gefunden.
> Mein Problem ist hauptsächlich, dass (imho) Endstadien bei Datenbanken
> schwieriger abzufragen sind als bei reinem PHP-Code, da ja jede Abfrage
> für sich wieder ein relativ komplexer Query ist, und ich da befürchte,
> durch falsche Abfragen falsche Tests zu schreiben.
> Hat jemand von euch da Erfahrungen oder Ideen, wie es gut machbar wäre?
> Danke schonmal!
Ich habe mir für solche Zwecke im Testbenches geschrieben.
Ein SQL-Dump einer Datenbank mit vorgegebenen Werten eigent sich dafür
wunderbar.
Ansonsten kann ich nur eines sagen: Wenn Du objektorientier arbeitest,
und das konsequent und korrekt durchziehst, reicht ein Unit Test für
die Objekte. Datenbanktests sind dann nicht mehr nötig.
Wenn Du die Robustheit deiner Applikation bzgl. eventuellen
Datenbankausfällen testen möchtest, kann ich simpletest[1] empfehlen.
Das kann sogenannte Server Stubs erzeugen, die Deine Datenbankverbindun
emulieren.
Gruss...
Der Indy
[1] http://www.lastcraft.com/simple_test.php
Re: Ideen/Erfahrungen mit Datenbanktests
am 15.09.2004 21:27:08 von bogardan
Gerrit Beine wrote:
> Ein SQL-Dump einer Datenbank mit vorgegebenen Werten eigent sich dafür
> wunderbar.
> Ansonsten kann ich nur eines sagen: Wenn Du objektorientier arbeitest,
> und das konsequent und korrekt durchziehst, reicht ein Unit Test für
> die Objekte. Datenbanktests sind dann nicht mehr nötig.
Ich weiss nicht, wie konsequent ich es tue. Die datenbankabfragen sind
in methoden eines singletons namens "api" gekapselt, und liefern objekte
oder arrays aus objekten zurück, die die daten repräsentieren.
Entspricht das dem, was du konsequent/korrekt nennst?
> Wenn Du die Robustheit deiner Applikation bzgl. eventuellen
> Datenbankausfällen testen möchtest, kann ich simpletest[1] empfehlen.
Danke für den link
> Das kann sogenannte Server Stubs erzeugen, die Deine Datenbankverbindun
> emulieren.
Muss ich mir mal angucken.
Danke!