Test-System

Proggen.org - Lernprojekt: Duplikatefinder
Antworten
Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Test-System

Beitrag von fat-lobyte » Mo Aug 09, 2010 9:39 pm

Hallo.
Aus gegebenem Anlass (bebu's "scanner"), würde ich vorschlagen im Projektverzeichnis einen Ordner mit dem Namen "testsuite" zu erstellen, und dort alle Dateien hineinzulegen, die eigentlich zum Testen gedacht sind. Das ist zurzeit nur bebu's "scanner" modul, es wird hoffentlich noch etwas dazukommen.
Das hat den Vorteil, dass man die Tests von dem Programm trennen kann, und es eventuell in ein "test" Target auslagern kann ("make test").
Außerdem kann man noch ganz lustige sachen mit CMake/CTest machen. Hab da schon ein paar Gedanken, aber alles zu seiner Zeit.

Ich kann schon alles einrichten, brauch nur das "OK" vom Projektleiter.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Test-System

Beitrag von Kerli » Mo Aug 09, 2010 11:41 pm

Ich bin zwar nicht der Projektleiter aber trotzdem dafür. Nur der Name "testsuite" gefällt mir irgendwie nicht so ganz. Warum nicht einfach "test"? Daran hab ich mich inzwischen schon gewöhnt :)

Testen ist bis jetzt eigentlich überhaupt nur sehr mager vorhanden. Ich weiß das das nicht immer einfach ist, aber man sollte da konsequent sein.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Test-System

Beitrag von fat-lobyte » Di Aug 10, 2010 10:14 am

Kerli hat geschrieben:Testen ist bis jetzt eigentlich überhaupt nur sehr mager vorhanden. Ich weiß das das nicht immer einfach ist, aber man sollte da konsequent sein.
Vollstes einverständnis.
Kerli hat geschrieben:Ich bin zwar nicht der Projektleiter aber trotzdem dafür. Nur der Name "testsuite" gefällt mir irgendwie nicht so ganz. Warum nicht einfach "test"? Daran hab ich mich inzwischen schon gewöhnt :)
Daran habe ich zuerst auch gedacht. Aber ich hatte da so eine Idee ein kleines "Test-framework" aufzubauen, mit allen Modulunabhängigen Dateien in "test", und allen Modulabhängigen Dateien nach "testsuite". Ist nur ne Idee, man kann auch beides nach test/ hauen.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Test-System

Beitrag von Xin » Di Aug 10, 2010 10:15 am

fat-lobyte hat geschrieben:Aus gegebenem Anlass (bebu's "scanner"), würde ich vorschlagen im Projektverzeichnis einen Ordner mit dem Namen "testsuite" zu erstellen
Ich bin ebenfalls für test.
fat-lobyte hat geschrieben:und dort alle Dateien hineinzulegen, die eigentlich zum Testen gedacht sind. Das ist zurzeit nur bebu's "scanner" modul, es wird hoffentlich noch etwas dazukommen.
In dem Fall wäre das quasi ein Verzeichnisbaum mit einigen Dateien, richtig?
fat-lobyte hat geschrieben:Das hat den Vorteil, dass man die Tests von dem Programm trennen kann, und es eventuell in ein "test" Target auslagern kann ("make test").
Außerdem kann man noch ganz lustige sachen mit CMake/CTest machen. Hab da schon ein paar Gedanken, aber alles zu seiner Zeit.
Ich kenne bisher nur CPPUnit, bzw. meine eigenen Testfunktionen. CTest kenne ich noch nicht, aber ich bin interessiert mir das anzusehen.
Von daher hast Du von meiner Seite erstmal das Okay. Tests sind schließlich nie verkehrt :-)

Wir sollten ein einfaches Tutorial zum Testen erstellen, damit er überhaupt sinnvoll selbst Testen kann, bzw. wenigstens ein paar Beispieltests erstellen. Das Tutorial ist sicherlich sinnvoll, aber halt auch alles eine Frage der Zeit.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Test-System

Beitrag von fat-lobyte » Di Aug 10, 2010 10:29 am

Xin hat geschrieben:Ich bin ebenfalls für test.
So soll es sein.
Xin hat geschrieben:In dem Fall wäre das quasi ein Verzeichnisbaum mit einigen Dateien, richtig?
Klar. Sowohl CMake, als auch ich sind flexibel :-)
fat-lobyte hat geschrieben:Ich kenne bisher nur CPPUnit, bzw. meine eigenen Testfunktionen. CTest kenne ich noch nicht, aber ich bin interessiert mir das anzusehen.
Anfangs werde ich CTest noch nicht verwenden. So weit ich weiß braucht man für CTest sowieso eigenständige Executables, mit main()-Funktion, die 0 bei Erfolg und etwas anderes bei Fehlschlag zurückgibt. Das ist also ziemlich generisch und nicht CTest spezifisch, da kann man auch was anderes dazuhacken wenns sein muss.
fat-lobyte hat geschrieben:Von daher hast Du von meiner Seite erstmal das Okay. Tests sind schließlich nie verkehrt :-)
Wird implementiert. Heute abend oder morgen.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Test-System

Beitrag von Xin » Di Aug 10, 2010 10:49 am

fat-lobyte hat geschrieben:Anfangs werde ich CTest noch nicht verwenden. So weit ich weiß braucht man für CTest sowieso eigenständige Executables, mit main()-Funktion, die 0 bei Erfolg und etwas anderes bei Fehlschlag zurückgibt. Das ist also ziemlich generisch und nicht CTest spezifisch, da kann man auch was anderes dazuhacken wenns sein muss.
Dann werde ich mich hoffentlich morgen abend um ein CPPUnit-Tutorial kümmern.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Test-System

Beitrag von Bebu » Fr Aug 05, 2011 10:34 pm

Ich habe euch heute eine kleine Tecdemo in den branch boostTestDemo hochgeladen. Es ist ein vollständig von Dedupe unabhängiges CMake Projekt und soll die Funktionsweise von Boost.Test demonstrieren. Einzige Abhängigkeit ist die Testlibary von Boost und sollte auch mit Version 1.44 funktionieren. Bitte seht es euch mal an und sagt mir, ob es euch gefällt. Wenn ja, dann werfe ich cppunit nämlich raus und ersetzte es mit Boost.Test.

Ich bin bis jetzt der Meinung, das Boost.Test wesentlich intuitiver ist, als cppunit und daher gefällt es mir besser. Aber mal sehen, was unser Projektleiter und andere so davon halten :twisted:
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Test-System

Beitrag von Xin » Fr Aug 05, 2011 11:09 pm

Ohne es bisher gesehen zu haben: Mach es.

CPPUnit läuft unter MacOS und Linux problemlos, aber das offizielle Windows-Paket ist ab Visual Studio 2005 nicht mehr kompilierfähig. Die Änderungen sind überschaubar, aber nur bedingt zumutbar. Ein Test-System, dass nicht kompilierbar ist, kann so nicht empfohlen werden und ich sehe keinen Grund den CPPUnit-Support, damit wir es in Dedupe verwenden können.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten