<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jeveaux.com &#187; Testes</title>
	<atom:link href="http://jeveaux.com/category/testes/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeveaux.com</link>
	<description>blog de um apaixonado por programação, videogame, leitura, ideias empreendedoras e agora tatuagem</description>
	<lastBuildDate>Tue, 05 Jul 2011 19:40:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Palestra: Testes de Unidade com JUnit</title>
		<link>http://jeveaux.com/2009/palestra-testes-de-unidade-com-junit/</link>
		<comments>http://jeveaux.com/2009/palestra-testes-de-unidade-com-junit/#comments</comments>
		<pubDate>Sat, 09 May 2009 23:25:42 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[ESJUG]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=761</guid>
		<description><![CDATA[Hoje tivemos mais um encontro do ESJUG. Desta vez eu fiz uma apresentação sobre Testes de Unidade com JUnit. A idéia principal da apresentação foram os exemplos, mas os slides ficaram legais, por isso estou compartilhando. Estou preparando os códigos &#8230; <a href="http://jeveaux.com/2009/palestra-testes-de-unidade-com-junit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Hoje tivemos mais um encontro do <a href="http://www.esjug.org">ESJUG</a>. Desta vez eu fiz uma apresentação sobre <a href="http://www.slideshare.net/jeveaux/palestra-testes-de-unidade-com-junit">Testes de Unidade com JUnit</a>. A idéia principal da apresentação foram os exemplos, mas os slides ficaram legais, por isso estou compartilhando.</p>
<p style="text-align: center;"><iframe src="http://www.slideshare.net/slideshow/embed_code/1410167" width="425" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></p>
<p style="text-align: left;">Estou preparando os códigos que foram feitos na apresentação junto com outros que foram preparados antes para demonstração. Depois que estiver <em>&#8216;organizado&#8217;</em> vou subir para o <a href="http://github.com/jeveaux">github</a> e disponibilizar aqui no blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2009/palestra-testes-de-unidade-com-junit/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Integração contínua é com TeamCity</title>
		<link>http://jeveaux.com/2008/integracao-continua-e-com-teamcity/</link>
		<comments>http://jeveaux.com/2008/integracao-continua-e-com-teamcity/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 16:31:52 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Bamboo]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[Continuum]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IDEA]]></category>
		<category><![CDATA[Integração.Contínua]]></category>
		<category><![CDATA[Intellij]]></category>
		<category><![CDATA[JetBrains]]></category>
		<category><![CDATA[TeamCity]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/?p=150</guid>
		<description><![CDATA[Recentemente fui convidado a montar o ambiente de integração contínua de uma empresa. O trabalho inicial de verificação dos projetos, testes e builds existente foi feito como manda o figurino. Todos os projetos usavam maven2 e, felizmente, todos eles (inclusive &#8230; <a href="http://jeveaux.com/2008/integracao-continua-e-com-teamcity/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recentemente fui convidado a montar o ambiente de integração contínua de uma empresa. O trabalho inicial de verificação dos projetos, testes e <em>builds</em> existente foi feito como manda o figurino. Todos os projetos usavam maven2 e, felizmente, todos eles (inclusive os sub-projetos) possuíam <em>pom&#8217;s</em> bem configurados e completamente funcionais.</p>
<p>Os <em>builds </em>e processos internos (manuais) para <em>builds </em>da empresa estavam ok, verificados e funcionando. Feito isso fomos aos testes. Testes!? Ok, vamos ao próximo passo e esqueça os testes por enquanto. O controle de versão era feito com Subversion e os clientes usando Tortoise. A IDE utilizada por toda a organização era o IntelliJ IDEA, mesmo assim o cliente para o SVN era o Tortoise, ainda tento compreender isso até hoje.</p>
<p><a href="http://www.jeveaux.com/blog/wp-content/uploads/2008/12/wheresthebuild-small.jpg"><img class="alignright size-medium wp-image-186" title="wheresthebuild-small" src="http://www.jeveaux.com/blog/wp-content/uploads/2008/12/wheresthebuild-small-229x300.jpg" alt="wheresthebuild-small" width="229" height="300" /></a>A empresa estava em um momento de criação e manutenção de testes funcionais, então, algumas pessoas estavam trabalhando exclusivamente com Selenium. Era uma boa oportunidade, pois estes testes seriam todos automatizados no ambiente de integração contínua a ser preparado. Uma série de <em>procedimentos</em> foram realizados até chegarmos no ambiente de <em>facto</em>, mas vou pular isso para o post não ficar grande e chato de mais.</p>
<p>Comecei então com a preparação de alguns protótipos. Já trabalhei algumas vezes em ambientes de integração contínua com o <a href="http://cruisecontrol.sourceforge.net/" target="_blank">CruiseControl</a> e também com o <a href="http://cruisecontrolrb.thoughtworks.com/" target="_blank">CruiseControl.rb</a>, logo pensei em utilizar um desses. Pesquisando e perguntando a conhecidos cheguei às indicações de: <a href="https://hudson.dev.java.net/" target="_blank">Hudson</a> com muitas indicações, <a href="http://continuum.apache.org/" target="_blank">Continuum</a> da Apache, <a href="http://www.jetbrains.com/teamcity/" target="_blank">TeamCity</a> da JetBrains e <a href="http://www.atlassian.com/software/bamboo/" target="_blank">Bamboo</a> da Atlassian, sendo estes dois últimos privados e com custo para licença. Ainda assim estava considerando as duas alternativas pagas logo depois de alguma alternativa da família CC, isto porque a empresa possuía licenças do Jira e Confluence, logo o Bamboo poderia ser uma boa pedida devido a recursos de integração. E também possuíam licenças do IntelliJ IDEA, logo a integração com a IDE poderia ser um ponto positivo para o TeamCity.</p>
<p>Alguma coisa aconteceu comigo e na manhã seguinte eu resolvi começar pelas ferramentas que eu não conhecia. Comecei pelo Hudson, TeamCity e por último Continuum, resolvi parar por aqui pra não perder mais tempo, nesse momento já havia uma escolha muito clara e três dias já haviam se passado.</p>
<h3><span id="more-150"></span>Hudson</h3>
<p>Comecei com o <a href="https://hudson.dev.java.net/" target="_blank">Hudson</a>, foi o menor download (~20mb). Ele pode ser usado em modo <em>stand-alone</em> com uma simplicidade absurda, ideal para quem quer conhecer e testar a ferramenta. A interface foi um ponto positivo desde o começo, eu lembrava sempre do CruiseControl.</p>
<p>A configuração foi simples e rápida, só precisei informar onde estavam o JDK, Ant, Maven2 e o servidor de SMTP de preferência. Nesse momento pensei que ele poderia ter configurado isso tudo &#8211; menos o smtp &#8211; sozinho, afinal todas as ferramentas citadas possuíam suas variáveis de ambiente devidamente cadastradas, mas tudo bem, vamos continuar.</p>
<p>Criei um primeiro projeto, <em>build </em>com maven2 e repositório SVN, no Hudson isso é um <em>Job</em>. A objetividade foi outro grande fator positivo, logo depois de dizer o nome do <em>job</em> e tipo de <em>build </em>fui para uma tela para preencher informações sobre o projeto, como por exemplo URL do SVN e localização do <em>pom.xml</em>. Mas nesta mesma tela, informações e opções sobre o <em>build </em>também eram exibidas, eu pude definir logo ali se os <em>builds</em> antigos seriam descartados ou não, se o <em>build </em>possuia algum parâmetro adicional, o tipo de notificação e quando e para quem ela seria enviada, opções de agendamento e dependências e algumas outras. Este início achei bem legal pois a objetividade e simplicidade não poderiam ser maiores, ponto para o Hudson.</p>
<div id="attachment_198" class="wp-caption aligncenter" style="width: 260px"><a href="http://www.jeveaux.com/blog/wp-content/uploads/2008/12/hudson.png"><img class="size-full wp-image-198" title="hudson" src="http://www.jeveaux.com/blog/wp-content/uploads/2008/12/hudson.png" alt="Este é O Hudson" width="250" height="268" /></a><p class="wp-caption-text">Este é O Hudson</p></div>
<p>A disposição das informações e os conceitos informativos também são bem legais, por exemplo a saúde do projeto ser exibida em forma de previsão do tempo: uma nuvem com trovoadas para muitos <em>builds </em>falhando e um sol para muitos <em>builds </em>de sucesso. Suporte a criação de tags no controle de versão, rss feeds, notificações diversas e algumas outras características estão presentes em todos eles. O que me chamou a atenção e vi como um ponto forte no Hudson foram os plugins que podem ser desenvolvidos por terceiros e instalados no seu servidor, dentre os que gostei tem um do twitter, cobertura, clover, PMD, GIT, LDAP, Active Directory, JMeter, Ivy, GCalendar e mais um montão, uma ótima pedida para extender a usabilidade.</p>
<p>Mais um ponto forte é a capacidade de trabalhar com <em>builds </em>distribuídos em vários servidores, para quem tem <strong>muitos</strong> projetos ou muita gente trabalhando ao mesmo tempo num mesmo projeto e precisa gerar uma <em>release</em> a cada <em>commit </em>esse recurso pode ser muito interessante.</p>
<p>Mas as alegrias não duraram muito. Por algum motivo ainda desconhecido, ao executar qualquer <em>goal</em> do maven2 com o Hudson ele simplesmente ignorava o meu <em>M2_HOME/conf/settings.xml</em> e com isso não identificava o <em>proxy </em>cadastrado para os repositórios, usuário para conexões http, regras para em quais <em>goals</em> os testes serão executados e mais algumas coisas. Ou seja, não consegui fazer nenhum <em>build</em> para os projetos com maven2. Testei com outros projeto usando Ant <em>build </em>e tudo correu super bem. Isso tudo levou quase um dia inteiro, como precisava definir o que seria usado resolvi passar para a próximo opção e desisti do Hudson, infelizmente. É certo que se eu gastar mais algum tempinho eu consigo descobrir a causa do problema e resolve-la, mas nesse momento não foi possível.</p>
<h3>TeamCity</h3>
<p>Este me assustou no começo, ~224mb de download, 11 vezes maior que o Hudson. Logo pensei que seria uma carroça ou um elefante branco de recursos inúteis, mas me enganei feio, muito feio. O instalador, apesar de grande é bem intuitivo, <em>wizards</em>, frufrus, etc.</p>
<p>Vou falar logo das limitações e licenciamento. O TeamCity tem um <a href="http://www.jetbrains.com/teamcity/buy/index.jsp" target="_blank">esquema interessante de licenciamento</a>, existem duas versões: <em>professional </em>e <em>enterprise</em>. A diferença entre elas é que a <em>professional </em>pode ter somente 20 contas de usuários, 20 <a href="http://www.jetbrains.net/confluence/display/TCD4/Build+Configuration" target="_blank"><em>build configurations</em></a> e 3 <a href="http://www.jetbrains.net/confluence/display/TCD4/Build+Agent" target="_blank"><em>build agents</em></a>, além de não ter integração de login com <em>LDAP</em>. Esta versão é gratuita para empresas e projetos comerciais. E a versão <em>enterprise </em>custa, para empresas, U$1.999,00 sem limitações de usuários, <em>build configurations</em> e com integração com <em>LDAP</em>, mas com somente 3 <em>build agents</em>, adicionais são comprados por fora. E a mesma versão <em>enterprise</em>, sem limites de <em>buid agents</em> e sem nenhum outro limite, para projetos open source é gratuita. Então se a sua empresa é pequena ou se você quer usar em um projeto open source, o TeamCity é completamente gratuito.</p>
<p>Instalação concluída e pronto! Não precisava fazer mais nada, só criar e configurar os projetos. Pontos para o TeamCity aqui.</p>
<p>Depois da instalação mais surpresas: a interface do TeamCity, ela é simplesmente fantástica. É bonita, informativa e principalmente muito útil (não recebi jabá pra falar isso não). Todas as configurações, sem exceções, podem ser feitas facilmente na interface. As notificações na interface são muito bem posicionadas e exibem todas informações necessárias só com um simples &#8216;passar&#8217; do mouse por um link ou ícone &#8211; um viva ao prototype.</p>
<p>O recurso de <a href="http://www.jetbrains.net/confluence/display/TCD4/Build+Grid" target="_blank"><em>Build Grid</em></a> é muito bom e funciona de verdade. No TeamCity existe um conceito de <a href="http://www.jetbrains.net/confluence/display/TCD4/Build+Agent" target="_blank"><em>Build Agent</em></a>, que é um computador capaz de executar os <em>builds</em>, o computador onde for instalado o TeamCity já será um <em>build agent</em>, por padrão. E ele permite que você tenha vários <em>builds agents</em>, logo, podemos distribuir o <em>build </em>dos projetos utilizando várias recursos de customização, como por exemplo sempre usar um <em>build agent</em> X, ou usar o que estiver livre ou usar o que deu resultados no menor tempo ou até mesmo simplesmente ir pra fila e deixar que algum <em>build agent</em> assuma a responsabilidade pelo <em>build</em>.</p>
<p>Um ponto que eu não gostei muito na versão <em>enterprise </em>(com as restrições) foi que as notificações são configuradas por usuário, ou seja, um usuário pode escolher não ser notificado por nenhuma ação num determinado projeto. Na versão <em>enterprise </em>sem restrições e na versão <em>professional </em>as notificações podem ser configuradas no perfil do usuário e também no projeto. Este foi um ponto que não gostei muito, mas que não foi o suficiente para não usar a ferramenta.</p>
<p>Um recurso que eu só encontrei no TeamCity e que teve um grande peso na decisão foi o <a href="http://www.jetbrains.com/teamcity/delayed_commit.html" target="_blank">Pre-Tested/Delayed Commit</a>, um recurso que só funciona no TeamCity quando usa-se o plugin do TeamCity na IDE: Eclipse, IntelliJ IDEA ou Visual Studio. Isso garante que no controlador de versão só haverá código funcionando, ou seja, se um <em>commit </em>for quebrar o <em>build </em>ele não será efetivado no controlador de versão. O TeamCity (junto com o plugin) interceptam o <em>commit</em>, executam os testes, o <em>build </em>e se tudo passar, então o <em>commit </em>é feito no controlador de versão, caso contrário o desenvolvedor é notificado da falha.</p>
<h3>Continuum</h3>
<p>Quando cheguei ao Continuum, confesso que já havia tomado a decisão de usar o TeamCity, então talvez este teste não tenha sido feito com a merecida atenção e dedicação.</p>
<p>Das três alternativas que eu testei nessa semana este foi a que teve a instalação <span style="text-decoration: line-through;">menos idiota</span> mais difícil. Dois comandos, ao invés de um comando (hudson) ou um wizard (teamcity). Mas assim como as outras ferramentas, foi fácil de instalar e testar.</p>
<p>No quesito configuração ele foi o menos eficiente, não encontrou nada previamente instalado, nem mesmo as variáveis de ambiente ele procurou. Precisei configurar manualmente tudo: JDK, maven, repositório do maven, etc.</p>
<p>Na criação dos <em>builds</em> usando maven2 mais problemas. No Continuum o conceito é diferente, ao invés de informarmos a URL do projeto no SVN precisamos informar a URL do pom.xml. Ok, concordei. Mas ao fazer o check-out do pom, antes de iniciar o check-out do projeto ele reclamava de um elemento que estava faltando no pom, algo até então inédito pra mim nas ferramentas de integração contínua e até mesmo para um <em>build</em> com maven2 em modo <em>stand-alone</em>. Tentei criar este elemento, <a href="http://www.google.com" target="_blank">procurei</a> sobre quais valores usar mas mesmo assim não tive sucesso. Com projetos usando Ant <em>build</em> foi tudo ok.</p>
<p>Exceto o problema anterior a utilização não foi ruim e nem tiveram recursos que eu procurei e não encontrei, exceto, é claro, o <em>Delayed Commit</em>.</p>
<h3>Conclusão</h3>
<p><a href="http://www.jeveaux.com/blog/wp-content/uploads/2008/12/youbrokethebuild-small.jpg"><img class="size-medium wp-image-187 alignleft" title="youbrokethebuild-small" src="http://www.jeveaux.com/blog/wp-content/uploads/2008/12/youbrokethebuild-small-225x300.jpg" alt="youbrokethebuild-small" width="225" height="300" /></a>Não preciso nem me esforçar muito para dizer que a opção escolhida na empresa foi o <a href="http://www.jetbrains.com/teamcity/" target="_blank">TeamCity</a>. Diversos motivos além da ferramenta contribuíram para isso. A empresa é pequena, quase 20 pessoas e os projetos são grandes, mas são poucos em quantidade, ou seja, as restrições de contas de usuário e <em>build agents</em> não foram problemas para escolhermos o TeamCity. Deixei bem claro sobre estas restrições mas o pessoal gostou da idéia e principalmente da ferramenta em si e, inclusive, já pensam em viabilizar a aquisição da versão <em>professional</em> sem restrições.</p>
<p>As outras ferramentas, na minha opinião, atendem perfeitamente a quase todos ambientes de integração contínua. O Hudson me chamou muito a atenção, gostei de verdade dos recursos, utilização e configuração dele, só não foi escolhido por dois motivos: não ter conseguido fazer o <em>build</em> com maven2 e por não ter suporte a <em>delayed commit</em>, que era uma necessidade atual. Mas com certeza será uma ferramenta que estará no topo da lista quando eu tiver que preparar outro ambiente de integração contínua.</p>
<p>Já o Continuum, este com certeza não teve a avaliação perfeita e justa, como foi a última ferramenta que testei acabou sofrendo muito, sendo sincero não me esforcei muito para testá-lo, os primeiros problemas já eram motivos desanimadores. Mas eu o considerarei novamente numa próxima oportunidade.</p>
<p><em>imagens retiradas <a href="http://www.michaelfransen.com/2008/02/13/continuous-integration-signs/" target="_blank">daqui</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2008/integracao-continua-e-com-teamcity/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>E a qualidade, como você garante?</title>
		<link>http://jeveaux.com/2008/e-a-qualidade-como-voce-garante/</link>
		<comments>http://jeveaux.com/2008/e-a-qualidade-como-voce-garante/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 17:33:01 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[Qualidade]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2008/e-a-qualidade-como-voce-garante/</guid>
		<description><![CDATA[Durante minhas apresentações sobre Testes de Software existem algumas perguntas que são clássicas, sempre fazem no mínimo uma delas. Por exemplo: Mas com testes, demora mais? E se demora mais, não fica mais caro? E se demora mais e fica &#8230; <a href="http://jeveaux.com/2008/e-a-qualidade-como-voce-garante/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Durante minhas apresentações sobre Testes de Software existem algumas perguntas que são clássicas, sempre fazem no mínimo uma delas. Por exemplo:</p>
<ul>
<li>Mas com testes, demora mais?</li>
<li>E se demora mais, não fica mais caro?</li>
<li>E se demora mais e fica mais caro, por que testar?</li>
<li>Como eu vou mostrar para o meu cliente um relatório de execução de testes? Pirou!?</li>
</ul>
<p>Pra quase todas eu respondo sim. Sim, simplesmente escrevendo testes ou trabalhando com TDD/BDD é um pouco mais demorado (medindo exclusivamente em tempo) sim, principalmente no começo de um projeto. Podemos pensar que se demora mais, inicialmente, também fica mais caro, afinal de contas, tempo é dinheiro. Mas depois deste movimento inicial e saindo da inércia o fator de tempo se inverte e o desenvolvimento no projeto torna-se mais rápido e mais barato. Assim como a manutenção do projeto.</p>
<p>Após responder sim para esses questionamentos, intencionalmente, eu inicio a discussão com uma pergunta, desta vez sou eu quem pergunto ao congressista: <strong>Como você garante a qualidade do seu produto?</strong></p>
<p>Eis que então abro as portas para chegar no ponto principal desta apresentação sobre Testes de Software, conscientizar as pessoas de que é necessário testar, pois, esta é a forma menos dolorosa para mantermos não só a qualidade, mas também a vida dos nossos produtos. Mesmo assim eu sempre tomo cuidado para não<em> vender</em> a idéia de que testes são a solução pra tudo, muito menos que pelo simples fato de escrever testes para todas as funcionalidades do seu sistema que ele não terá <em>bugs</em> ou problemas, muito pelo contrário. Mas então por que testar? Pois até hoje, testar é a forma mais barata e eficiente que encontramos para evitar que os problemas cheguem ao cliente/usuário. Eis então aí a qualidade do seu produto. E quando eu deixo de falar em &#8220;testes&#8221; para falar de &#8220;qualidade&#8221; eu consigo a atenção de todos, inclusive de quem não irá escrever testes, mas quem decidirá se o desenvolvedor terá espaço para escrever testes ou não, os gestores/líderes.</p>
<p>Geralmente quando você não escreve testes qual é a forma utilizada para garantir que o que será entregue ao cliente está funcionando de acordo com o que foi especificado (comportamento)? Não sabe responder!? Bom, então como você faz para garantir que o produto ao menos funciona, esqueça aqui o modelo de negócios, as telas ao menos abrem? O usuário não vai receber nenhuma <em>NullPointerException</em> na cara? Também não sabe responder!? Não tem segurança para responder!? Não fique triste, infelizmente tem muita gente na mesma situação que a sua.</p>
<p>Na maioria das vezes os projetos de software começam com funcionalidades e datas de entrega pré-definidas, contratos rígidos, multas astronômicas, e o pior, <a href="http://en.wikipedia.org/wiki/Waterfall_model" target="_blank">fases pré-definidas: requisitos de sistemas, requisitos de software, análise, design, codificação, <em>testes</em> e implantação</a>. Acho que não preciso falar muito do modelo em cascata, o que todos sabemos é que as fases iniciais sempre são feitas pelos <a href="http://blog.fragmental.com.br/2008/01/15/quando-eu-crescer-quero-ser-analista-de-sistemas/" target="_blank">&#8220;analistas de sistemas&#8221;</a> da empresa, na maior moleza gastando mais da metade do tempo e verba do projeto sem gerar nada de útil para o desenvolvimento. O que acontece? Os desenvolvedores simplesmente chutarão os testes (e muitas outras coisas) pois: &#8211; <em>não temos tempo agora; &#8211; depois eu testo; &#8211; a entrega é daqui a 15 dias; &#8211; está funcionando sem testes</em>. E o pior, tentarão justificar a ausência de testes devido a este modelo cultural e organizacional falho.</p>
<p>Então o projeto, de fato, começa. Mas e os<em> releases,</em> como ficam? Como você garante que o que será entregue ao seu cliente está funcionando? E que está atendendo a tudo que ele especificou? <em>(estou me repetindo, eu sei, mas é por uma boa causa)</em>. Melhor, se sua equipe trabalhou na correção de um <em>bug </em>ou na implementação de uma nova <em>feature</em>, como você garante que o que foi feito está ok e que todo o restante continua funcionando como antes? Certamente o seu cliente não espera que você entregue um relatório de execução da sua <em>suite </em>de testes, mas ele também não espera que você entregue um certificado de garantia ou algo parecido, ele simplesmente <strong>confia em você</strong> e espera que você faça por merecer.</p>
<p>E você no começo faz questão de parar um desenvolvedor ou analista para testar a funcionalidade que está sendo desenvolvida, ele executa a aplicação, faz um caso que funciona e outro que não funciona, te responde ok em cerca de 45 minutos. Passam-se alguns dias e já existem 5 funcionalidades, o mesmo desenvolvedor vai testar e te da ok em cerca de 4 horas ou mais. Mais algumas semanas e ele já não testa mais todos os casos, só os que funcionam e eventualmente pula uma ou outra funcionalidade pra terminar os testes mais rapidamente, depois de 3 dias ou mais ele te da o ok. Imagine depois que o sistema estiver grande (é mania das empresas querer fazer sistemas gigantes), você vai parar um desenvolvedor por duas semanas ou mais para testar? Ou você vai manter uma equipe de &#8220;testadores&#8221;? E como você vai explicar as regras de negócio de um sistema de controle de transações comerciais para 5 ou 6 novos funcionários para depois testarem o seu produto? Será que eles saberão o que fazer e como fazer? Pense em muitos problemas aqui.</p>
<p>Essa prática é demorada. Se acontecer (e vai acontecer) um problema seríssimo em produção e você precisar corrigir e entregar rápido, no mesmo dia, como você vai fazer para testar todo o resto do sistema em algumas horas? Certamente você vai pensar (e rezar) que esta alteração foi pontual e que não afetará mais nada no sistema e vai entregar sem testar. Se as novas solicitações forem de <em>features</em> pequenas você não vai querer testar todo o sistema, não vai se preocupar em fazer um teste de regressão, e vai, novamente, rezar e fazer promessas acreditando nos poderes sobrenaturais dos seus desenvolvedores. E o pior é que se alguma vez isso funcionar, esta poderá se tornar uma prática comum na empresa: <em>alterou; compilou? Então está pronto, pode entregar ao cliente</em>.</p>
<p>Se você precisar economizar ou cortar custos, a primeira equipe a dançar será a de &#8220;testadores&#8221; ou se ela não existir, será o tempo gasto pelo desenvolvedor que fazia os testes manuais. E com isso você não cortará somente custos, nesta altura do campeonato este é o seu menor problema, ou deveria ser a sua menor preocupação, você estará cortando diretamente a qualidade do seu produto! E sem qualidade a confiança que o seu cliente tem em você começará a diminuir, a imagem da sua empresa junto ao cliente começará a perder o brilho e num determinado momento o cliente se dará conta que você entregou o produto em 4 meses e está a 2 anos tentando deixá-lo totalmente funcional, sem muito sucesso.</p>
<p>Não são somente os testes automatizados que irão garantir a qualidade do seu produto, você tem outras alternativas e a mais conhecida são os testes manuais feitos pelo desenvolvedor ou por sua equipe de testadores, porém esta não é uma alternativa barata e nem rápida, isso não é sustentável ao longo da vida de um projeto.</p>
<p>Se você e seu cliente não se importam em esperar 15 dias para uma <em>release </em>sair, tudo bem, não escreva testes; se você não se importa com o alto custo de manter uma dúzia de pessoas para preencher campos e dar ok, tudo bem, continue sem testes; se o seu cliente te paga 5 vezes mais para fazer o produto funcionar do que o ele pagou para ter o produto, tudo bem também, continue sem testes; ou se os seus desenvolvedores são especiais e possuem poderes além da nossa compreensão e isto permite que você não teste, ótimo, você é um sortudo, pode continuar assim. Se alguma forma sem testes automatizados funciona pra você e você consegue garantir qualidade assim e ainda consegue ser uma organização lucrativa, sorte a sua (e coitado do seu cliente). Só que as coisas nem sempre são assim.</p>
<p>Você deve verificar o seu código, sempre! Você deve testar rápido, pois precisa entregar rápido. Você deve ter segurança para alterar, pois sua equipe pode ser nova ou com pessoas que não conhecem o projeto. Você precisa testar tudo o que foi alterado e todo o resto para saber se algo não deixou de funcionar com alguma alteração. E você precisa fazer tudo isso pra ontem, afinal, você está no mesmo planeta que o resto das pessoas.</p>
<p>Se no início do projeto você tivesse feito o que era necessário, se tivesse investido em testes e automatizado todos eles, após a entrega do produto você poderia dedicar os próximos 2 anos que iria passar dando manutenção em código legado (lembre-se que código sem testes já nasce legado) prospectando novos clientes e projetos. Se aqueles minutinhos para escrever os testes não tivessem sido cortados, hoje, quando o produto tiver milhões de linhas de código e centenas de funcionalidades, após uma alteração qualquer, feita por um estagiário que chegou ontem e nem conhece o produto, você conseguirá saber em questão de minutos (ou no máximo horas) o resultado e impacto desta alteração, com um simples <em>click</em> você saberá se pode entregar a<em> release</em> para o cliente, ou não.</p>
<p>Ao final do projeto, sim, este projeto terá um fim e será concluído de verdade, aquele tempinho que parecia estar sendo perdido com testes, pensando que testar uma funcionalidade antes mesmo dela existir é coisa de maluco, pensando que o melhor a se fazer é correr e correr e correr pra entregar logo qualquer coisa ao cliente, tudo isso vai se converter num ganho inestimável para sua organização, você poderá desenvolver novas <em>features</em>, trabalhar em outros projetos ou clientes, movimentar as pessoas entre as equipes, contratar gente nova e inseri-los rapidamente no <em>&#8216;ritmo&#8217;</em> de trabalho, e o melhor de tudo, o seu cliente manterá a confiança em você, na sua organização e no seu trabalho.</p>
<p>Então, Assim eu termino a discussão: &#8211; É mais rápido entregar um produto em 3 meses e levar mais 24 meses ajustando-o para o tornar funcional ou é mais rápido entregá-lo em 4 meses? Ou entregá-lo em 3 meses com menos funcionalidades? &#8211; É mais barato arriscar a imagem e confiabilidade da sua organização entregando algo sem qualidade ou é mais barato escrever e automatizar testes?</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2008/e-a-qualidade-como-voce-garante/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Xvfb: Como usar o Selenium sem ter um X Server</title>
		<link>http://jeveaux.com/2008/xvfb-como-usar-o-selenium-sem-ter-um-x-server/</link>
		<comments>http://jeveaux.com/2008/xvfb-como-usar-o-selenium-sem-ter-um-x-server/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 13:49:17 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[X11]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2008/xvfb-como-usar-o-selenium-sem-ter-um-x-server/</guid>
		<description><![CDATA[Escrever testes com Selenium geralmente é uma tarefa que, ou é amada ou é odiada com todas as forças do indivíduo que a executa. Isso acontece principalmente devido às inúmeras formas e ferramentas disponíveis para escrever os seus testes de &#8230; <a href="http://jeveaux.com/2008/xvfb-como-usar-o-selenium-sem-ter-um-x-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Escrever testes com <a href="http://selenium.openqa.org/" target="_blank">Selenium</a> geralmente é uma tarefa que, ou é amada ou é odiada com todas as forças do indivíduo que a executa. Isso acontece principalmente devido às inúmeras formas e ferramentas disponíveis para escrever os seus testes de aceitação. Por exemplo, em Rails quem usa o <a href="http://github.com/aslakhellesoy/cucumber" target="_blank">Cucumber</a> com certeza deve gostar muito de escrever tais testes, já quem usa o Selenium IDE não deve ficar muito feliz depois de algumas semanas repetindo várias e várias coisas.</p>
<p>Executar os testes é outra tarefa muito legal e motivante, ver as coisas acontecendo de forma automática é lindo, mas com o tempo isso começa a ficar muito chato, cansativo e a levar tempo de mais, tempo que você não pode esperar toda vez que quiser fazer um <em>commit</em> ou um <em>push</em> ou até mesmo uma integração para <em>build</em>. Com isso vem a idéia de um servidor de <a href="http://blog.caelum.com.br/2008/11/04/integracao-continua/" target="_blank">integração contínua</a> onde todos os testes serão executados automaticamente do jeito que você desejar: a cada <em>commit/push</em>, tantas vezes por dia, etc.</p>
<p>Novamente tudo fica muito bom quando o servidor de integração contínua está executando tudo e dando conta do recado, mas e se o servidor disponibilizado não tiver um ambiente gráfico? Ou melhor, e se você questionar a razão de ter um ambiente gráfico num servidor como esse? Bom, há de pensar que sem interface gráfica não é possível executar o browser (exceto o <em>lynx</em>, eu sei), então o que fazer? Para resolver este problema existe o <a href="http://www.xfree86.org/4.0.1/Xvfb.1.html" target="_blank">Xvfb</a>, um projeto que serve exatamente para máquinas sem display.</p>
<p>O Xvfb cria um <em>buffer</em> virtual em memória e executa o X Server a partir daí, redirecionando o que deveria ser a saída VGA para a memória, e com isso você consegue um X Server virtual rodando sem display, apenas em memória. Com isso já é possível rodar o browser (e qualquer outra coisa que precisa de um X Server), logo, é possível executar todos os seus testes do Selenium. Um detalhe interessante é a possibilidade de ter<em> qualquer</em> resolução disponível agora, mesmo aquelas que um monitor não poderia te proporcionar.</p>
<p>Vamos agora a instalação e execução do Xvfb:</p>
<h4>Instalando o Xvfb</h4>
<pre lang="text" line="1">jeveaux@valakas ~ $ sudo apt-get install xvfb</pre>
<h4>Executando o Xvfb</h4>
<pre lang="text" line="1">jeveaux@valakas ~ $ Xvfb :1 -screen 0 1600x1200x32</pre>
<p>Com o comando acima vamos iniciar um novo servidor X (<em>:1</em>), screen 0 (<em>-screen 0</em>), resolução de tela de 1600&#215;1200 e 32bits de cores. Agora para abrir o firefox neste servidor:</p>
<pre lang="text" line="1">jeveaux@valakas ~ $ DISPLAY=:1 firefox</pre>
<p>E se você quiser acessar <em>visualmente</em> a saída criada pelo Xvfb pode usar algum cliente VNC como o x11vnc e conectar-se no display criado:</p>
<pre lang="text" line="1">jeveaux@valakas ~ $ sudo apt-get install x11vnc
jeveaux@valakas ~ $ x11vnc -display :1</pre>
<p>E pronto! Obviamente o Xvfb não deve ser usado exclusivamente para o Firefox/Selenium, este post foi apenas uma abordagem dentre as milhares de soluções que podem se beneficiar de um X Server virtual.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2008/xvfb-como-usar-o-selenium-sem-ter-um-x-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Palestra no CEJUG &#8211; Café com Tapioca</title>
		<link>http://jeveaux.com/2008/palestra-no-cejug-cafe-com-tapioca/</link>
		<comments>http://jeveaux.com/2008/palestra-no-cejug-cafe-com-tapioca/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 10:42:48 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[CEJug]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2008/palestra-no-cejug-cafe-com-tapioca/</guid>
		<description><![CDATA[Este mês vou tomar café com tapioca lá em Fortaleza, capital do Ceará junto com o pessoal do CEJUG. Dando seqüência ao grandioso trabalho de eventos mensais que o CEJUG vem realizando, participarei do próximo Café com Tapioca no dia &#8230; <a href="http://jeveaux.com/2008/palestra-no-cejug-cafe-com-tapioca/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="https://cejug.dev.java.net/images/ceara.jpg" width="188" align="right" height="92" />Este mês vou tomar café com <a href="http://pt.wikipedia.org/wiki/Tapioca" target="_blank">tapioca</a> lá em Fortaleza, capital do Ceará junto com o pessoal do <a href="http://www.cejug.org" target="_blank">CEJUG</a>. Dando seqüência ao grandioso trabalho de eventos mensais que o <a href="http://www.cejug.org" target="_blank">CEJUG</a> vem realizando, participarei do próximo <a href="http://www.cejug.org/pages/viewpage.action?pageId=2818055" target="_blank">Café com Tapioca</a> no dia 21/11/2008 com a apresentação sobre testes.</p>
<p>Fiquei muito contente com o convite do meu grande amigo, <a href="http://www.rafaelcarneiro.org/blog/" target="_blank">Rafael Carneiro</a>, <em>JUG Leader</em> do <a href="http://www.cejug.org" target="_blank">CEJUG</a> e um dos administradores do <a href="http://www.portaljava.com" target="_blank">PortalJava,</a> partirei para o nordeste com muita empolgação, afinal além de não conhecer a região vou conhecer várias figurinhas do dia-a-dia de blogs, twitter, IMs e tudo mais, a expectativa é grande.</p>
<p>A apresentação de Testes desta vez terá uma abordagem com maior foco em <a href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank">TDD</a> e <a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" target="_blank">BDD</a>. Ainda estou tentando sintetizar o conteúdo da melhor forma possível, torço para que o pessoal do Ceará goste.</p>
<p>Maiores informações <a href="http://www.cejug.org/pages/viewpage.action?pageId=34668552" target="_blank">aqui no site do CEJUG</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2008/palestra-no-cejug-cafe-com-tapioca/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Divulgação: III EJES</title>
		<link>http://jeveaux.com/2008/divulgacao-iii-ejes/</link>
		<comments>http://jeveaux.com/2008/divulgacao-iii-ejes/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 17:19:36 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[ESJUG]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[EJES]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2008/divulgacao-iii-ejes/</guid>
		<description><![CDATA[Como eu disse aqui e aqui, nos dois últimos posts do blog, o ESJUG está participando do Mês do Java, que está levando uma caravana pelo Brasil a fora com palestrantes do mundo inteiro com o apoio do SouJava e &#8230; <a href="http://jeveaux.com/2008/divulgacao-iii-ejes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Como eu disse <a href="http://www.jeveaux.com/blog/2008/iii-encontro-de-java-do-espirito-santo/" target="_blank">aqui</a> e <a href="http://www.jeveaux.com/blog/2008/mes-de-java-no-brasil/" target="_blank">aqui</a>, nos dois últimos posts do blog, o <a href="http://esjug.dev.java.net/" target="_blank">ESJUG</a> está participando do <a href="http://www.soujava.org.br/pages/viewpage.action?pageId=6422611" target="_blank">Mês do Java</a>, que está levando uma caravana pelo Brasil a fora com palestrantes do mundo inteiro com o apoio do <a href="http://www.soujava.org.br" target="_blank">SouJava</a> e da Sun Microsystems para eventos realizados em cada estado por seu JUG regional.</p>
<p>E no Espírito Santo o evento será o <strong>III EJES &#8211; Encontro de Java do Espírito Santo</strong>, com a programação abaixo:</p>
<ul>
<li><strong>Data</strong>: 27 de setembro de 2008</li>
<li><strong>Local</strong>: Anfiteatro da UVV &#8211; Vila Velha (<a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=Vila+Velha,+Esp%C3%ADrito+Santo,+Brazil,+UVV&amp;ie=UTF8&amp;ll=-20.352775,-40.295491&amp;spn=0.012715,0.020642&amp;t=h&amp;z=16&amp;iwloc=A" target="_blank">mapa</a>)</li>
<li><strong>Apresentações:</strong>
<ul>
<li><strong>08:00h</strong> &#8211; Credenciamento e Network Break</li>
<li><strong>09:15h</strong> &#8211; Abertura SUCESU-ES e ESJUG &#8211; <em><strong>Jeveaux e Juliana</strong></em></li>
<li><strong>09:30h</strong> &#8211; Glassfish e o Futuro do Java EE &#8211; <em><strong>Doris Chen</strong></em></li>
<li><strong>10:30h</strong> &#8211; Java na Ponta dos Dedos: A revolução Invisível &#8211; <em><strong>Mauricio Leal</strong></em></li>
<li><strong>11:15h</strong> &#8211; Testes e Refatoração -<em><strong> Jeveaux</strong></em></li>
<li><strong>13:30h</strong> &#8211; Construindo Aplicações Ricas usando JavaFX &#8211; <em><strong>Simon Ritter</strong></em></li>
<li><strong>14:30h</strong> &#8211; Hibernate e NetBeans : Combinação Perfeita! &#8211; <em><strong>Cristiano Biancardi </strong></em></li>
<li><strong>15:10h</strong> &#8211; Aplicando Java EE na Integração de Segurança entre Sistemas e Serviços de Diretório &#8211; <em><strong>Luciano Lorencini</strong></em></li>
<li><strong>16:20h</strong> &#8211; Case CCM: Desenvolvimento de um aplicativo web utilizando tecnologias livres e open source para os Correios do Brasil. &#8211; <em><strong>André Luis Almeida Barreto</strong></em></li>
<li><strong>17:00h</strong> &#8211; Encerramento, entrega dos certificados e sorteio dos brindes</li>
</ul>
</li>
</ul>
<p><a href="http://www.sucesues.org.br/detalhe_evento.php?cod=82" target="_blank">Veja aqui a <strong>grade completa</strong> e informações de como se inscrever.</a></p>
<p><strong>Importante</strong>: As palestras da Doris Chen e Simon Ritter serão apresentadas em inglês com tradução simultânea, porém, a tradução será feita através de rádio FM. Para ouvir a tradução é necessário que o congressista leve qualquer aparelho sintonizador de FM: mp3 player, celular, rádio, etc. Não haverão aparelhos no evento disponíveis para uso.</p>
<p><meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /> 	<title></title> 	<meta name="GENERATOR" content="OpenOffice.org 2.4  (Linux)" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2008/divulgacao-iii-ejes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Palestras e Atividades confirmadas</title>
		<link>http://jeveaux.com/2008/palestras-e-atividades-confirmadas/</link>
		<comments>http://jeveaux.com/2008/palestras-e-atividades-confirmadas/#comments</comments>
		<pubDate>Mon, 12 May 2008 18:45:47 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2008/palestras-e-atividades-confirmadas/</guid>
		<description><![CDATA[A &#8216;temporada&#8217; de eventos de 2008 já começou e está a todo vapor. Este ano eu novamente eu não pude participar do FISL, mas não vou perder (pelo menos não quero perder) os outros eventos do ano. Algumas palestras já &#8230; <a href="http://jeveaux.com/2008/palestras-e-atividades-confirmadas/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A &#8216;temporada&#8217; de eventos de 2008 já começou e está a todo vapor. Este ano eu novamente eu não pude participar do FISL, mas não vou perder (pelo menos não quero perder) os outros eventos do ano. Algumas palestras já estão confirmadas:</p>
<ul>
<li><strong>Testes de Software e Ferramentas de Testes</strong><br />
Semana passada apresentei uma <em>nova versão</em> (ainda não disponibilizei no slideshare) <a href="http://www.jeveaux.com/blog/2007/palestra-testes-de-software/" target="_blank">desta palestra sobre Testes</a> na faculdade <a href="http://www.saocamilo-es.br/" target="_blank">São Camilo</a>, aqui no Espírito Santo mesmo, bem pertinho de Vitória. Fiz uma série de adaptações, a maioria delas em reordenação de slides e organização de conteúdo que ajudaram bastante para o bom andamento da apresentação, ficou mais legal :D</li>
</ul>
<ul>
<li><strong>Introdução ao Desenvolvimento Web com Java</strong><br />
Em 27 de maio farei uma apresentação de introdução do desenvolvimento web com Java onde serão abordados temas e ferramentas desde JSP/Servlets passando por JSF até uma pontinha de JBoss Seam. A apresentação será no InfoWork 2008 realizado pela <a href="http://www.uvv.br" target="_blank">UVV</a>.</li>
</ul>
<ul>
<li><strong>Ruby on Rails para iniciantes</strong><br />
E pra fechar o mês, uma nova visita à <a href="http://www.saocamilo-es.br/" target="_blank">São Camilo</a>, desta vez para participar e colaborar com a expansão da comunidade Linux e de Software Livre do estado, vou participar do <a href="http://eesl.wordpress.com/" target="_blank">EESL <em>(Encontro de Estudantes sobre Software Livre)</em></a> e fazer uma apresentação (na verdade uma seção de exemplos e how-to) bem introdutória sobre Ruby on Rails, estou bastante ansioso pois esta será a minha apresentação sobre Rails.</li>
</ul>
<p>Além destas apresentações já confirmadas, <a href="http://www.jeveaux.com/blog/2008/falando-em-java-2/" target="_blank">estarei entre os dias 16 e 19 de maio em São Paulo para participar do <strong>Falando em Java</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2008/palestras-e-atividades-confirmadas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mini-Curso: Testes e Refatoração</title>
		<link>http://jeveaux.com/2008/mini-curso-testes-e-refatoracao/</link>
		<comments>http://jeveaux.com/2008/mini-curso-testes-e-refatoracao/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 01:02:12 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Refactory]]></category>
		<category><![CDATA[Testes]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2008/mini-curso-testes-e-refatoracao/</guid>
		<description><![CDATA[Disponibilizei através do Slideshare mais uma apresentação, desta vez um mini-curso. Aquela última palestra que disponibilizei sobre testes foi usada como base neste mini-curso, a parte de Testes de Software teve um pouco mais de atenção e ficou bem mais &#8230; <a href="http://jeveaux.com/2008/mini-curso-testes-e-refatoracao/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Disponibilizei através do Slideshare mais uma apresentação, desta vez um mini-curso. Aquela <a href="http://www.jeveaux.com/blog/2007/palestra-testes-de-software/" target="_blank">última palestra que disponibilizei</a> sobre testes foi usada como base neste mini-curso, a parte de Testes de Software teve um pouco mais de atenção e ficou bem mais extensa. Além disso, juntei também uma parte de Refatoração. Espero que gostem!</p>
<ul>
<li><strong>Testes e Refatoração </strong>[<a href="http://www.slideshare.net/jeveaux/testes-e-refatorao" target="_blank">link</a>]</li>
</ul>
<iframe src="http://www.slideshare.net/slideshow/embed_code/323811" width="425" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2008/mini-curso-testes-e-refatoracao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Palestra: Testes de Software</title>
		<link>http://jeveaux.com/2007/palestra-testes-de-software/</link>
		<comments>http://jeveaux.com/2007/palestra-testes-de-software/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 01:32:52 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Testes]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2007/palestra-testes-de-software/</guid>
		<description><![CDATA[Disponibilizei através do Slideshare mais uma palestra. Uma introdução aos testes, não cheguei a abordar profundamente TDD e nem muitas ferramentas de testes (nesse ponto, apenas uma pra cada coisa), a idéia central é desmistificar os &#8220;testes&#8221; nas corporações e &#8230; <a href="http://jeveaux.com/2007/palestra-testes-de-software/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Disponibilizei através do Slideshare mais uma palestra. Uma introdução aos testes, não cheguei a abordar profundamente TDD e nem muitas ferramentas de testes (nesse ponto, apenas uma pra cada coisa), a idéia central é desmistificar os &#8220;testes&#8221; nas corporações e mostrar os prejuízos e como tudo pode ser evitado. Críticas, dúvidas, sugestões, confissões e receitas são sempre bem vindas, fiquem a vontade.</p>
<ul>
<li><strong>Testes de Software &amp; Ferramentas de Testes </strong><a href="http://www.slideshare.net/jeveaux/testes-de-software-ferramentas-de-testes">[link]</a></li>
</ul>
<iframe src="http://www.slideshare.net/slideshow/embed_code/187333" width="425" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2007/palestra-testes-de-software/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vitória OpenExpo TI: Palestra Testes de Software</title>
		<link>http://jeveaux.com/2007/vitoria-openexpo-ti-palestra-testes-de-software/</link>
		<comments>http://jeveaux.com/2007/vitoria-openexpo-ti-palestra-testes-de-software/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 15:10:48 +0000</pubDate>
		<dc:creator>jeveaux</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Palestras]]></category>
		<category><![CDATA[Testes]]></category>

		<guid isPermaLink="false">http://www.jeveaux.com/blog/2007/vitoria-openexpo-ti-palestra-testes-de-software/</guid>
		<description><![CDATA[Vai acontecer aqui em Vitória &#8211; ES o evento Vitória OpenExpo TI nos dias 29 e 30 de novembro no auditório do NTS da UFES. O evento será um ciclo de exposição de tecnologias abertas para as micro e pequenas &#8230; <a href="http://jeveaux.com/2007/vitoria-openexpo-ti-palestra-testes-de-software/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tesserrack.com/VitoriaOpenExpoTI"><img src="http://www.jeveaux.com/blog/wp-content/uploads/2007/11/vitoriaopenexpotihalfbanner.jpg" alt="" align="left" /></a>Vai acontecer aqui em Vitória &#8211; ES o evento <a href="http://www.tesserrack.com/VitoriaOpenExpoTI"><strong>Vitória OpenExpo TI</strong></a> nos dias 29 e 30 de novembro no auditório do <a href="http://www.nts.ufes.br/">NTS da UFES</a>. O evento será um ciclo de exposição de tecnologias abertas para as micro e pequenas empresa do estado do Espírito Santo através de palestras, workshops e seminários de empresas de TI locais que suportam o modelo Open Source de segunda geração, serão abordados assuntos como Sun Open Solaris, Java, Testes de Software, tecnologias de rede, Linux, Alta disponibilidade, etc.</p>
<p>A minha apresentação será no dia 30/11, sexta-feira e o assunto será: <strong>Testes de Softwares &amp; Ferramentas de testes para Java</strong>, onde eu vou falar um pouco sobre testes de modo geral, os benefícios, a resistência dos programadores em escrever e rodar testes, TDD e ferramentas de testes para Java como <a href="http://www.junit.org">JUnit</a>, <a href="http://testng.org/">TestNG</a>, <a href="http://www.openqa.org/selenium/">Selenium</a>, <a href="http://www.atlassian.com/software/clover/">Clover</a>, <a href="http://www.jcoverage.com/">JCoverage</a> e mais algumas.</p>
<p>O evento é organizado pela <a href="http://www.tesserrack.com.br/">Tesserrack</a> e conta com o apoio da Sun, <a href="http://ufes.br">UFES</a>, <a href="http://www.sebraees.com.br/">Sebrae-ES</a> e <a href="http://www.sistemafindes.org.br">FINDES</a>. <a href="http://www.tesserrack.com/VitoriaOpenExpoTI">Inscreva-se</a> e apareça por lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeveaux.com/2007/vitoria-openexpo-ti-palestra-testes-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

