Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />
30.4 Test-Driven Development (TDD)<br />
E<strong>in</strong> weiterer Ansatz ist das Test-Driven Developpment. Hierbei wird jeweils zuerst festgelegt, welche<br />
neue Funktionalität e<strong>in</strong>em Modul oder e<strong>in</strong>em System h<strong>in</strong>zugefügt werden soll. Anschliessend<br />
wird e<strong>in</strong> Test entworfen (Üblicherweise Code), welcher <strong>die</strong> neue Funktonalität testet (Und allenfalls<br />
benötigte Schnittstellenfunktionen als Codegerüst, d.h. ohne funktionalität, implementiert). Nun<br />
wird das Projekt compiliert <strong>und</strong> dem Test unterworfen, der Test muss dabei fehlschlagen, weil <strong>die</strong><br />
neue Funktionalität noch gar nicht implementiert ist.<br />
Nun wird <strong>die</strong> neue Funktionalität implementiert, das Modul erneut compiliert <strong>und</strong> dem Test unterworfen.<br />
Nun muss der Test bestanden werden.<br />
Bei e<strong>in</strong>em TDD-Projekt beg<strong>in</strong>nt man somit mit e<strong>in</strong>em Modul, welches nur aus den leeren Schnittstellenfunktionen<br />
besteht, also noch ke<strong>in</strong>e Funktionalität besitzt. Dieses wird nun dem Test unterworfen<br />
(Wobei der Test fehlschlägt), anschliessend wird <strong>die</strong> Funktionalität h<strong>in</strong>zugefügt <strong>und</strong> erneut<br />
getestet (Wobei der Test nun bestanden werden muss). Anschliessend wird wieder e<strong>in</strong> Test <strong>und</strong><br />
allfällige Schnittstellenfunktionen h<strong>in</strong>zugefügt, getestet, Funktionalität h<strong>in</strong>zugefügt <strong>und</strong> wieder getestet.<br />
Dieser Prozess wird sooft wiederholt, bis das System als ganzes <strong>die</strong> gewünschte Funktionalität<br />
aufweist.<br />
Bei jedem Test werden immer alle bisher entworfenen Tests abgearbeitet, so wird sichergestellt,<br />
dass e<strong>in</strong>e neu h<strong>in</strong>zugefügte Funktionalität nichts bestehendes beschädigt.<br />
Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 122/147