<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Kommentare zu: Debugging sucks, Testing rocks!</title>
	<atom:link href="http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/</link>
	<description>Ein PHP Blog mit aktuellen PHP Informationen und Tricks für Entwickler.</description>
	<pubDate>Thu, 09 Feb 2012 11:48:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>Von: Selenium zweckentfremdet &#124; Der PHP Hacker</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1479</link>
		<dc:creator>Selenium zweckentfremdet &#124; Der PHP Hacker</dc:creator>
		<pubDate>Sat, 20 Dec 2008 20:29:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1479</guid>
		<description>[...] will hier nicht nochmal Selenium vorstellen. Das haben andere schon viel fr&#252;her gemacht. Mit geht es viel mehr darum, kurz eine nette Eigenschaft von Selenium erw&#228;hnen, weswegen dieses [...]</description>
		<content:encoded><![CDATA[<p>[...] will hier nicht nochmal Selenium vorstellen. Das haben andere schon viel fr&#252;her gemacht. Mit geht es viel mehr darum, kurz eine nette Eigenschaft von Selenium erw&#228;hnen, weswegen dieses [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: phil</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1424</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Thu, 04 Dec 2008 18:44:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1424</guid>
		<description>Hi Ulf,

ich habe noch mal ein bisschen weiter in die Materie reingelesen. Das Thema l&#228;sst mich nicht los und ich glaube mittlerweile, dass ich 

1. Zu viel mit Unit Test machen wollte.
2. Da  Aspekte von anderen "Testarten" (Funktionale Tests die zum Beispiel mit Selenium gemacht werden k&#246;nnen) reingemischt habe.

Ich werde einfach mal anfangen ein bisschen auszuprobieren, ob und wie ich vielleicht noch ein paar sinnvolle Tests f&#252;r meine Applikation bauen kann, damit ich besser f&#252;r die Zukunft ger&#252;stet bin.

Das Thema ist echt spannend.</description>
		<content:encoded><![CDATA[<p>Hi Ulf,</p>
<p>ich habe noch mal ein bisschen weiter in die Materie reingelesen. Das Thema l&#228;sst mich nicht los und ich glaube mittlerweile, dass ich </p>
<p>1. Zu viel mit Unit Test machen wollte.<br />
2. Da  Aspekte von anderen &#8220;Testarten&#8221; (Funktionale Tests die zum Beispiel mit Selenium gemacht werden k&#246;nnen) reingemischt habe.</p>
<p>Ich werde einfach mal anfangen ein bisschen auszuprobieren, ob und wie ich vielleicht noch ein paar sinnvolle Tests f&#252;r meine Applikation bauen kann, damit ich besser f&#252;r die Zukunft ger&#252;stet bin.</p>
<p>Das Thema ist echt spannend.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ulf</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1402</link>
		<dc:creator>Ulf</dc:creator>
		<pubDate>Fri, 28 Nov 2008 18:31:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1402</guid>
		<description>Hi Phil,

sorry mal wieder f&#252;r die sp&#228;te Antwort, aber ich musste angestrent die Woche arbeiten... ;)

@TDD
Ich finde toll dass du es im Studium gelernt bzw. zumindest angeschnitten hast. Bei uns kam das leider gar nicht vor. :( Ich habe diese Woche aber selbst damit zu k&#228;mpfen gehabt, eine sinnvolle Testumgebung f&#252;r ein Mini-Projekt aufzusetzen. Da stellt sich nat&#252;rlich immer die Frage von Aufwand/Kosten  Nutzen. Ich habe die Testumgebung sehr klein gehalten, aber f&#252;r dieses Projekt war es noch ok.

Ich bin aber der Meinung sobald mehr als zwei Leute an einem Projekt arbeiten, geht quasi kein Weg daran vorbei. Denn jemand der etwas selber programmiert hat soviel Insider-Wissen, dass kann man gar nicht vermitteln. Bei xUnit-Tests f&#228;llt aber eine &#196;nderung im R&#252;ckgabetyp bzw. in der Signatur immer auf. Es wird eben klar gekapselt und diese Kapselung wird unabh&#228;ngig davon noch einmal getestet.

@Loose-Coupling
Loose-Coupling definiert nicht nur dass Sub-Systeme nur &#252;ber Schnittschnellen sprechen d&#252;rfen sondern es definiert auch, dass Sub-Systeme so wenig wie m&#246;glich miteinander kommunizieren sollen. Ein guter Einstieg ins Thema ist hierbei nat&#252;rlich wieder Wiki (http://en.wikipedia.org/wiki/Loose_coupling). Aber auch die GoF haben immer wieder darauf hingewiesen. Und imo ist dieser Punkt Punkt um ein Vielfaches schwieriger umzusetzen als ein xUnit-Test-Setup. Ich kann beides nicht. :( ;)

@Sonstiges
Den Chef und die Firma kann ich dir gerne sagen, aber das bitte lieber per E-Mail. Ich glaube du solltest als Moderator Zugriff auf meine E-Mail haben. Wenn es dich also interessiert. Hetzer- bzw. Herzereien haben nichts in der &#214;ffentlichkeit verloren. ;)

Viele Gr&#252;&#223;e und ein sch&#246;nes Wochenende
Ulf</description>
		<content:encoded><![CDATA[<p>Hi Phil,</p>
<p>sorry mal wieder f&#252;r die sp&#228;te Antwort, aber ich musste angestrent die Woche arbeiten&#8230; ;)</p>
<p>@TDD<br />
Ich finde toll dass du es im Studium gelernt bzw. zumindest angeschnitten hast. Bei uns kam das leider gar nicht vor. :( Ich habe diese Woche aber selbst damit zu k&#228;mpfen gehabt, eine sinnvolle Testumgebung f&#252;r ein Mini-Projekt aufzusetzen. Da stellt sich nat&#252;rlich immer die Frage von Aufwand/Kosten  Nutzen. Ich habe die Testumgebung sehr klein gehalten, aber f&#252;r dieses Projekt war es noch ok.</p>
<p>Ich bin aber der Meinung sobald mehr als zwei Leute an einem Projekt arbeiten, geht quasi kein Weg daran vorbei. Denn jemand der etwas selber programmiert hat soviel Insider-Wissen, dass kann man gar nicht vermitteln. Bei xUnit-Tests f&#228;llt aber eine &#196;nderung im R&#252;ckgabetyp bzw. in der Signatur immer auf. Es wird eben klar gekapselt und diese Kapselung wird unabh&#228;ngig davon noch einmal getestet.</p>
<p>@Loose-Coupling<br />
Loose-Coupling definiert nicht nur dass Sub-Systeme nur &#252;ber Schnittschnellen sprechen d&#252;rfen sondern es definiert auch, dass Sub-Systeme so wenig wie m&#246;glich miteinander kommunizieren sollen. Ein guter Einstieg ins Thema ist hierbei nat&#252;rlich wieder Wiki (http://en.wikipedia.org/wiki/Loose_coupling). Aber auch die GoF haben immer wieder darauf hingewiesen. Und imo ist dieser Punkt Punkt um ein Vielfaches schwieriger umzusetzen als ein xUnit-Test-Setup. Ich kann beides nicht. :( ;)</p>
<p>@Sonstiges<br />
Den Chef und die Firma kann ich dir gerne sagen, aber das bitte lieber per E-Mail. Ich glaube du solltest als Moderator Zugriff auf meine E-Mail haben. Wenn es dich also interessiert. Hetzer- bzw. Herzereien haben nichts in der &#214;ffentlichkeit verloren. ;)</p>
<p>Viele Gr&#252;&#223;e und ein sch&#246;nes Wochenende<br />
Ulf</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Flug</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1399</link>
		<dc:creator>Flug</dc:creator>
		<pubDate>Thu, 27 Nov 2008 12:44:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1399</guid>
		<description>Hey philipp

Danke f&#252;r die schnelle Antwort!
Ich schreibe meine Funktionen oft neu und &#228;ndere die codes "min&#252;tlich":-P
Also werde ich mich wohl mal etwas eingehender mit xUnit auseinandersetzen!

Das es keinen K&#246;nigsweg gibt war mir auch schon vorher bewu&#223;t , ich wollte nur mal schauen was ihr f&#252;r erfahrungen gemacht habt, wollte h&#246;ren womit ihr am besten klar kommt! 

Nun ja wie gesagt - Du hast mir auf jeden fall geholfen , ich hoffe das bei weiteren fragen genau so schnell geantwortet wird. Daumen hoch!

Lg, Flug</description>
		<content:encoded><![CDATA[<p>Hey philipp</p>
<p>Danke f&#252;r die schnelle Antwort!<br />
Ich schreibe meine Funktionen oft neu und &#228;ndere die codes &#8220;min&#252;tlich&#8221;:-P<br />
Also werde ich mich wohl mal etwas eingehender mit xUnit auseinandersetzen!</p>
<p>Das es keinen K&#246;nigsweg gibt war mir auch schon vorher bewu&#223;t , ich wollte nur mal schauen was ihr f&#252;r erfahrungen gemacht habt, wollte h&#246;ren womit ihr am besten klar kommt! </p>
<p>Nun ja wie gesagt - Du hast mir auf jeden fall geholfen , ich hoffe das bei weiteren fragen genau so schnell geantwortet wird. Daumen hoch!</p>
<p>Lg, Flug</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: phil</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1385</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Wed, 26 Nov 2008 21:42:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1385</guid>
		<description>Hi Flug,

wie du der Diskussion entnehmen kannst, ist das schwierig. Der K&#246;nigsweg ist nat&#252;rlich, dass man beides hat. xUnit + Frontend.

Meine Meinung ist, dass du das testen solltest, was f&#252;r dich wichtiger ist, in meinem Fall ist es das, was der Kunde sieht und benutzt und was "funktionieren" muss. Wenn ich einen Anruf bekomme, dass etwas nicht funktioniert, dann will ich die Tests laufen lassen k&#246;nnen, um zu sagen: Das Problem ist nicht die Seite, sondern xyz.

Aber die Jungs vom Test-Driven-Development haben schon recht, dass wenn du oft deine Funktionen neu schreibst, oder Code &#228;nderst, oder viele Leute an dem Projekt gleichzeitig arbeiten, dann w&#252;rde ich auf jeden Fall xUnit vorziehen.

Hoffe das hilft?

Gru&#223;
Philipp</description>
		<content:encoded><![CDATA[<p>Hi Flug,</p>
<p>wie du der Diskussion entnehmen kannst, ist das schwierig. Der K&#246;nigsweg ist nat&#252;rlich, dass man beides hat. xUnit + Frontend.</p>
<p>Meine Meinung ist, dass du das testen solltest, was f&#252;r dich wichtiger ist, in meinem Fall ist es das, was der Kunde sieht und benutzt und was &#8220;funktionieren&#8221; muss. Wenn ich einen Anruf bekomme, dass etwas nicht funktioniert, dann will ich die Tests laufen lassen k&#246;nnen, um zu sagen: Das Problem ist nicht die Seite, sondern xyz.</p>
<p>Aber die Jungs vom Test-Driven-Development haben schon recht, dass wenn du oft deine Funktionen neu schreibst, oder Code &#228;nderst, oder viele Leute an dem Projekt gleichzeitig arbeiten, dann w&#252;rde ich auf jeden Fall xUnit vorziehen.</p>
<p>Hoffe das hilft?</p>
<p>Gru&#223;<br />
Philipp</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Flug</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1383</link>
		<dc:creator>Flug</dc:creator>
		<pubDate>Wed, 26 Nov 2008 15:57:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1383</guid>
		<description>Hey leute. Mich w&#252;rde jetzt interessieren f&#252;r welchen weg ihr euch entscheiden w&#252;rdet !Wird nun selenium oder xUnit bevorzugt genutzt ? ich stehe quasi hier vor dem gleichen Problem wie Phil- verstehe also irgendwie immer noch nicht wirklich programme wie " Php-Unit". 
Wenn jemand von euch den "k&#246;nigsweg" kennt scheut euch bitte nicht eine klare Aussage zu treffen auch wenn es warscheinlich nur eure eigene Meinung ist.
MFG</description>
		<content:encoded><![CDATA[<p>Hey leute. Mich w&#252;rde jetzt interessieren f&#252;r welchen weg ihr euch entscheiden w&#252;rdet !Wird nun selenium oder xUnit bevorzugt genutzt ? ich stehe quasi hier vor dem gleichen Problem wie Phil- verstehe also irgendwie immer noch nicht wirklich programme wie &#8221; Php-Unit&#8221;.<br />
Wenn jemand von euch den &#8220;k&#246;nigsweg&#8221; kennt scheut euch bitte nicht eine klare Aussage zu treffen auch wenn es warscheinlich nur eure eigene Meinung ist.<br />
MFG</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: phil</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1381</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Tue, 25 Nov 2008 17:48:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1381</guid>
		<description>Ich bin immer wissbegierig. Glaub mir Ulf, ich denke jede Woche mindestens zweimal dar&#252;ber nach, wie ich meinen Missstand, dass ich eben keine Tests f&#252;r die Applikation habe, beheben kann. Aber wie Dirk schon richtig bemerkt hat, ist es noch mal so schwierig, wenn man bereits eine Infrastruktur hat nachtr&#228;glich die Tests einzuf&#252;gen.

Die App habe ich angefangen, bevor ich im Studium all die tollen Sachen &#252;ber TTD geh&#246;rt habe (was immer noch nicht genug war, um es f&#252;r mich so verst&#228;ndlich zu machen, dass ich wei&#223; was ich tun m&#252;sste), aber das Dilemma versuche ich ja gerade zu beheben und wahrscheinlich hast du recht, ich muss einfach mehr ausprobieren, anstatt das Problem schon mal im Kopf l&#246;sen zu wollen, vielleicht l&#246;sen sich meine Fragen dann ganz von alleine.

Zum Loose-Coupling ist noch zu sagen, dass man damit ja nicht meint, dass ein Objekt niemals eine Funktion in einem anderen Objekt aufrufen darf, sondern nur, dass diese Aufrufe &#252;ber sch&#246;n definierte Interfaces stattfinden, so dass man nicht merkt, wenn man in dem aufgerufenen Objekt etwas &#228;ndert, bzw. das aufrufende Objekt nicht ebenfalls &#228;ndern muss. Und das ist bei mir soweit der Fall. 

Schlechtes Software-Design ist da etwas schwammig. F&#252;r den Anwendungsfall, f&#252;r den die Applikation ist (CMS, 1 Developer, Kudenprobleme l&#246;sen) ist das Software-Design mehr als optimal, f&#252;r den Anwendungsfall TTD kann ich dir die Frage eben nicht beantworten, aber ich w&#252;rde sagen, dass ich da vielleicht Defizite aufweise ;)

P.S: Herzlichen Gl&#252;ckwunsch, wenn dein Chef TTD ausgibt, dann w&#252;&#223;te ich zu gerne wo du arbeitest. Weil da wo ich fr&#252;her gearbeitet habe, da war es nur sehr schwer von unten zu vermitteln, wof&#252;r Software Design gut sein soll (da wusste ich ja noch nichts von TTD, h&#228;tte aber wenigstens gerne eine sinnvolle Planung gemacht) und wer das bezahlen soll, also musste ich das so lala nebenher machen! :)</description>
		<content:encoded><![CDATA[<p>Ich bin immer wissbegierig. Glaub mir Ulf, ich denke jede Woche mindestens zweimal dar&#252;ber nach, wie ich meinen Missstand, dass ich eben keine Tests f&#252;r die Applikation habe, beheben kann. Aber wie Dirk schon richtig bemerkt hat, ist es noch mal so schwierig, wenn man bereits eine Infrastruktur hat nachtr&#228;glich die Tests einzuf&#252;gen.</p>
<p>Die App habe ich angefangen, bevor ich im Studium all die tollen Sachen &#252;ber TTD geh&#246;rt habe (was immer noch nicht genug war, um es f&#252;r mich so verst&#228;ndlich zu machen, dass ich wei&#223; was ich tun m&#252;sste), aber das Dilemma versuche ich ja gerade zu beheben und wahrscheinlich hast du recht, ich muss einfach mehr ausprobieren, anstatt das Problem schon mal im Kopf l&#246;sen zu wollen, vielleicht l&#246;sen sich meine Fragen dann ganz von alleine.</p>
<p>Zum Loose-Coupling ist noch zu sagen, dass man damit ja nicht meint, dass ein Objekt niemals eine Funktion in einem anderen Objekt aufrufen darf, sondern nur, dass diese Aufrufe &#252;ber sch&#246;n definierte Interfaces stattfinden, so dass man nicht merkt, wenn man in dem aufgerufenen Objekt etwas &#228;ndert, bzw. das aufrufende Objekt nicht ebenfalls &#228;ndern muss. Und das ist bei mir soweit der Fall. </p>
<p>Schlechtes Software-Design ist da etwas schwammig. F&#252;r den Anwendungsfall, f&#252;r den die Applikation ist (CMS, 1 Developer, Kudenprobleme l&#246;sen) ist das Software-Design mehr als optimal, f&#252;r den Anwendungsfall TTD kann ich dir die Frage eben nicht beantworten, aber ich w&#252;rde sagen, dass ich da vielleicht Defizite aufweise ;)</p>
<p>P.S: Herzlichen Gl&#252;ckwunsch, wenn dein Chef TTD ausgibt, dann w&#252;&#223;te ich zu gerne wo du arbeitest. Weil da wo ich fr&#252;her gearbeitet habe, da war es nur sehr schwer von unten zu vermitteln, wof&#252;r Software Design gut sein soll (da wusste ich ja noch nichts von TTD, h&#228;tte aber wenigstens gerne eine sinnvolle Planung gemacht) und wer das bezahlen soll, also musste ich das so lala nebenher machen! :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: hype.yeebase.com</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1380</link>
		<dc:creator>hype.yeebase.com</dc:creator>
		<pubDate>Tue, 25 Nov 2008 16:11:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1380</guid>
		<description>&lt;strong&gt;Debugging sucks, Testing rocks!...&lt;/strong&gt;

Pl&#228;doyer mit kurzer Einf&#252;hrung in das Testframework "Selenium". Selenium ist in der Basisversion ein Firefox-Plugin, mit dem man Makros aufzeichnen kann....</description>
		<content:encoded><![CDATA[<p><strong>Debugging sucks, Testing rocks!&#8230;</strong></p>
<p>Pl&#228;doyer mit kurzer Einf&#252;hrung in das Testframework &#8220;Selenium&#8221;. Selenium ist in der Basisversion ein Firefox-Plugin, mit dem man Makros aufzeichnen kann&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ulf</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1379</link>
		<dc:creator>Ulf</dc:creator>
		<pubDate>Tue, 25 Nov 2008 11:40:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1379</guid>
		<description>Hallo Phil,

es ist zwar schon ein paar Tage her, aber ich hoffe du bist noch immer wissbegierig... ;)

@Test-Driven-Development
Du hast es schon richtig bemerkt, du wirst niemals alle deine einzelnen Units auf alle Zust&#228;nde und M&#246;glichkeiten testen k&#246;nnen. Wenn dir es aber gelingt, deine Units auf die wichtigsten und bedeutesten Zust&#228;nde zu testen, dann hast du schon etwas erreicht. Denn in diesem Fall hast du f&#252;r diese Anwendungsf&#228;lle Test-Sicherheit. Was wichtig und bedeutend ist, definierst im &#252;brigen du selbst. Da du den Test vor der eigentlichen Implementierung der Unit schreiben sollst, machst du dir dar&#252;ber zwangsl&#228;ufig Gedanken, was bedeutsam f&#252;r deine Anwendung ist. Man wird mit Testen niemals 100%-ige Fehlerfreiheit erreichen, aber doch bedeutend mehr als ohne (vor allem bei gr&#246;&#223;eren Software-Projekten).

@Testen von ineinander abh&#228;ngigen Klassen
Da solltest man sich grunds&#228;tzlich hinterfragen ob das Software-Design an dieser Stelle richtig ist. Gro&#223;e Abh&#228;ngigkeiten zwischen Klassen widersprechen ja dem Prinzip des "loose coupling". Wenn diese Abh&#228;ngigkeiten aber bestehen m&#252;ssen, dann gibt es &#252;ber setup und reset-Methoden sowie Mock-Objeckts durchaus die M&#246;glichkeit dies zu testen. Es erh&#246;ht nur den Testaufwand - der Preis f&#252;r schlechtes Software-Design.

Ich hoffe dir damit etwas geholfen zu haben. Im &#252;brigen darfst du nicht frustieren. Ich habe mich am Anfang auch gefragt wieso es Test-Driven-Development gibt und bin daran teilweise fast verzweifelt. Viel Geduld, viel Probierei und viele Diskussionen mit meinem Chef haben mich von der Notwendigkeit &#252;berzeugt. Und jetzt bin ich selber Verfechter davon, man sieht es ja! ;)

Viele Gr&#252;&#223;e aus Berlin
Ulf</description>
		<content:encoded><![CDATA[<p>Hallo Phil,</p>
<p>es ist zwar schon ein paar Tage her, aber ich hoffe du bist noch immer wissbegierig&#8230; ;)</p>
<p>@Test-Driven-Development<br />
Du hast es schon richtig bemerkt, du wirst niemals alle deine einzelnen Units auf alle Zust&#228;nde und M&#246;glichkeiten testen k&#246;nnen. Wenn dir es aber gelingt, deine Units auf die wichtigsten und bedeutesten Zust&#228;nde zu testen, dann hast du schon etwas erreicht. Denn in diesem Fall hast du f&#252;r diese Anwendungsf&#228;lle Test-Sicherheit. Was wichtig und bedeutend ist, definierst im &#252;brigen du selbst. Da du den Test vor der eigentlichen Implementierung der Unit schreiben sollst, machst du dir dar&#252;ber zwangsl&#228;ufig Gedanken, was bedeutsam f&#252;r deine Anwendung ist. Man wird mit Testen niemals 100%-ige Fehlerfreiheit erreichen, aber doch bedeutend mehr als ohne (vor allem bei gr&#246;&#223;eren Software-Projekten).</p>
<p>@Testen von ineinander abh&#228;ngigen Klassen<br />
Da solltest man sich grunds&#228;tzlich hinterfragen ob das Software-Design an dieser Stelle richtig ist. Gro&#223;e Abh&#228;ngigkeiten zwischen Klassen widersprechen ja dem Prinzip des &#8220;loose coupling&#8221;. Wenn diese Abh&#228;ngigkeiten aber bestehen m&#252;ssen, dann gibt es &#252;ber setup und reset-Methoden sowie Mock-Objeckts durchaus die M&#246;glichkeit dies zu testen. Es erh&#246;ht nur den Testaufwand - der Preis f&#252;r schlechtes Software-Design.</p>
<p>Ich hoffe dir damit etwas geholfen zu haben. Im &#252;brigen darfst du nicht frustieren. Ich habe mich am Anfang auch gefragt wieso es Test-Driven-Development gibt und bin daran teilweise fast verzweifelt. Viel Geduld, viel Probierei und viele Diskussionen mit meinem Chef haben mich von der Notwendigkeit &#252;berzeugt. Und jetzt bin ich selber Verfechter davon, man sieht es ja! ;)</p>
<p>Viele Gr&#252;&#223;e aus Berlin<br />
Ulf</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Thorsten</title>
		<link>http://www.phpblogger.net/2008/11/21/debugging-sucks-testing-rocks/#comment-1377</link>
		<dc:creator>Thorsten</dc:creator>
		<pubDate>Mon, 24 Nov 2008 10:37:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/?p=444#comment-1377</guid>
		<description>Richtig geil...danke!</description>
		<content:encoded><![CDATA[<p>Richtig geil&#8230;danke!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

