Unit Test / Modultest
Verfasst: 18. März 2012 11:03
Hallo!
Ich beschäftige mich jetzt seit einiger Zeit mit dem Testen von Software. Welche Arten von Tests gibt es? Welche Test können automatisch laufen? usw. Beginnen möchte ich mit den Unit Tests. Nur ich habe da noch etwas Verständnisschwierigkeiten, was man mit Unit Tests abdecken kann und was nicht. Und wie muss ein Projekt/Programm aufgebaut sein, wenn man Unit Tests verwenden möchte? Kann man Unit Test in vorhandene Projekte einbauen?
In der Qt-Doku kann man im Beispiel sehen, dass dort die toUpper()-Funktion von QString getestet wird, was auch einleuchtend ist. Nur kann ich eine Methode testen, die zB. per SQL Datensätze auf einer DB holt und diese dann in Form eines Lieferscheins in ein PDF schreibt? Jeder kann sich vorstellen, dass dort mehr passiert. Muss man solche Methoden noch weiter verkleinern, damit Unit Tests funktionieren oder ist das Testen so einer Art von Methode unmöglich (außer manueller Test vom Benutzer)?
Viele Fragen, aber ich hoffe auf ein paar informative Hinweise.
Markus
Ich beschäftige mich jetzt seit einiger Zeit mit dem Testen von Software. Welche Arten von Tests gibt es? Welche Test können automatisch laufen? usw. Beginnen möchte ich mit den Unit Tests. Nur ich habe da noch etwas Verständnisschwierigkeiten, was man mit Unit Tests abdecken kann und was nicht. Und wie muss ein Projekt/Programm aufgebaut sein, wenn man Unit Tests verwenden möchte? Kann man Unit Test in vorhandene Projekte einbauen?
In der Qt-Doku kann man im Beispiel sehen, dass dort die toUpper()-Funktion von QString getestet wird, was auch einleuchtend ist. Nur kann ich eine Methode testen, die zB. per SQL Datensätze auf einer DB holt und diese dann in Form eines Lieferscheins in ein PDF schreibt? Jeder kann sich vorstellen, dass dort mehr passiert. Muss man solche Methoden noch weiter verkleinern, damit Unit Tests funktionieren oder ist das Testen so einer Art von Methode unmöglich (außer manueller Test vom Benutzer)?
Viele Fragen, aber ich hoffe auf ein paar informative Hinweise.
Markus