﻿<?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>The Bug Bang Theory &#187; Gestão de Defeitos</title>
	<atom:link href="http://www.bugbang.com.br/?feed=rss2&#038;cat=3" rel="self" type="application/rss+xml" />
	<link>http://www.bugbang.com.br</link>
	<description>Qualidade e Engenharia de Software</description>
	<lastBuildDate>Thu, 20 May 2010 22:42:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Onde está o defeito?</title>
		<link>http://www.bugbang.com.br/?p=366</link>
		<comments>http://www.bugbang.com.br/?p=366#comments</comments>
		<pubDate>Fri, 12 Feb 2010 01:17:46 +0000</pubDate>
		<dc:creator>Camilo Ribeiro</dc:creator>
				<category><![CDATA[Gestão de Defeitos]]></category>

		<guid isPermaLink="false">http://www.camiloribeiro.com/blog/?p=366</guid>
		<description><![CDATA[A maioria dos analistas de teste e testadores não sabe onde estão o defeito que eles encontram, ou em outras palavras, não analisam nem acompanham o defeito após encontrá-lo, ou quando fazem, podem fazer de maneira incorreta, o que de certa forma é mais prejudicial do que se não fizessem.

Na verdade, é quase impossível, até mesmo [...]]]></description>
			<content:encoded><![CDATA[<p>A maioria dos analistas de teste e testadores não sabe onde estão o defeito que eles encontram, ou em outras palavras, não analisam nem acompanham o defeito após encontrá-lo, ou quando fazem, podem fazer de maneira incorreta, o que de certa forma é mais prejudicial do que se não fizessem.</p>
<p><img class="size-full wp-image-395 alignleft" title="defeito" src="http://www.camiloribeiro.com/blog/wp-content/uploads/2009/11/defeito.PNG" alt="defeito" width="321" height="235" /></p>
<p>Na verdade, é quase impossível, até mesmo para um analista de teste experiente dizer com certeza que o defeito que ele encontrou é de software, requisitos, análise, desenho, configuração etc. Os defeitos mentem, e isso é um fato que vamos ter que conviver cada vez mais, já que a cada dia a complexidade dos projetos de software aumenta e com ela a complexidade dos defeitos e da arquitetura do software em desenvolvimento.</p>
<p>A atividade de gerência de defeitos é uma das atividades mais importantes para o projeto e principalmente para a organização. Com uma boa gerência de defeitos, vários indicadores podem ser utilizados para conhecer e melhorar os processos e a capacitação dos profissionais.</p>
<p>Alguns dos indicadores* são:</p>
<p>•TD (Total de Defeitos)<br />
•DD (Detecção de Defeitos)<br />
•DDG (Detecção de Defeitos Graves)<br />
•TDG (Total de Defeitos Graves)<br />
•ETS (Eficiência de Teste de Software)<br />
•ERR (Eficiência de Revisão de Requisitos)</p>
<ul></ul>
<p><em>*Em um próximo post vou falar sobre métricas e indicadores.</em></p>
<p>Apesar de ser uma ferramenta muito importante, a gerência de defeitos muitas vezes é usada de forma incorreta ou não é aproveitado o seu potencial, ficando limitada a um <em>workflow</em> do<em> Bugzilla</em> ou do<em> Mantis</em>.</p>
<p>Como os defeitos não são analisados, as pessoas não se importam com onde eles foram encontrados, nem com quando eles foram encontrados, até o dia que um determinado projeto está com problemas e alguém pede uma métrica de &#8220;<em>bugs</em>&#8221; por desenvolvedor, normalmente solicitado por uma pessoa que não tem experiência como analista de testes ou está iniciando na carreira de coordenador/gerente de projetos.</p>
<p>Esse é o grande perigo. Como citado no <em>post</em> <a href="http://www.camiloribeiro.com/blog/?p=1" target="_blank">Bug is Dead!</a>, a idéia de &#8220;<em>bug</em>&#8221; da uma impressão muito ruim dos desenvolvedores, pois <em>bugs</em> são de software, e software quem faz são os desenvolvedores e programadores. O ideal para evitar esse tipo de mal entendido, é catalogar os defeitos de forma a saber de onde eles vieram e não quem causou o defeito.</p>
<p>Nenhum defeito pode ser atribuído somente a uma pessoa no projeto, mas sempre a um conjunto de eventos, que, de não conseguiram evitar que esse problema fosse inserido em determinado momento do processo.</p>
<p>Agora vou dizer uma coisa que pode te assustar prezado leitor:</p>
<p><strong>A identificação da <span style="text-decoration: underline;">origem </span></strong><strong>do defeito <span style="text-decoration: underline;">não</span> é de responsabilidade do profissional que encontrou o defeito.</strong></p>
<p>Muito simples, o profissional de testes ou quem encontrou o defeito, não pode saber claramente a sua origem, não pode dizer com certeza absoluta onde o defeito estava. Se estava no código, se era no ambiente, uma configuração do servidor, um problema de compatibilidade etc.</p>
<p>A única pessoa que tem essa informação é quem corrige o defeito. Ele é o único que sabe com 100% de certeza onde o defeito estava.</p>
<p>A responsabilidade de acompanhar essa informação e de garantir sua integridade sim, é de responsabilidade do gerente de defeitos, que normalmente é uma pessoa da qualidade ou teste de software. Por isso é importante acompanhar o andamento dos defeitos, preferencialmente todos os dias, de forma a manter o controle e rastreabilidade entre o defeito e sua origem.</p>
<p>Outra situação que acontece com frequência com novos testadores, é que assim como a nossa querida Tia Cida que sem querer escreveu &#8220;Café com defeito&#8221; quando na verdade o defeito estava no repositório de colheres da máquina de café. É um exemplo bobo e divertido, mas muito próximo do que acontece com algumas pessoas. Por vezes, os defeitos são descritos de forma pouco detalhada, com informações insuficientes para sua reprodução, com falta de atenção ou as vezes detalhado demais, dificultando sua interpretação.</p>
<p>Não existe uma forma de garantir que a descrição do defeito esteja perfeita, mas uma técnica que venho usando com sucesso é a substituição do passo a passo pelos procedimentos (passo a passo) do caso de teste que detectou o defeito.</p>
<p>Dessa maneira, a pessoa que corrigiu o defeito executa um teste de regressão e não um teste de confirmação. O mesmo acontece quando o testador recebe o defeito para verificar/validar, ao invés de executar um teste de confirmação, limitado as condições únicas daquele defeito, ele executa um teste de regressão, garantindo que aquela funcionalidade continua funcionando mesmo após a correção daquele defeito.</p>
<p>Caso o teste tenha sido detectado por um teste exploratório, o testador pode criar um Caso de Teste numa suíte especial, para aquele defeito (considerando o resultado esperado), e somente em seguida deve cadastrar o defeito na ferramenta de gestão de defeitos. Essa é uma pratica do XP que também da muito certo.<br />
<em> *O detalhamento dessa e outras práticas pode ser lido no post &#8220;</em><a href="http://www.camiloribeiro.com/blog/?p=373" target="_blank"><em>Práticas XP ajudando na efetividade do teste de software</em></a><em>&#8220;.</em></p>
<p><em>Bons Testes <img src='http://www.bugbang.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><em><img style="border-width: 0;" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" alt="Creative Commons License" /></em></a></p>
<p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Onde+est%C3%A1+o+defeito%3F+http://bit.ly/dxTbnD+BugBang" title="Postar no Twitter"><img class="nothumb" src="http://www.bugbang.com.br/wp-content/plugins/tweet-this/icons/tt-twitter-big3.png" alt="Post to Twitter" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.bugbang.com.br/?feed=rss2&amp;p=366</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bug is dead!</title>
		<link>http://www.bugbang.com.br/?p=1</link>
		<comments>http://www.bugbang.com.br/?p=1#comments</comments>
		<pubDate>Tue, 11 Aug 2009 03:18:46 +0000</pubDate>
		<dc:creator>Camilo Ribeiro</dc:creator>
				<category><![CDATA[Gestão de Defeitos]]></category>

		<guid isPermaLink="false">http://camiloribeiro.com/blog/?p=1</guid>
		<description><![CDATA[Nosso tradicional bug, ainda é o bug de 1945, atribuído a construção e a engenharia. Se pensarmos nas fases do RUP, o bug é identificado em um código fonte ou em um produto de trabalho derivado da fase de construção ou identificado em um produto já em testes, homologação ou produção. Isso está certo?]]></description>
			<content:encoded><![CDATA[<p>Estou escrevendo esse post para passar para frente um pensamento que tenho ha algum tempo sobre o nosso popular termo &#8220;BUG&#8221;.</p>
<p>Acredito que todo mundo já conhece essa história e nunca cansa de contar para todas as pessoas que perguntam o porquê desse termo, levando em consideração a conotação de defeito de software que é atribuído a esse termo.</p>
<p>O que quero perguntar é: Esse termo ainda é adequado?</p>
<p><img class="size-full wp-image-30 alignleft" title="deadbug" src="http://camiloribeiro.com/blog/wp-content/uploads/2009/08/deadbug.gif" alt="deadbug" width="187" height="187" /></p>
<p>Meu ponto de vista é que o nosso tradicional bug, ainda é o bug de 1945, atribuído a construção e a engenharia. Se pensarmos nas fases do RUP, o bug é identificado em um código fonte ou em um produto de trabalho derivado da fase de construção ou identificado em um produto já em testes, homologação ou produção.</p>
<p>O problema é que ao longo de vários anos estamos aprendendo que o bug, aquele que está no código fonte, não é o único problema proveniente da engenharia de software, na verdade, muitas das vezes ele é somente uma consequência de um defeito em outra atividade ou em outro produto de trabalho.</p>
<p>O que quero deixar bem claro é que não considero a nomenclatura errada, apenas acredito que o termo não é o <span style="text-decoration: underline;">mais adequado</span> no cenário atual, levando em consideração a conotação de <strong>defeito de software</strong> que é atribuído a esse termo.</p>
<p>Acredito que existam tantos defeitos quanto papeis dentro de um processo de fabricação de software. Logo o Gerente de Projetos erra e gera defeitos de planejamento, o analista de negócios/requisitos erra e gera defeitos de requisitos e assim por diante.</p>
<p>Todos os papeis ou até mesmo atividades de um processo podem gerar problemas no software ou sistema desenvolvido, o problema é que muitas vezes chamamos isso de não conformidade e não fazemos a coleta adequada desses números. Mas os defeitos sempre estão gerenciados pelo Bugzilla, pelo Mantis ou por uma ferramenta “bugtracker” qualquer.</p>
<p>Quando acontece algum problema em um projeto, os primeiros dados medidos e comparados são os bugs, sim os que cadastramos para os desenvolvedores. Esses bugs sempre tem origem no software e sempre são de responsabilidade dos programadores.</p>
<p>Mas e os defeitos de requisitos? E as mudanças de cronograma? E os defeitos que podiam ser identificados antes e agora estão mais caros porque os analistas de teste não identificaram no momento mais adequado?</p>
<p>Bom, esses são meus argumentos para justificar o título desse post. Acho que o BUG está morto, e é tempo para pensarmos em defeitos como produtos de trabalho, exceções das atividades de todos envolvidos no processo. É tempo de aliviar um pouco os nossos desenvolvedores e fazer a equipe assumir os problemas como devem ser assumidos.</p>
<p style="text-align: center;"><a href="http://camiloribeiro.com/blog/wp-content/uploads/2009/08/defeitodesoftware.JPG"><img class="aligncenter size-medium wp-image-38" title="defeitodesoftware" src="http://camiloribeiro.com/blog/wp-content/uploads/2009/08/defeitodesoftware-300x175.jpg" alt="defeitodesoftware" width="500" height="293" /></a></p>
<p>Importante, não quero dizer para apontarmos responsáveis por defeitos, ou para ficar medindo o índice de defeitos de cada colaborador, mas sim para dentro dos nossos processos termos como argumentar a entrada da equipe de teste e qualidade o mais cedo. Mostrar que podemos verificar os requisitos e identificar defeitos que mais tarde iriam virar bugs de software, mostrar que às vezes nos não conhecemos tão bem os nossos próprios processos ou pior, às vezes achamos que conhecemos bem e tomamos decisões ineficazes para resolver problemas com base nas suas conseqüências e não na sua raiz.</p>
<p>Sugiro uma reflexão sobre as métricas que usamos para gerir nossos defeitos, conscientização de que todos nós falhamos e aos poucos vamos conseguindo identificar onde devemos melhorar a equipe, onde podemos melhorar os processos, quem precisa de mais capacitação e investimento, etc.<br />
<br />
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Bug+is+dead%21+http://bit.ly/dtl5KD+BugBang" title="Postar no Twitter"><img class="nothumb" src="http://www.bugbang.com.br/wp-content/plugins/tweet-this/icons/tt-twitter-big3.png" alt="Post to Twitter" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.bugbang.com.br/?feed=rss2&amp;p=1</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
