Pular para o conteúdo principal






   Gestão de defeitos




O Gerenciamento de defeitos no processo de teste de software é apresentar algumas propostas para a inserção dessa prática nas empresas que atuam na área de testes de software.

Visão geral
É importante lembrar ao leitor alguns conceitos básicos que irá facilitar o entendimento da gestão de defeitos.
Erro: resultado de uma falha humana.
Defeito: resultado de um erro existente num
código ou num documento. 

Como podemos ver, os defeitos são resultados de erros existentes no software ou em outros artefatos desenvolvidos por pessoas.

O processo de gestão de defeitos se baseia nos seguintes princípios:

O  objetivo primordial é evitar defeitos. Todas as novas técnicas de teste de software - principalmente aquelas voltadas para as áreas independentes de teste - procuram desenvolver os testes desde o início do projeto de desenvolvimento do software. Ao testarmos os requisitos, com toda certeza estaremos tentando evitar que defeitos ocorram em outros estágios do desenvolvimento do software.

Um dos princípios básicos para evitar defeitos é minimizar os riscos, não só os do projeto de desenvolvimento do software como também os do projeto de teste. Quanto menores forem os riscos, menores serão os defeitos encontrados.

Atualmente, quase todos os testadores usam ferramentas de automação para registro e gestão dos defeitos. A integração com os desenvolvedores nesse caso, deve ser priorizada, para que as duas equipes atuem em conjunto e hamornia. Esse ponto de vista de dois projetoss paralelos (teste e desenvolvimento).

A automação da gestão de defeitos é um fator muito importante de sucesso. Existem, na internet várias ferramentas livres que permitem essa automação a custos vem baixos.

A Melhoria contínua só poderá ser alcançada quando o material coletado pela gestão de defeitos vier a ser usado pelos desenvolvedores e testadores com a intenção de otimizar seus trabalhos. Quem já estudou o CMMI sabe que, nesse modelo, existem áreas de processo que tratam dessa questão.

O ideal seria qua a área de teste seguisse o modelo CMMI a fim de alcançar níveis de maturidade que permitam seu funcionamento adequado. Processos errados são fontes primárias de erros.

Conceito de defeito

Um defeito normalmente ocorre em função de algum desvio em relação ao que foi estabelecido nos requisitos:

Defeitos decorrentes da falta de concordância com as especificações do produto. As especificações dizem uma coisa e o software faz outra. Por exemplo, o gestor, ou usuário, define que todos os clientes que façam mais de cinco compras devem receber um tratamento especial. Se, ao  testarmos a funcionalidade, após a quinta compra nenhuma mudança de tratamento ocorrer, o software estará apresentando um defeito de concordância com o que foi especificado que ele fizesse.

Defeitos descorrentes de situações inesperadas, mas não definidas nas especificações do produto.
O gestor ou usuário não definiu nada nas especificações, porém o software age de maneira inesperada em determinadas situações. Por exemplo, após 99 compras, o software passa a não considerar o cliente como cliente especial, conforme descrito no exemplo anterior. Nesse caso, haveria várias categorias de cliente segundo o número de compras; se, entretanto, preenchermos o campo com 99, o software não "saberá" o que fazer. Essa classificação mostra, de maneira bastante genérica, que os defeitos podem decorrer da falta de entendimento do requisito ou simplesmente da falta de definição do requisito. Talvez seja melhor classifica-los conforme o tipo, o que faremos a seguir.

Comentários

Postagens mais visitadas deste blog

A Origem da Internet

Para se entender o conceito de Internet, a rede mundial de computadores (World Wide Web), deve regressar-se às décadas de 1960 e 1970 para se entender como se tornou um dos meios de comunicação mais populares em todo o mundo. Teve origem no período da guerra fria entre os Estados Unidos da América e a ex-União Soviética. O governo norte-americano queria desenvolver um sistema em que os seus computadores militares rapidamente conseguissem trocar informações entre si, de uma base militar para outra e que em caso de ataque nuclear os dados não se perdessem.   Queria uma tecnologia em que fosse “impossível” perder a informação. Foi desta forma que surgiu então a ARPANET, o antecessor da Internet, um projeto iniciado pelo Departamento de Defesa dos Estados Unidos. Este sistema garantia a integridade da informação caso uma das ligações de rede sofresse um ataque inimigo, pois o tráfego de informação poderia ser automaticamente encaminhado para outras ligações. O mais curioso é que r...

Qualidade para Sistemas Legados

  Na metodologia atual quando se tratar de colocar o conceito de Qualidade para Sistemas legados a tendência é um ganho muito alto na satisfação dos operadores do Sistema. Primeiramente quando se trata de uma ferramenta que está em uso algumas culturas existentes tem que ser quebrada, tem muita gente que tem medo dessa palavra por achar que isso impactaria diretamente no processo de trabalho e a perda seria muito alto em relação as demandas que são solicitadas para correção, pois bem quando estamos trabalhando com homologação de sistema nos deparamos com o grave problema de encontrar sistemas legados sem nenhuma documentação. Um conceito errado em relação as demandas do mercado, como nunca no mundo ninguém é insubstituível sempre terá as mudanças internas de pessoas e isso irá acarretar ainda mais o processo do sistema e assim a disponibilização de versão com vários erros. Nos deparamos com o grande problema da falta de documentação, é que não sabemos se aquilo que o An...

Homologação de Sistemas (Tipos de Testes)

Homologação de Softwares Testes de Unidade:     Estágio mais baixo da escala e testes, sendo aplicados nos menores componentes de código criados, visando garantir que estes atendem ás especificações funcionais e de arquitetura, Normalemente feito pelo programador. Testes de Iteração ou Integração:  Testes de sistema ao término de cada iteração, dentro de um ambiente operacional controlado, para validar a exatidão e perfeição na execução de suas funções, referentes aos casos de uso da iteração. Normamente feito pelo analista de sistema para um módulo ou conjunto de programas. Testes de Aceitação:  É a última ação de testes antes da implantação do software, sendo de responsabilidade do cliente. O objetivo deste testes é verificar se o software está pronto e pode ser usado por usuários finais para executar as funções  tarefas para as quais foi construído. Normalmente feito pelo usuário em ambiente de homologação. Tipos de Testes de -Funciona...