vortrag pl testsuite

Am Donnerstag den 29.01.2009 wird im Rahmen des wöchentlichen Treffens die PL Test Suite Vorgestellt.

Zur Vereinfachung wird einfach mal die Mail zitiert


Hallo,

ich moechte an der Stelle das Projekt "PL Test Suite" vorstellen, 
welches ich auf http://pl-test-suite.origo.ethz.ch/ gehostet habe. 

Es hat zum Ziel fuer eine ganze Menge von Programmiersprachen Tests
bereitzustellen, die der unterstuetzenden Dokumentation der
Programmiersprachen dienen. Es bietet 2 entscheidende Vorteile:

Erleichterung des Erlernens von Programmiersprachen fuer Anfaenger und
(besser noch) Quereinsteiger.
Aufgrund dessen, dass die Tests in Unit-Test Form abgelegt sind, braucht
man zunaechst nicht zwingend einen passenden Compiler. Die Tests sind
immer als Wahr anzusehen, denn bevor der Code in das Repository
submittet wird, muesen alle Tests funktionieren und es duerfen keine
Fehler vorhanden sein. So kann man sich zu jedem beliebigen Topic,
insofern Tests dafuer da sind, funktionierenden Code ansehen. Das
koennen Sein die Operatoren einer Programmiersprache, wie Kommentare
geschrieben werden, wie ein "Hello World" funktioniert, eine Funktion,
das Zusammenspiel von Klassen, Vererbung, inwieweit Lambda Calculus
funktioniert, usw. usf.

Der zweite Vorteil liegt darin, dass man ein aelteres Projekt, welches
auf Zusicherungen berhut, die durch die Tests im Prinzip abgesichert
wurden, bereinigen kann, indem man Testet, ob die fuer die alte
Implementation eines Compilers / Interpreters existnerenden Tests in
einer neuen Umgebung immer noch funktionieren und wenn nicht, welche
Funktionen ggf. Probleme machen koennten. (Beispiel: mzscheme in der
Version 3 hat die Funktion append!, die in dieser Form in
mzscheme 4 nicht mehr vorhanden ist. Ein Projekt, welches diese
Funktionen benutzt wuerde nicht mehr funktionieren.)

Stand des Projektes

Die Anforderung an das Projekt, auch fuer andere eine Hilfestellung zu
bieten, ist momentan nur ansatzweise erfuellt, da ich zunaechst nur
Tests schrieb, die fuer mich interessant waren und meine Fragen
beantworteten. Damit das Projekt auch fuer andere Interessant wird, ist
es notwendig, dass einerseits allgemeine Themen definiert werden, die
sich dann auch in den Tests wiederfinden lassen und es muss mehr Code
entstehen. Ich alleine werde das nicht schaffen, fuer jede xbeliebige
Programmiersprache eine allumfassende Testsuite zu Programmieren, selbst
https://svn.origo.ethz.ch/pl-test-suite/clisp/ ist noch nicht als
vollstaendig anzusehen, obwohl sich da doch eine Menge angehaeuft hat.

Entwickler gesucht

Wenn man Software entwickelt, muss man generell tests schreiben, um sich
seiner Umgebung zu vergewissern und sicherzustellen, dass die
verwendeten Funktionen auch in der Weise funktionieren, wie man es
erwartet. Die Frage ist: wie schreibt man Tests. Schreibt man die Tests
so, dass man die Erwartete Ausgabe sehen kann und so die Richtigkeit von 
Hand prueft, so hat man zunaechst ein Ergebnis, welches aber wertlos
wird, sobald die Erwartete Ausgabe wieder vergessen hat. Tests sollten
folglich so programmiert sein, dass das erwartete Ergebnis im Test
geprueft wird und man im Test ein und ausgaben bzw. deren Vergleich
sehen kann. Da Programmierer ohnehin testsn muessen, wieso eigentlich
dann nicht gleich in Unit-Test Form? Und was spricht dagegen, derartige
Tests gleich mit in die Testsuite aufzunehmen?

Ich suche folglich nicht ausschliesslich Entwickler, die in ihrer
Freizeit stupid Programmiersprachen und APIs Testen, die im Normalfall durch
jeweils eigene Tests geprueft sind und ihre eigenen Testsuites haben.
Was ich eher suche, sind Entwickler, die  sich damit anfreunden koennen,
die Tests, die sie sowieso schreiben, der "PL Test Suite" zur Verfuegung
zu stellen. 

So, das war es erstmal meiner Seite, ich freue mich ueber jedes
Feedback.

Gruesse,
Frank Schwidom


Zuletzt geändert: 2009/01/27 15:37