<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Commenti a: Quello che gli agilisti non dicono</title>
	<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html</link>
	<description>Linguaggio Scala, Java, AS400 e...cose piÃ¹ serie</description>
	<pubDate>Fri, 30 Jul 2010 17:09:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
		<item>
		<title>Di: Alberto Gori</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-2417</link>
		<dc:creator>Alberto Gori</dc:creator>
		<pubDate>Tue, 14 Apr 2009 18:29:12 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-2417</guid>
		<description>@Franco

Non sono un profondo conoscitore delle metodologie agili. Tuttavia la mia impressione è che il TDD sia una delle metodologie applicabili e se si da come per scontato che il TDD sia il miglior metodo sempre e comunque allora certamente quello che dici ha senso.

Ma io credo che in taluni ambiti si possa utilizzare il testing automatico anche per altri scopi e con grande successo, e non con il primo obiettivo di un design efficace. Uno di questi sembra essere il testing delle GUI.</description>
		<content:encoded><![CDATA[<p>@Franco</p>
<p>Non sono un profondo conoscitore delle metodologie agili. Tuttavia la mia impressione è che il TDD sia una delle metodologie applicabili e se si da come per scontato che il TDD sia il miglior metodo sempre e comunque allora certamente quello che dici ha senso.</p>
<p>Ma io credo che in taluni ambiti si possa utilizzare il testing automatico anche per altri scopi e con grande successo, e non con il primo obiettivo di un design efficace. Uno di questi sembra essere il testing delle GUI.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Franco Lombardo</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-2268</link>
		<dc:creator>Franco Lombardo</dc:creator>
		<pubDate>Mon, 13 Apr 2009 09:57:50 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-2268</guid>
		<description>@Alberto - Concordo con te: il testing delle GUI è inefficace perché la GUI è volatile. Solo che alcuni agilisti, nascondendosi dietro a tool come Selenium, a volte tacciono su questo fatto.
A proposito di Selenium, vorrei citare il &lt;a href="http://matteo.vaccari.name/blog/archives/171" rel="nofollow"&gt;bel post di Matteo Vaccari&lt;/a&gt;:
&lt;cite&gt;
"Selenium and similar tools are useful, but secondary; what a programmer needs the most is to learn how to do it right, not write a new tool."
&lt;/cite&gt;

Spesso ci si dimentica che il fine dello Unit Testing è creare un design efficace, mentre la verifica di correttezza è un utile sottoprodotto, come si diceva tempo fa' sulla lista XP-IT.</description>
		<content:encoded><![CDATA[<p>@Alberto - Concordo con te: il testing delle GUI è inefficace perché la GUI è volatile. Solo che alcuni agilisti, nascondendosi dietro a tool come Selenium, a volte tacciono su questo fatto.<br />
A proposito di Selenium, vorrei citare il <a href="http://matteo.vaccari.name/blog/archives/171" rel="nofollow">bel post di Matteo Vaccari</a>:<br />
<cite><br />
&#8220;Selenium and similar tools are useful, but secondary; what a programmer needs the most is to learn how to do it right, not write a new tool.&#8221;<br />
</cite></p>
<p>Spesso ci si dimentica che il fine dello Unit Testing è creare un design efficace, mentre la verifica di correttezza è un utile sottoprodotto, come si diceva tempo fa&#8217; sulla lista XP-IT.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Alberto Gori</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-2193</link>
		<dc:creator>Alberto Gori</dc:creator>
		<pubDate>Sun, 12 Apr 2009 18:23:48 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-2193</guid>
		<description>Sicuramente il testing della GUI è la meno efficacie in quanto la GUI tende ad essere troppo volatile, e ad esempio la modifica di un semplice tag può comportare il fallimento del test, o peggio di una batteria di test.

Tuttavia è possibile limitare i danni usando certi strumenti e metodologie. Nel web (l'unico GUI testing su cui ho un minimo di esperienza) è molto conveniente l'utilizzo degli identificatori per rendere facilmente tracciabili gli elementi nella pagina. Anche l'uso di CSS rende più scarna e testabile la pagina.

Per quanto riguareda i tool, sicuramente Selenium è ottimo. Si può utilizzare su svariati browser e tramite un plugin per Firefox si possono anche creare delle macro. Una volta salvate in forma di test, sono ottimi punti di partenza per il tuo test case.</description>
		<content:encoded><![CDATA[<p>Sicuramente il testing della GUI è la meno efficacie in quanto la GUI tende ad essere troppo volatile, e ad esempio la modifica di un semplice tag può comportare il fallimento del test, o peggio di una batteria di test.</p>
<p>Tuttavia è possibile limitare i danni usando certi strumenti e metodologie. Nel web (l&#8217;unico GUI testing su cui ho un minimo di esperienza) è molto conveniente l&#8217;utilizzo degli identificatori per rendere facilmente tracciabili gli elementi nella pagina. Anche l&#8217;uso di CSS rende più scarna e testabile la pagina.</p>
<p>Per quanto riguareda i tool, sicuramente Selenium è ottimo. Si può utilizzare su svariati browser e tramite un plugin per Firefox si possono anche creare delle macro. Una volta salvate in forma di test, sono ottimi punti di partenza per il tuo test case.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Franco Lombardo</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1244</link>
		<dc:creator>Franco Lombardo</dc:creator>
		<pubDate>Tue, 31 Mar 2009 12:41:17 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1244</guid>
		<description>@Gabriele - Il tuo punto di vista è condivisibile. Ovviamente se creare un test per un'etichetta sulla (G)UI costa 1.000 euro, ed avere l'etichetta sbagliata in produzione ne costa 10.000, è ovvio che il test si &lt;b&gt;deve&lt;b&gt; fare! Io non mi sono mai trovato in situazioni simili, ma riconosco che possano esistere.</description>
		<content:encoded><![CDATA[<p>@Gabriele - Il tuo punto di vista è condivisibile. Ovviamente se creare un test per un&#8217;etichetta sulla (G)UI costa 1.000 euro, ed avere l&#8217;etichetta sbagliata in produzione ne costa 10.000, è ovvio che il test si <b>deve</b><b> fare! Io non mi sono mai trovato in situazioni simili, ma riconosco che possano esistere.</b></p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Gabriele Lana</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1238</link>
		<dc:creator>Gabriele Lana</dc:creator>
		<pubDate>Tue, 31 Mar 2009 10:48:01 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1238</guid>
		<description>Chiarissimo, infatti la mia domanda (alla quale ancora non ho trovato risposta) è: la difficoltà/fragilità dei test delle UI (nota l'assenza della G) esiste a prescidere o è direttamente collegata alla tecnologia implementativa? Se fosse un problema tecnologico e se riuscissimo a risolverlo questi test avrebbero un valore? Sosterrebbero il cambiamento?

In uno dei progetti in cui sono coinvolto adesso, i test automatici coprono un'alta percentuale del codice che è stato scritto in maniera test driven, purtroppo l'interfaccia non è testata, indovina gli unici bug che sono finiti in produzione dov'erano localizzati? Stiamo parlando di mispelling nelle label, piccoli errori nel processo di build che rompe un link, ecc... Tutte cose stupidissime ma percepite in maniera forte dall'utente. Possono anche essere testate manualmente, ma più l'applicazione cresce più ne cresce il costo collegato</description>
		<content:encoded><![CDATA[<p>Chiarissimo, infatti la mia domanda (alla quale ancora non ho trovato risposta) è: la difficoltà/fragilità dei test delle UI (nota l&#8217;assenza della G) esiste a prescidere o è direttamente collegata alla tecnologia implementativa? Se fosse un problema tecnologico e se riuscissimo a risolverlo questi test avrebbero un valore? Sosterrebbero il cambiamento?</p>
<p>In uno dei progetti in cui sono coinvolto adesso, i test automatici coprono un&#8217;alta percentuale del codice che è stato scritto in maniera test driven, purtroppo l&#8217;interfaccia non è testata, indovina gli unici bug che sono finiti in produzione dov&#8217;erano localizzati? Stiamo parlando di mispelling nelle label, piccoli errori nel processo di build che rompe un link, ecc&#8230; Tutte cose stupidissime ma percepite in maniera forte dall&#8217;utente. Possono anche essere testate manualmente, ma più l&#8217;applicazione cresce più ne cresce il costo collegato</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Franco Lombardo</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1122</link>
		<dc:creator>Franco Lombardo</dc:creator>
		<pubDate>Sat, 28 Mar 2009 16:08:43 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1122</guid>
		<description>@Gabriele - Hai ottimamente sottolineato un aspetto: la testabilità deve essere economicamente sostenibile, quindi se testare il codice di una GUI fosse semplicissimo si potrebbe pensare di farlo. Noto però che, come giustamente dici tu, il valore maggiore del test non sta nell'eliminazione dei bachi, quanto nel formare un codice che abbracci il cambiamento, soprattutto nelle logiche applicative. C'è quindi da chiedersi se questi ipotetici test "gratuiti" della GUI non sarebbero comunque troppo fragili, non catturerebbero comunque aspetti non essenziali, ma contingenti dell'applicazione. Questa loro insita fragilità non sarebbe comunque un freno al cambiamento?

@Aniello - In realtà l'UG-Aggregator è stato sviluppato in modo "Test Driven".</description>
		<content:encoded><![CDATA[<p>@Gabriele - Hai ottimamente sottolineato un aspetto: la testabilità deve essere economicamente sostenibile, quindi se testare il codice di una GUI fosse semplicissimo si potrebbe pensare di farlo. Noto però che, come giustamente dici tu, il valore maggiore del test non sta nell&#8217;eliminazione dei bachi, quanto nel formare un codice che abbracci il cambiamento, soprattutto nelle logiche applicative. C&#8217;è quindi da chiedersi se questi ipotetici test &#8220;gratuiti&#8221; della GUI non sarebbero comunque troppo fragili, non catturerebbero comunque aspetti non essenziali, ma contingenti dell&#8217;applicazione. Questa loro insita fragilità non sarebbe comunque un freno al cambiamento?</p>
<p>@Aniello - In realtà l&#8217;UG-Aggregator è stato sviluppato in modo &#8220;Test Driven&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: aniello</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1110</link>
		<dc:creator>aniello</dc:creator>
		<pubDate>Sat, 28 Mar 2009 10:06:59 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1110</guid>
		<description>sono daccordo che i test sono utilissimi ma come tutti gli strumenti non vanno esasperati, ma la tua esperienza con la realizzazione dell' UG-Aggregator è certamente un esempio di cattiva applicazione della metodologia, ma l'errore fondante è stato scrivere i test alla fine, pratica che non credo certo si possa associare in alcun modo al TDD. 
a presto</description>
		<content:encoded><![CDATA[<p>sono daccordo che i test sono utilissimi ma come tutti gli strumenti non vanno esasperati, ma la tua esperienza con la realizzazione dell&#8217; UG-Aggregator è certamente un esempio di cattiva applicazione della metodologia, ma l&#8217;errore fondante è stato scrivere i test alla fine, pratica che non credo certo si possa associare in alcun modo al TDD.<br />
a presto</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Gabriele Lana</title>
		<link>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1106</link>
		<dc:creator>Gabriele Lana</dc:creator>
		<pubDate>Sat, 28 Mar 2009 08:41:47 +0000</pubDate>
		<guid>http://www.francolombardo.net/quello-che-gli-agilisti-non-dicono_post-76.html#comment-1106</guid>
		<description>Ciao Franco, mi ricordo molto bene l'episodio all'XPUG di Milano e hai perfettamente ragione, però per me stai traendo giuste conclusioni (insostenibilità economica) da false premesse (codice non testabile automaticamente). Premetto che concordo con il fatto che alcune cose dovrebbero essere testate dagli umani e non dalle macchine, e infatti per me dovrebbe essere solo questa la discriminante per decidere se automatizzare un test o meno, non l'inadeguatezza dello stack tecnologico che stiamo utilizzando

Ovvero: se un pezzo di codice non risulta facilmente testabile (vuoi per come è stato scritto, vuoi per la tecnologia in cui è stato scritto), prima di chiudere il discorso dicendo che costerebbe troppo testarlo, io mi chiederei:
- perchè costa troppo
- se costasse meno lo testerei e perchè
- se posso fare in modo (implementandolo diversamente o cambiando tecnologia) che costi di meno testarlo

Concludo dicendo che è vero che il nostro aggregato all'XPUG non aveva alcuna logica di business, ma ti faccio presente che qui stiamo parlando sopratutto di sostenibilità dello sviluppo del software, della possibilità di un software di evolvere nel tempo, di abbracciare il cambiamento, se non riesci (perchè troppo costoso) a testare un'applicazione banale, questo non ti fa nascere qualche dubbio? A me si, di brutto, infatti l'esperienza all'XPUG mi ha portato un grande insegnamento</description>
		<content:encoded><![CDATA[<p>Ciao Franco, mi ricordo molto bene l&#8217;episodio all&#8217;XPUG di Milano e hai perfettamente ragione, però per me stai traendo giuste conclusioni (insostenibilità economica) da false premesse (codice non testabile automaticamente). Premetto che concordo con il fatto che alcune cose dovrebbero essere testate dagli umani e non dalle macchine, e infatti per me dovrebbe essere solo questa la discriminante per decidere se automatizzare un test o meno, non l&#8217;inadeguatezza dello stack tecnologico che stiamo utilizzando</p>
<p>Ovvero: se un pezzo di codice non risulta facilmente testabile (vuoi per come è stato scritto, vuoi per la tecnologia in cui è stato scritto), prima di chiudere il discorso dicendo che costerebbe troppo testarlo, io mi chiederei:<br />
- perchè costa troppo<br />
- se costasse meno lo testerei e perchè<br />
- se posso fare in modo (implementandolo diversamente o cambiando tecnologia) che costi di meno testarlo</p>
<p>Concludo dicendo che è vero che il nostro aggregato all&#8217;XPUG non aveva alcuna logica di business, ma ti faccio presente che qui stiamo parlando sopratutto di sostenibilità dello sviluppo del software, della possibilità di un software di evolvere nel tempo, di abbracciare il cambiamento, se non riesci (perchè troppo costoso) a testare un&#8217;applicazione banale, questo non ti fa nascere qualche dubbio? A me si, di brutto, infatti l&#8217;esperienza all&#8217;XPUG mi ha portato un grande insegnamento</p>
]]></content:encoded>
	</item>
</channel>
</rss>
