Taxonomia de Defeitos
A taxonomia de defeitos é uma classificação hierárquica que agrupa defeitos de software em diferentes categorias e subcategorias com base nas suas características e causas.
Esta ferramenta facilita na análise de padrões de defeitos e na implementação de estratégias de prevenção e correção.
Importância da Taxonomia de Defeitos
Identificação sistemática
- Facilita na identificação e classificação de defeitos. 
- Ajuda a entendermos a origem e natureza dos defeitos. 
Análise de padrões
- Permite fazer uma análise de padrões de defeitos recorrentes. 
- Ajuda na detecção de áreas problemáticas no desenvolvimento de software. 
Priorização de correções
- Ajuda a priorizar os defeitos reportados, com base na sua criticidade e frequência. 
- Permite desenvolver uma abordagem focada na correção dos problemas mais impactantes. 
Melhoria Contínua
- Fornece-nos dados para analisar a causa-raiz dos defeitos e trabalhar na prevenção de futuros defeitos. 
Estrutura da Taxonomia de Defeitos
A taxonomia de defeitos pode variar dependendo do contexto e das necessidades da organização, mas normalmente inclui as seguintes categorias principais:
- Defeitos Funcionais - Relacionados com o comportamento incorreto do software, em relação aos requisitos funcionais especificados. - Exemplo: Uma funcionalidade de cálculo que devolve resultados incorretos. 
 
 
- Defeitos de Desempenho - Relacionados com a velocidade, a capacidade de resposta e a eficiência do software. - Exemplo: Demasiado tempo no carregamento de uma página web. 
 
 
- Defeitos de Usabilidade - Relacionados com a facilidade de utilização e experiência do utilizador. - Exemplo: Interface do utilizador confusa ou difícil de utilizar. 
 
 
- Defeitos de Segurança - Relacionados com as vulnerabilidades do software com possíveis ataques e acessos não autorizados. - Exemplo: Falha na validação dos dados de login, que permite ataques de injeção de SQL. 
 
 
- Defeitos de Compatibilidade - Relacionados à incapacidade do software de funcionar em diferentes ambientes e plataformas. - Exemplo: Uma aplicação que não funciona corretamente num sistema operativo específico. 
 
 
- Defeitos de Confiabilidade - Relacionados com a frequência e a gravidade de falhas que podem acontecer durante a utilização do software. - Exemplo: Aplicação que bloqueia frequentemente, sem qualquer motivo aparente. 
 
 
- Defeitos de Manutenibilidade - Relacionados com dificuldade de manutenção e atualização do software. - Exemplo: Código fonte de difícil compreensão e manutenção, devido à falta de documentação e/ou má organização/gestão. 
 
 
Exemplos Práticos de Aplicação
Exemplo 1: Software de comércio electrónico
- Defeito Funcional - Descrição: A funcionalidade de cálculo do total do carrinho de compras está incorreta. 
- Categoria: Funcional. 
- Correção: Rever e corrigir a lógica de cálculo. 
 
- Defeito de Desempenho - Descrição: A página de checkout demora muito tempo para carregar. 
- Categoria: Desempenho. 
- Correção: Optimizar o código e melhorar a infraestrutura do servidor. 
 
- Defeito de Usabilidade - Descrição: Os botões de acção no carrinho de compras não são intuitivos. 
- Categoria: Usabilidade. 
- Correção: Redesenhar a interface do utilizador para existir maior clareza. 
 
Exemplo 2: Sistema de Gestão Hospitalar
- Defeito de Segurança - Descrição: Vulnerabilidade que permite o acesso não autorizado aos registos dos pacientes. 
- Categoria: Segurança. 
- Correção: Implementar medidas de segurança adicionais, como a autenticação de dois fatores. 
 
- Defeito de Compatibilidade - Descrição: O software não funciona corretamente nos dispositivos móveis. 
- Categoria: Compatibilidade. 
- Correção: Adaptar a interface e funcionalidade para que exista compatibilidade com dispositivos móveis. 
 
- Defeito de Confiabilidade - Descrição: O sistema bloqueia durante a entrada de dados dos pacientes. 
- Categoria: Confiabilidade. 
- Correção: Identificar e corrigir a causa-raiz do bloqueio. 
 
Melhores Práticas na Utilização da Taxonomia de Defeitos
- Documenta cada defeito com detalhes, incluindo a categoria, a descrição, o impacto e a solução encontrada. 
- Analisa regularmente os defeitos reportados, para identificar padrões e áreas problemáticas. 
- Treino da equipa de desenvolvimento e de testes na utilização da taxonomia, para garantir uma classificação consistente. 
- Utiliza ferramentas de gestão de defeitos que suportem a categorização e análise de defeitos. 
- Utiliza o feedback dos utilizadores e da equipa para refinar e melhorar a taxonomia de defeitos. 
A taxonomia de defeitos é uma ferramenta valiosa para melhorar a eficiência e eficácia dos testes de software.
Permite uma identificação, classificação e priorização sistemática dos defeitos, facilitando a análise de padrões e a implementação de estratégias de melhoria contínua.
Ao aplicar uma taxonomia de defeitos de maneira consistente, as equipas de desenvolvimento podem garantir a entrega de software de qualidade, correspondendo melhor às necessidades dos utilizadores finais.

