rastreamento de bugs

Dama de xadrez cercada por peças de xadrez caídas

O que é controle de bugs?

O rastreamento de bugs é o processo de registrar e monitorar bugs ou erros durante os testes de software. Também é conhecido como rastreamento de defeitos ou rastreamento de problemas.

Sistemas grandes podem ter centenas ou milhares de defeitos. Cada um precisa ser avaliado, monitorado e priorizado para depuração. Às vezes, os bugs podem precisar ser rastreados por um longo período.

"O rastreamento de defeitos é um processo importante em engenharia de software, pois sistemas complexos e críticos para os negócios têm centenas de defeitos," diz Tutorials Point. "Um dos fatores desafiadores é gerenciar, avaliar e priorizar esses defeitos. O número de defeitos se multiplica ao longo do tempo e, para gerenciá-los efetivamente, um sistema de rastreamento de defeitos é usado para facilitar o trabalho."1

Vista aérea de rodovias

Fique por dentro da nuvem 


Receba o boletim informativo semanal do Think para ver orientações especializadas sobre a otimização das configurações multinuvem na era da IA.

Como funciona o rastreamento de bugs

Um bug de software ocorre quando uma aplicação ou programa não funciona da maneira que deveria funcionar. A maioria dos erros são falhas ou enganos feitos por arquitetos de sistema, designers ou desenvolvedores. As equipes de teste usam o rastreamento de bugs para monitorar e relatar erros que ocorrem à medida que uma aplicação é desenvolvida e testada.

"Um componente principal de um sistema de rastreamento de bugs é um banco de dados que registra fatos sobre bugs conhecidos," de acordo com a Wikipedia. “Os fatos podem incluir a hora em que um bug foi relatado, sua gravidade, o comportamento errôneo do programa e detalhes sobre como reproduzir o bug; bem como a identidade da pessoa que o denunciou e de quaisquer programadores que possam estar corrigindo o problema.” 2

Durante sua vida útil, um único defeito pode passar por várias etapas ou estados. São eles:

  • Ativo: investigação em andamento
  • Teste: corrigido e pronto para teste
  • Verificado: retestado e verificado pela garantia de qualidade (QA)
  • Fechado: pode ser fechado após o retrabalho de QA ou se não for considerado um defeito
  • Reaberto: não corrigido e reativado 3

Os bugs são gerenciados com base na prioridade e gravidade. Os níveis de gravidade ajudam a identificar o impacto relativo de um problema em um lançamento de produto. Essas classificações podem variar em número, mas geralmente incluem alguma forma dos seguintes:

  • Catastrófico: causa falha total do software ou perda de dados irrecuperável. Não há solução alternativa e o produto não pode ser lançado.
  • Funcionalidade prejudicada: pode existir uma solução alternativa, mas é insatisfatória. O software não pode ser lançado.
  • Falha de sistemas não críticos: existe uma solução alternativa razoavelmente satisfatória. O produto pode ser lançado se o bug for documentado.
  • Menor: há uma solução alternativa ou o problema pode ser ignorado. Não impacta um lançamento de produto.

Geralmente, os estados e níveis de gravidade são monitorados em um banco de dados de rastreamento de bugs. Uma boa plataforma de rastreamento também se integra a sistemas maiores de gerenciamento e desenvolvimento de software: melhor para avaliar o status do erro e o impacto potencial na produção geral e nos prazos.

IBM DevOps

O que é DevOps?

Andrea Crawford explica o que é DevOps, seu valor e como suas práticas e ferramentas ajudam você a migrar suas aplicações por todo o pipeline de entrega de software, desde a concepção até a produção. Conduzido pelos principais líderes da IBM, o conteúdo foi concebido para ajudar os líderes empresariais a adquirir o conhecimento necessário para priorizar os investimentos em IA que podem estimular o crescimento.

Por que o rastreamento de bugs é importante

Estima-se que os desenvolvedores de software cometam de 100 a 150 erros a cada mil linhas de código.4 De acordo com um relatório do Consortium for IT Software Quality (CISQ): “Mesmo que apenas uma pequena fração, digamos, 10%, desses erros seja grave, então uma aplicação relativamente pequena de 20.000 linhas de código terá aproximadamente 200 erros graves de codificação." 5

O teste de software é essencial para isolar e mitigar erros. Um bom processo de QA pode revelar centenas ou até milhares de defeitos, e as equipes de teste precisam gerenciar todos eles. Integrar o rastreamento de bugs ao fluxo de trabalho de teste melhora a eficiência, ajudando os testadores a priorizar, monitorar e relatar o status de cada erro.

"O rastreamento de defeitos ajuda a garantir que os bugs encontrados no sistema sejam realmente corrigidos", diz a consultora ágil, Yvette Francino. "As ferramentas de rastreamento não apenas fornecem uma maneira de garantir o acompanhamento, mas também fornecem métricas valiosas. Dependendo da ferramenta que é usada, a equipe pode vincular defeitos ao código alterado, testes ou outros dados que permitirão rastreabilidade ou análise sobre tendências de defeitos.” Se um certo módulo está repleto de defeitos, pode ser hora de revisar e reescrever o módulo." 6

Idealmente, os testes devem ser feitos o mais cedo possível, pois os bugs são mais fáceis e muito menos custosos de serem corrigidos nesta fase. Um estudo anterior da IBM descobriu que defeitos encontrados após a produção ou após o lançamento podem custar 15 vezes mais para corrigir em comparação com erros resolvidos no início do desenvolvimento.

Muitas equipes agora estão usando uma metodologia conhecida como teste contínuo. Neste caso, testes de qualidade e feedback são conduzidos em todas as etapas do desenvolvimento, desde o design e codificação até a implementação. Tecnologias modernas como a inteligência artificial (IA) também podem auxiliar o processo de teste ao detectar e analisar bugs no início do ciclo de vida.

Características principais do rastreamento de bugs

O controle de qualidade é crítico para o desenvolvimento de aplicações robustas. Ferramentas de gerenciamento de mudanças em testes de software e rastreamento de bugs permitem que as equipes descubram defeitos, meçam seu escopo e impacto e os resolvam.

Na Harvard Business Review, Nicholas Bowen delineia um processo para gerenciar defeitos. O primeiro passo é classificar e priorizar: "Geralmente, as equipes priorizarão dois tipos de bugs: aqueles que fazem o sistema falhar e aqueles que são menos graves, mas podem ser pervasivos... Em seguida, decida seu tempo de resposta alvo para cada nível de gravidade. Se o sistema de gerenciamento de qualidade é novo, então o foco inicial deve ser na correção dos bugs mais graves dentro de horas ou dias. Ao utilizar seu sistema, você pode coletar dados sobre duas métricas chave: taxas de bugs recebidos e a produtividade dos responsáveis pela correção dos bugs, e ajustar seus objetivos conforme necessário." Ele diz que as organizações também precisam criar um sistema onde os defeitos e o tempo necessário para resolvê-los possam ser revisados em todos os níveis, do CEO para baixo.7

Um bom sistema de rastreamento de bugs pode auxiliar esse processo fornecendo um fluxo de trabalho único para monitoramento de defeitos, relatórios e rastreabilidade do ciclo de vida. Ele deve ainda se integrar a outros sistemas de gerenciamento para visibilidade compartilhada e feedback tanto dentro do desenvolvimento de software quanto na organização mais ampla. O IBM® Rational® ClearQuest®, por exemplo, oferece uma plataforma centralizada para rastreamento e relatório de erros. Ele se integra a outros sistemas de desenvolvimento e gestão de mudanças da IBM, ajudando a melhorar a comunicação e colaboração entre desenvolvedores, operações e equipes mais amplas.

Além disso, procure por sistemas de teste e rastreamento que utilizem IA para detectar erros no início do processo de desenvolvimento. Isso pode otimizar o número e os tipos de testes que as equipes executam, automatizar o processo de teste e usar IA para analisar defeitos passados e preveni-los no futuro.

Soluções relacionadas
IBM DevOps Accelerate

Automatize a entrega de software para qualquer aplicação no local, na nuvem ou no mainframe.

Explore o DevOps Accelerate
Soluções de DevOps

Utilize softwares e ferramentas de DevOps para desenvolver, implementar e gerenciar aplicativos nativos da nuvem em diversos dispositivos e ambientes.

Explore as soluções de DevOps
Serviços de consultoria em nuvem 

Libere novos recursos e aumente a agilidade dos negócios com os serviços de consultoria em nuvem da IBM. Descubra como cocriar soluções, acelerar a transformação digital e otimizar o desempenho por meio de estratégias de nuvem híbrida e parcerias especializadas.

Serviço de nuvem
Dê o próximo passo

Libere o potencial do DevOps para criar, testar e implementar aplicativos seguros nativos da nuvem com integração e entrega contínuas.

Explore as soluções de DevOps Descubra o DevOps em ação