mrmcd0x8h - MRMCD-POSTRELEASE-8.3
MetaRheinMain Chaosdays
Zurueck zum Thema -- Fahrplan-Export vom Sat Sep 26 12:04:04 CEST 2009
Got an android phone? Try out the mrmcd0x8 application (available from the android market)
| Referenten | |
|---|---|
|
|
schwidom |
| Programm | |
|---|---|
| Tag | Samstag - 2009-09-05 |
| Raum | C110 |
| Beginn | 20:45 |
| Dauer | 02:15 |
| Info | |
| ID | 3389 |
| Veranstaltungstyp | Vortrag |
| Track | lecture |
| Feedback | |
|---|---|
|
Haben Sie diese Veranstaltung besucht? Feedback abgeben |
Die PL Test Suite
Dokumentation in Test-Form
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.
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.