﻿<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentários sobre: Uma Introdução a TDD com JUnit</title>
	<atom:link href="http://www.bugbang.com.br/?feed=rss2&#038;p=839" rel="self" type="application/rss+xml" />
	<link>http://www.bugbang.com.br/?p=839</link>
	<description>Qualidade e Engenharia de Software</description>
	<lastBuildDate>Fri, 13 Aug 2010 15:00:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: Camilo Ribeiro</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-130</link>
		<dc:creator>Camilo Ribeiro</dc:creator>
		<pubDate>Fri, 09 Apr 2010 20:08:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-130</guid>
		<description>Alex Mestre!

Obrigado pelo comentário.

É verdade. 
Teste de unidade é algo presente em todos os livros de teste, em todas as ementas de certificações, no vocabulário das universidades e em vários outras fontes de conhecimento relativas a teste de software, mas infelizmente não é parte do dia a dia da maioria dos desenvolvedores, gerentes, engenheiros de software das nossas empresas.

Tanto que pra muitos é um mito, um trabalho em dobro, um esforço sem retorno ou algo extremamente complexo, quando na verdade não é.
O objetivo aqui é desmistificar um pouco dessa atividade que pode economizar muito do nosso tempo e esforço. Em futuras publicações vou tentar falar mais sobre os aspectos gerenciais do TDD com alguns exemplos mais complexos usando o JUnit.

Abraços.</description>
		<content:encoded><![CDATA[<p>Alex Mestre!</p>
<p>Obrigado pelo comentário.</p>
<p>É verdade.<br />
Teste de unidade é algo presente em todos os livros de teste, em todas as ementas de certificações, no vocabulário das universidades e em vários outras fontes de conhecimento relativas a teste de software, mas infelizmente não é parte do dia a dia da maioria dos desenvolvedores, gerentes, engenheiros de software das nossas empresas.</p>
<p>Tanto que pra muitos é um mito, um trabalho em dobro, um esforço sem retorno ou algo extremamente complexo, quando na verdade não é.<br />
O objetivo aqui é desmistificar um pouco dessa atividade que pode economizar muito do nosso tempo e esforço. Em futuras publicações vou tentar falar mais sobre os aspectos gerenciais do TDD com alguns exemplos mais complexos usando o JUnit.</p>
<p>Abraços.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: ALEXANDRE REZENDE</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-129</link>
		<dc:creator>ALEXANDRE REZENDE</dc:creator>
		<pubDate>Fri, 09 Apr 2010 19:38:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-129</guid>
		<description>Olá Camilo,

Muito interessante este artigo!
Lembrei da época da universidade, quando tive o primeiro contato com o TDD...
É incrível como não &quot;damos bola&quot; a técnicas relativamente simples, mas de grande valia como essa em questão.

Parabéns pelo artigo!

Esse é um tema para ser discutido mais vezes!</description>
		<content:encoded><![CDATA[<p>Olá Camilo,</p>
<p>Muito interessante este artigo!<br />
Lembrei da época da universidade, quando tive o primeiro contato com o TDD&#8230;<br />
É incrível como não &#8220;damos bola&#8221; a técnicas relativamente simples, mas de grande valia como essa em questão.</p>
<p>Parabéns pelo artigo!</p>
<p>Esse é um tema para ser discutido mais vezes!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Camilo Ribeiro</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-118</link>
		<dc:creator>Camilo Ribeiro</dc:creator>
		<pubDate>Sun, 04 Apr 2010 17:39:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-118</guid>
		<description>Olá Jorge Diz,

É um enorme prazer ter você comentando aqui no BugBang. Primeiramente, muito obrigado pelo comentário.

Muito obrigado também pelas críticas e pelos elogios. E sim, o principal intuito aqui é me fazer pesquisar, estudar e ajudar quem também está em busca de algum conhecimento, portanto, as críticas são muito bem vindas sempre :)

O objetivo principal do post era demonstrar de uma forma mais simples e prática como podemos desenvolver testes de unidade e como eles podem nos ajudar a evitar problemas em implementações relativamente simples, talvez como um acompanhamento do post comentado do Quezada no lado &quot;Java da força&quot;.

Como você sabe, os testes de unidade ainda são uma prática longe de ser reconhecida como amplamente abordada nas empresas de software (principalmente no Brasil), em função de vários mitos como o do trabalho dobrado ou o do gap entre os testes e os fontes (ótimamente desmistificado pela metáfora do seu comentário).

Nesse caso, não queria preencher inúmeras linhas falando sobre o que uma rápida pesquisa no Google poderia proporcionar, ou sobre o que vemos nas salas das nossas universidades, mas sim sobre uma forma simples, com um cenário conhecido e com um exemplo passo a passo, de forma a incentivar a prática dessa técnica.

Outra coisa importante. Eu não sou um profundo conhecedor do mundo ágil, embora esteja gastando boa parte do meu tempo a estudos nos últimos meses, e possivelmente, em futuros posts sobre o assunto poderemos ver um pouco do amadurecimento nessas práticas fantásticas e inovadoras, além é claro, de outros pontos a serem contrariados assim como os desse post.

Mais uma vez muito obrigado. Suas críticas já estão me orientando a buscar novos conhecimentos :)

Abraços.</description>
		<content:encoded><![CDATA[<p>Olá Jorge Diz,</p>
<p>É um enorme prazer ter você comentando aqui no BugBang. Primeiramente, muito obrigado pelo comentário.</p>
<p>Muito obrigado também pelas críticas e pelos elogios. E sim, o principal intuito aqui é me fazer pesquisar, estudar e ajudar quem também está em busca de algum conhecimento, portanto, as críticas são muito bem vindas sempre <img src='http://www.bugbang.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>O objetivo principal do post era demonstrar de uma forma mais simples e prática como podemos desenvolver testes de unidade e como eles podem nos ajudar a evitar problemas em implementações relativamente simples, talvez como um acompanhamento do post comentado do Quezada no lado &#8220;Java da força&#8221;.</p>
<p>Como você sabe, os testes de unidade ainda são uma prática longe de ser reconhecida como amplamente abordada nas empresas de software (principalmente no Brasil), em função de vários mitos como o do trabalho dobrado ou o do gap entre os testes e os fontes (ótimamente desmistificado pela metáfora do seu comentário).</p>
<p>Nesse caso, não queria preencher inúmeras linhas falando sobre o que uma rápida pesquisa no Google poderia proporcionar, ou sobre o que vemos nas salas das nossas universidades, mas sim sobre uma forma simples, com um cenário conhecido e com um exemplo passo a passo, de forma a incentivar a prática dessa técnica.</p>
<p>Outra coisa importante. Eu não sou um profundo conhecedor do mundo ágil, embora esteja gastando boa parte do meu tempo a estudos nos últimos meses, e possivelmente, em futuros posts sobre o assunto poderemos ver um pouco do amadurecimento nessas práticas fantásticas e inovadoras, além é claro, de outros pontos a serem contrariados assim como os desse post.</p>
<p>Mais uma vez muito obrigado. Suas críticas já estão me orientando a buscar novos conhecimentos <img src='http://www.bugbang.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Abraços.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Jorge Diz</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-114</link>
		<dc:creator>Jorge Diz</dc:creator>
		<pubDate>Sat, 03 Apr 2010 12:10:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-114</guid>
		<description>Camilo:

Cheguei aqui a partir de um twit do Fabricio (QualidadeBR), e estou comentando no seu blog pela primeira vez.

Não é muito simpático estrear os comentários colocando uma crítica, principalmente quando se percebe que foi feito com seriedade e está muito bem escrito. Mas acho que a discussão de ideias é o objetivo principal de um blog.

A principal crítica é a seguinte: não foi abordada aqui a premissa dos passos de bebê (baby steps). O tamanho dos testes apresentados e do código de produção é muito grande. Deveria ser uma assertiva por ciclo, não uma classe por ciclo.

Gostei da figura, reflete bem a técnica, mas a escala de tempo/tamanho do código em TDD é bem menor. A metáfora que costumo usar é a do velocista deficiente visual: a escrita dos testes (o atleta guia que enxerga) vão na mesma velocidade que a escrita do código (o atleta que compete).

Outra questão: &quot;ter todos os requisitos especificados e detalhados&quot; não me parece um pré-requisito, mas uma sina. Quando vejo requisitos muito detalhados, fico com uma pulga atrás da orelha: geralmente são produto de especulação. Infelizmente, é essa a regra quando se trabalha no modelo de fábrica.

É escrevendo exemplos (também conhecidos como testes) que conseguimos esclarecer e detalhar o que se espera ser desenvolvido.

Espero ter contribuído,

Jorge Diz
twitter: @jorgediz</description>
		<content:encoded><![CDATA[<p>Camilo:</p>
<p>Cheguei aqui a partir de um twit do Fabricio (QualidadeBR), e estou comentando no seu blog pela primeira vez.</p>
<p>Não é muito simpático estrear os comentários colocando uma crítica, principalmente quando se percebe que foi feito com seriedade e está muito bem escrito. Mas acho que a discussão de ideias é o objetivo principal de um blog.</p>
<p>A principal crítica é a seguinte: não foi abordada aqui a premissa dos passos de bebê (baby steps). O tamanho dos testes apresentados e do código de produção é muito grande. Deveria ser uma assertiva por ciclo, não uma classe por ciclo.</p>
<p>Gostei da figura, reflete bem a técnica, mas a escala de tempo/tamanho do código em TDD é bem menor. A metáfora que costumo usar é a do velocista deficiente visual: a escrita dos testes (o atleta guia que enxerga) vão na mesma velocidade que a escrita do código (o atleta que compete).</p>
<p>Outra questão: &#8220;ter todos os requisitos especificados e detalhados&#8221; não me parece um pré-requisito, mas uma sina. Quando vejo requisitos muito detalhados, fico com uma pulga atrás da orelha: geralmente são produto de especulação. Infelizmente, é essa a regra quando se trabalha no modelo de fábrica.</p>
<p>É escrevendo exemplos (também conhecidos como testes) que conseguimos esclarecer e detalhar o que se espera ser desenvolvido.</p>
<p>Espero ter contribuído,</p>
<p>Jorge Diz<br />
twitter: @jorgediz</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Mário</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-104</link>
		<dc:creator>Mário</dc:creator>
		<pubDate>Fri, 26 Mar 2010 22:05:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-104</guid>
		<description>Estou divulgando a campanha que lancei com o SINDPD (Sindicato de Processamento de Dados de SP). 

Vamos repassar, pois este orgão jamais nos ajudou e está fazendo jogo político:

http://zarroboogsfound.blogspot.com/2010/03/sindpd-esta-defendendo-quem-fere-o.html

Obrigado!</description>
		<content:encoded><![CDATA[<p>Estou divulgando a campanha que lancei com o SINDPD (Sindicato de Processamento de Dados de SP). </p>
<p>Vamos repassar, pois este orgão jamais nos ajudou e está fazendo jogo político:</p>
<p><a href="http://zarroboogsfound.blogspot.com/2010/03/sindpd-esta-defendendo-quem-fere-o.html" rel="nofollow">http://zarroboogsfound.blogspot.com/2010/03/sindpd-esta-defendendo-quem-fere-o.html</a></p>
<p>Obrigado!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: O melhor da semana 28/02 a 06/03 &#171; QualidadeBR</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-67</link>
		<dc:creator>O melhor da semana 28/02 a 06/03 &#171; QualidadeBR</dc:creator>
		<pubDate>Sun, 07 Mar 2010 22:55:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-67</guid>
		<description>[...] Uma Introdução a TDD com JUnit &#8211; Camilo Ribeiro (The Bug Bang Theory); [...]</description>
		<content:encoded><![CDATA[<p>[...] Uma Introdução a TDD com JUnit &#8211; Camilo Ribeiro (The Bug Bang Theory); [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: O melhor do Ensinar – 27/02 a 05/03 &#171; Blog do Ensinar</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-65</link>
		<dc:creator>O melhor do Ensinar – 27/02 a 05/03 &#171; Blog do Ensinar</dc:creator>
		<pubDate>Fri, 05 Mar 2010 20:50:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-65</guid>
		<description>[...] Uma Introdução a TDD com JUnit &#8211; Camilo Ribeiro (The Bug Bang Theory); [...]</description>
		<content:encoded><![CDATA[<p>[...] Uma Introdução a TDD com JUnit &#8211; Camilo Ribeiro (The Bug Bang Theory); [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Camilo Ribeiro</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-64</link>
		<dc:creator>Camilo Ribeiro</dc:creator>
		<pubDate>Thu, 04 Mar 2010 12:21:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-64</guid>
		<description>Excelente comentário Fabrício. 
O Teste de unidade é uma &quot;técnica&quot; para melhorar a codificação e evitar o retrabalho com correção de defeitos quando o sistema estiver com uma complexidade muito superior do que no momento da codificação inicial, tanto é, que não é normalmente atribuído ao analista de teste e sim ao desenvolvedor.

Fico feliz em saber que outras pessoas compartilham do hábito de ler livros que tem uma década a mais que a própria idade haha. Apesar de ser um exemplo de 79, o exemplo do triângulo é um dos melhores até os dias de hoje.

Abraços e obrigado novamente pelo excelente comentário!</description>
		<content:encoded><![CDATA[<p>Excelente comentário Fabrício.<br />
O Teste de unidade é uma &#8220;técnica&#8221; para melhorar a codificação e evitar o retrabalho com correção de defeitos quando o sistema estiver com uma complexidade muito superior do que no momento da codificação inicial, tanto é, que não é normalmente atribuído ao analista de teste e sim ao desenvolvedor.</p>
<p>Fico feliz em saber que outras pessoas compartilham do hábito de ler livros que tem uma década a mais que a própria idade haha. Apesar de ser um exemplo de 79, o exemplo do triângulo é um dos melhores até os dias de hoje.</p>
<p>Abraços e obrigado novamente pelo excelente comentário!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Fabrício Ferrari de Campos</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-63</link>
		<dc:creator>Fabrício Ferrari de Campos</dc:creator>
		<pubDate>Wed, 03 Mar 2010 20:46:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-63</guid>
		<description>Ficou show o artigo!

Vê o exemplo clássico do triângulo (utilizado pelo Glenford Myers na primeira edição do &quot;The Art of Software Testing&quot;, isso em 1979!), foi como vê a versão resmaterizada de um filme. :)

Quando se fala em TDD, é importante lembrar que ele é sobre modelar/projetar a funcionalidade. Os testes (a princípio) são apenas um meio, não o fim. 

Depois que a funcionalidade já estiver pronta, os testes que até então só foram feitos para nos ajudar na modelagem da funcionalidade,  acabam sendo usados como testes de regressão e ajudam o desenvolvedor a ter ciência sobre a qualidade do código e se as mudanças realizadas não quebraram nada.

Ou seja, TDD nos ajuda antes (entendendo melhor a funcionalidade a ser desenvolvida), durante (implementando de forma ciente [nada de eu acho] e testável a funcionalidade) e depois do desenvolvimento (garantindo a qualidade da funcionalidade).

Parabéns Camilo!

Abraços!</description>
		<content:encoded><![CDATA[<p>Ficou show o artigo!</p>
<p>Vê o exemplo clássico do triângulo (utilizado pelo Glenford Myers na primeira edição do &#8220;The Art of Software Testing&#8221;, isso em 1979!), foi como vê a versão resmaterizada de um filme. <img src='http://www.bugbang.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Quando se fala em TDD, é importante lembrar que ele é sobre modelar/projetar a funcionalidade. Os testes (a princípio) são apenas um meio, não o fim. </p>
<p>Depois que a funcionalidade já estiver pronta, os testes que até então só foram feitos para nos ajudar na modelagem da funcionalidade,  acabam sendo usados como testes de regressão e ajudam o desenvolvedor a ter ciência sobre a qualidade do código e se as mudanças realizadas não quebraram nada.</p>
<p>Ou seja, TDD nos ajuda antes (entendendo melhor a funcionalidade a ser desenvolvida), durante (implementando de forma ciente [nada de eu acho] e testável a funcionalidade) e depois do desenvolvimento (garantindo a qualidade da funcionalidade).</p>
<p>Parabéns Camilo!</p>
<p>Abraços!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Camilo Ribeiro</title>
		<link>http://www.bugbang.com.br/?p=839&#038;cpage=1#comment-62</link>
		<dc:creator>Camilo Ribeiro</dc:creator>
		<pubDate>Wed, 03 Mar 2010 11:10:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=839#comment-62</guid>
		<description>Apoiado! 

Realmente. Unit Test é outra &quot;cabeça de bacalhau&quot; da nossa área, assim como automação de testes funcionais, automação de testes de carga e estresse, modelo V, inspeções, análise de caixa branca e etc.

Todo mundo sabe (ou diz) que é importante, mas quase ninguém implementa. Ou por falta de conhecimento, ou por achar muito complicado ou mesmo por não acreditar nos benefícios e economia que essas técnicas agregam aos nossos projetos de desenvolvimento de software.

Por isso é tão importante que existiram mais publicações técnicas sobre esses assuntos, desmistificando-os, alinhando conceitos sobre as atividades de teste de software e retirando aquela visão errônea que o testador tem menos conhecimento do que o desenvolvedor.

Muito obrigado pelo comentário e atenção. 
Abraços.</description>
		<content:encoded><![CDATA[<p>Apoiado! </p>
<p>Realmente. Unit Test é outra &#8220;cabeça de bacalhau&#8221; da nossa área, assim como automação de testes funcionais, automação de testes de carga e estresse, modelo V, inspeções, análise de caixa branca e etc.</p>
<p>Todo mundo sabe (ou diz) que é importante, mas quase ninguém implementa. Ou por falta de conhecimento, ou por achar muito complicado ou mesmo por não acreditar nos benefícios e economia que essas técnicas agregam aos nossos projetos de desenvolvimento de software.</p>
<p>Por isso é tão importante que existiram mais publicações técnicas sobre esses assuntos, desmistificando-os, alinhando conceitos sobre as atividades de teste de software e retirando aquela visão errônea que o testador tem menos conhecimento do que o desenvolvedor.</p>
<p>Muito obrigado pelo comentário e atenção.<br />
Abraços.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
