<?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>Marcos Sousa's Blog &#187; Testes</title>
	<atom:link href="http://www.marcossousa.com/category/testes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcossousa.com</link>
	<description>Blog sobre desenvolvimento de software</description>
	<lastBuildDate>Fri, 06 Jan 2012 15:31:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Yahoo Open Hack Day 2010: Foi surpreendente!</title>
		<link>http://www.marcossousa.com/2010/03/25/yahoo-open-hack-day-2010-foi-surpreendente/</link>
		<comments>http://www.marcossousa.com/2010/03/25/yahoo-open-hack-day-2010-foi-surpreendente/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 04:13:40 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[brhackday]]></category>
		<category><![CDATA[São Paulo]]></category>
		<category><![CDATA[Violência]]></category>
		<category><![CDATA[Yahoo]]></category>
		<category><![CDATA[Yahoo Open Hack Day]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=263</guid>
		<description><![CDATA[Esse último fim de semana (21 e 22 de Março) tive o prazer de participar de um excelente evento, o Yahoo Open Hack Day ocorrido no Senac Santo Amaro. A proposta do evento é um pouco nerd, após algumas palestras, fazer um hack em 24hs usando alguma ferramenta do Yahoo. Para dizer a verdade, algumas [...]]]></description>
			<content:encoded><![CDATA[<p>Esse último fim de semana (21 e 22 de Março) tive o prazer de participar de um excelente evento, o Yahoo Open Hack Day ocorrido no Senac Santo Amaro. A proposta do evento é um pouco nerd, após algumas palestras, fazer um hack em 24hs usando alguma ferramenta do Yahoo. Para dizer a verdade, algumas pessoas me acharam meio maluco, sair de BH e ir para São Paulo e passar o fim de semana acordado programando. Mais eu sabia que o evento seria excelente e fui sozinho para esta &#8220;aventura&#8221;.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.marcossousa.com/wp-content/uploads/2010/03/hackday.jpg" alt="" width="425" height="418" /></p>
<p>Tinha uma pré-equipe formada (<a href="http://twitter.com/rafaelmanoel">Rafael Manoel</a> e <a href="http://www.hespanha.com.br">Luiz Hespanha</a>) ambos do UOL. Antes de ir, pensei em desenvolver um plugin do firefox para o <a href="http://meme.yahoo.com">Yahoo Meme</a>. O nome estava até definido: memefox. Listei diversas features possíveis de se implementar em 24hs, e como nunca tinha nenhum plugin para o Firefox, resolvi fazer testes com algumas das features que considerava mais desafiadoras. A exemplo, adicionar um item no menu do botão direito quando acionado sobre uma imagem.</p>
<p>Infelizmente tive alguns problemas para chegar até o local do evento e perdi a abertura. A apresentação do <a href="http://www.pedrovalente.com">Pedro Valente</a> sobre extração de dados &#8220;na marra&#8221; de entidades públicas foi inspiradora. Após as apresentações, encontrei com o meu time que possuia mais um integrante o <a href="http://twitter.com/wandi">Wandi</a>.</p>
<p><img class="aligncenter size-full wp-image-229" title="dsc075651" src="http://www.marcossousa.com/wp-content/uploads/2010/03/time.jpg" alt="" width="577" height="418" /></p>
<p>Fizemos  um brainstorming e diante algumas idéias, surgiu o desejo de se saber o índice de criminalidade durante a consulta de imóveis para compra. A partir daí saímos em busca de fontes de informações para fazer o hack que viabilizaram o desenvolvimento da aplicação. Desenvolvemos juntos durante a tarde e início da noite de sábado e durante a madrugada, fiquei sozinho no Senac, mas estávamos conectados via Gtalk implementando diversas coisas legais.</p>
<p>Em suma o resultado dos nossos esforços se resultaram em:</p>
<p>1) O usuário acessa a página e informa um endereço válido da cidade de São Paulo. Exemplo: Avenida Paulista, 3000</p>
<p>2) Obtemos a relação de endereços das delegacias da cidade de São  Paulo recuperando coordenadas geográficas usando API do  Yahoo Maps. Estas informações ficaram salvas na aplicação (Ponto para evolução).</p>
<p>3) Recuperamos as coordenadas geográficas do endereço informados pelo usuário.</p>
<p>4) Calculamos a distância, usando as coordenadas geográficas, analisamos os resultados e apontamos a delegacia mais próxima.</p>
<p>5) Como os dados da ocorrência estão associados às delegacias, recuperamos estes dados através de uma Open Table que criamos para expor os dados da SEADE. Com a open table criada, usamos YQL para filtrar os dados e expô-los unificados. <strong>Minha opnião:</strong> Muito legal usar YQL para coisas do gênero.</p>
<p>6) Neste ponto é gerado um XML com todas as informações e geramos a página plotando um mapa indicando o endereço pesquisado e o enderço da delegacia mais próxima.<strong> Nota: </strong>Meus agradescimentos ao <a onclick="javascript:pageTracker._trackPageview('/outbound/article/http://twitter.com/codepo8');" href="http://twitter.com/codepo8">Chris  Heilmann</a> que deu dicas para centralizar o mapa com base nos pontos informados. <em>(Alguns casos dependendo da distância, a delegacia não era mostrada sem que o usuário tivesse que arrastar para direção onde ela encontrava)</em></p>
<p style="text-align: center;"><img class="aligncenter" title="dsc075651" src="http://www.marcossousa.com/wp-content/uploads/2010/03/violenciasp.png" alt="" width="532" height="386" /></p>
<p>Este foi o produto final: <a href="http://violenciasp.appspot.com/">http://violenciasp.appspot.com</a> cujo código está disponível em <a href="http://github.com/marcossousa/violenciasp">http://github.com/marcossousa/violenciasp</a>. O layout ainda tem algumas falhas para IE, cuidar de todos os detalhes em 24hs é complicado. A repercussão do projeto foi algo que me chamou a atenção, jamais pensei que ia fazer o sucesso que fez. Fomos intrevistados pela Rede Band e pela TV Senac e recebemos diversos feedbacks.</p>
<p>Ganhar o prêmio do Hack Day? Bom, acho que o prêmio maior prêmio já havia sido conquistado as 12hs de Domingo, quando terminamos o projeto. Pois, tive o prazer de fazer algo útil para a sociedade em 24hs com 3 desenvolvedores excelentes do lado. A troca de experiências ao longo destas horas foi algo gratificante. Fizemos um trabalho em equipe, onde a idéia de todos foi levada em consideração, ninguém quis mostrar que sabia mais que o outro (algo que ainda se vê por aí). Enfim, valeu a pena.</p>
<p>Bom, não queremos parar com o projeto. Tem muitas idéias legais que ainda podem ser adicionadas ao projeto e vamos fazer isto:<br />
- Como migrar de Java para Ruby.<br />
- Expor o acesso via Rest para outras aplicações.<br />
- Criar racks para toda a fonte de informação.<br />
- Criar uma open table pública para possibilitar exposição do serviço via YQL<br />
- Extender o serviço para outras cidades como Rio, Belo Horizonte, Patos de Minas &#8230;</p>
<p>Se você tiver interesse no projeto, estamos precisando de ajuda, seja lá de qual forma. &#8220;Conheço o lugar onde recuperar estatísticas de violência por Bairro de Fortaleza&#8221;. Mande para nós, entre no Github ou mande para o meu e-mail falecomigo at marcossousa dot com. <strong>Minha audácia:</strong> Quem sabe não conseguimos extender este serviço para todo o Brasil e também fornecer dados mais detalhados?</p>
<p>Houveram projetos muito interessantes. Os projetos que envolveram hardware foram todos muito criativos. Teve o projeto F1, Gas Finder, RFID, app para o Facebook, o pingback e muitos outros.</p>
<p>Para finalizar meus agradecimentos: Parabéns <a href="http://www.acarlos1000.com.br/">Antônio Carlos</a>, <a href="http://gc.blog.br/">Guilherme Chapiewski,</a> <a href="http://www.pedrovalente.com">Pedro Valente</a> e todos do Yahoo, o evento foi impecável. Os problemas que tiveram foram solucionados quase que em tempo real, muito bem organizado. E obrigado ao <a href="http://twitter.com/rafaelmanoel">Rafael Manoel,</a> <a href="http://twitter.com/luiz_hespanha">Luiz Hepanha</a> e <a href="http://twitter.com/wandi">Wanderlei Souza</a> pelas experiências, conversas e por ter feito parte deste time rock star!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2010/03/25/yahoo-open-hack-day-2010-foi-surpreendente/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Testes, porque não fazer?</title>
		<link>http://www.marcossousa.com/2008/10/10/testes-porque-nao-fazer/</link>
		<comments>http://www.marcossousa.com/2008/10/10/testes-porque-nao-fazer/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 20:44:17 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
				<category><![CDATA[TDD]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Waterfall]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=121</guid>
		<description><![CDATA[Observando o comportamento em vários projetos, pude perceber que grande parte das pessoas não dão muito valor aos testes, e quando valorizam atribui a responsabilidade de testar a outras pessoas. As coisas ainda ficam piores quando chega a pequenas empresas. Pergunte ao dono da padaria que você toma café todos os dias, se eles testaram [...]]]></description>
			<content:encoded><![CDATA[<p>Observando o comportamento em vários projetos, pude perceber que grande parte das pessoas não dão muito valor aos testes, e quando valorizam atribui a responsabilidade de testar a outras pessoas. As coisas ainda ficam piores quando chega a pequenas empresas. Pergunte ao dono da padaria que você toma café todos os dias, se eles testaram alguma funcionalidade do software que eles tem antes de colocar em produção? Se a versão tiver algum problema e corromper os dados, a culpa sem sombra de dúvidas será do time de desenvolvimento.</p>
<p>O problema começa no modo como as pessoas projetam o software, dentro de um processo <a href="http://en.wikipedia.org/wiki/Waterfall_model">Waterfall</a>, onde cliente não é parte do processo. Neste contexto, o cliente diz o que deseja e depois de 9 meses ele tem um resultado: <a href="http://gc.blog.br/2007/06/08/como-produzir-software-coxa">um software produzido nas &#8220;coxas&#8221;</a>.</p>
<p>Mesmo em projetos onde existem práticas de testes, muitos deles ainda são ineficientes. O usuário apenas valida as &#8220;telinhas&#8221; do sistema, e muito pouco em termos funcionalidades. Infelizmente, poucos destes usuários testam o comportamento de entradas de dados inválidos, por exemplo, um campo de CPF aceitar &#8220;-1&#8243; como valor, ou um espaço em branco ser um conteúdo válido para um campo obrigatório. Como resultado, o sistema chega a produção, dados inconsistentes são inseridos e a culpa é do desenvolvedor.</p>
<p>Testes unitários é algo que muitos desenvolvedores ainda acham inútil, quando fala em integração contínua, aí acham exagero. Quer um exemplo, pergunte à um programador PHP se ele faz teste unitários. &#8220;Faço apenas sites, não sistemas, não preciso disso&#8221;, nem fazem idéia de que existe o <a href="http://www.phpunit.de">PHPUnit</a> para este propósito. Mesmo dentro de um obsoleto modelo cascata, cheio de casos de usos, porque não criar testes unitários pelo menos para validar os fluxos principais e alternativos? Pelo menos o fundamental pode ser controlado por um sistema de integração contínua.</p>
<p>Meu objetivo não é falar que práticas, como <a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD</a>, são perfeitas. O que eu quero chamar a atenção é importância que o teste tem dentro de um processo de desenvolvimento de software. Aparentemente, gastar algum tempo a mais fazendo testes, pode ser mais eficaz do que ter que corrigir uma falha que foi para produção por pura falta de atenção. Testar não é fácil e rápido, porém corrigir bugs <a href="http://blog.objectmentor.com/articles/2007/11/25/bugs-kill-productivity-and-schedule-accuracy">pode ser mais demorado ainda</a>. <img src='http://www.marcossousa.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/10/10/testes-porque-nao-fazer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

