O documento descreve o Bugzilla, uma ferramenta open source desenvolvida pela Mozilla Foundation para rastreamento de bugs. Ele explica que o Bugzilla permite associar bugs a módulos e versões, implementa um ciclo de vida completo para cada bug, e fornece funcionalidades como contas de usuário, registro de bugs e comentários. Também discute as tecnologias como Perl e Template Toolkit usadas no desenvolvimento do Bugzilla.
2. 1. Introdução
É uma
ferramenta
desenvolvida
pela fundação
mozilla que tem
como objetivo
principal o
rastreamento de
bugs e
requisições de
alteração em um
sistema.
Empresas que
utilizam: NASA,
red hat, etc.
Desenvolvedores
podem utilizar
esta ferramenta
para manter o
controle de bugs
de forma eficaz.
3. 2. Conceitos e
Funcionalidades
• Cada bug é associado a um
módulo (produto e
componente) e à versão em
que está presente.
• O Bugzilla implementa um
ciclo de vida completo para
cada bug.
• Ao lado temos a imagem de
um bug sendo exibido em um
formulário Bugzilla.
5. • As operações principais são diretamente
ligadas às atividades de manutenção:
criação de um novo bug, triagem,
revisão, escalonamento, discussão e
fechamento e a obtenção de relatórios e
consultadas baseados na propriedade
do bug.
• Características essenciais do Bugzilla
para suportar tais operações:
1- Contas de usuário
2- Cadastro de bugs
3- Comentários
4- Anexos
5- Interface de consulta -----
6- Integração com correio eletrônico
6. 3. Tecnologias utilizadas no Bugzilla
• O Bugzilla é uma ferramenta open source
• Ela é composta por diversas páginas ‘www’, implementadas
como scripts CGI(que é uma tecnologia que permite gerar
páginas dinâmicas, permitindo a um navegador passar
parâmetros para um programa alojado num servidor web).
• Sua linguagem principal de desenvolvimento é o Perl e o
código gerado pelo processamento do CGI inclui o HTML,
CSS e Javascript.
• O template Toolkit é utilizado para a elaboração das
páginas.
7. 4. Funcionalidades implementadas
na ferramenta Bugzilla
1. Atualização dinâmica de controles do formulário de busca
Antes:
A funcionalidade permitia que, ao selecionar um produto, as listas de versão,
componente e versao-alvo atualizassem para conter apenas os elementos
respectivos daquele produto.
Problema:
Instalacões Bugzilla com um grande número de produtos e componentes, esta
atualizacao demorava muito além do tempo de resposta aceitavel para um
website interativo.
Solução:
Para resolver esta questão, foram reprojetadas as estruturas de dados onde
estavam armazenadas as listas de produtos, componentes, versões e versões-
alvo. Além disso, foram implementadas funções Javascript para sintetizar
vetores e ordená-los.
8. 2. Reprojeto da interface de listagem de
dependencias
Antes:
O Bugzilla possui uma interface que exibe os
bugs de forma grafica em uma árvore de
dependências. A página original exibia listas
de dependências de uma forma não-
selecionável.
Problema:
Isso ocasionava problemas quando árvores
eram visualizadas com grande profundidade,
o que ocorria frequentemente em grandes
projetos.
Solução
Foram implementadas alterações na barra
de controle de visualização dos bugs para
permitir exibição seletiva.
9. 5. Considerações
• Bugzilla é uma solução comprovada que apóia
grandes projetos e bases de usuários. As
funcionalidades de seu workflow são mais do que o
suficiente para a maioria das organizações. Por
outro lado, Bugzilla é particularmente complicado
de instalar e gerenciar. E a interface do usuário não
possui boa usabilidade.