Controle de Bugs – Parte 2: Bugzilla

On 7 de novembro de 2014 by Johnnatan Messias

No tópico anterior falamos sobre outra ferramenta para controle de bugs, MantisBT (link). Agora, nesse post será explicado sobre o Bugzilla.

Introdução:

Bugzilla_logoDesenvolver softwares robustos requer todo o conhecimento dos desenvolvedores e o cumprimento dos prazos necessários para alcançar a conclusão do projeto. Claro, ainda, torna-se necessário todas as práticas de Engenharia de Software para agilizar e organizar o desenvolvimento do projeto. Senso assim, utilizar ferramentas que beneficiem a organização e controle de versões é de extrema importância. Todo software implementado possui bugs, defeitos e imperfeições nos códigos, de modo a causa algum dano ao produto desenvolvido podendo ser identificados pela equipe de desenvolvimento ou até mesmo pelo próprio usuário.

Bugzilla: O que é?

Bugzilla é uma ferramenta WEB, open source, responsável por gerenciar bugs reportados no projeto de desenvolvimento. Originalmente desenvolvido e usado pela Fundação Mozilla, o Bugzilla, pode ser utilizado em vários sistemas operacionais como Windows, Linux e Mac OS X

Possuiu as seguintes características:

  • Estrutura otimizada do banco de dados para melhorar o desempenho e ser escalável
  • Excellent segurança para proteger a confidencialidade
  • Ferramenta avançada de query de modo a lembrar suas pesquisas
  • Integração com email
  • Edição dos perfis dos usuários e preferencias de email
  • Permissões de sistema
  • Possibilidade de instalação de extensões

Instalação:

Para instalar o Bugzilla antes de mais nada devemos chegar os requisitos mínimos:

  • Um banco de dados compatível (MySQL, Oracle, PostgreSQL, SQLite)
  • Perl 5
  • Alguns módulos Perl
  • Servidor WEB compatível (Apache)
  • Servidor SMTP para envio de e-mails

Levando em consideração que está tudo configurado e o servidor atende aos requisitos mínimos iniciaremos o procedimento para a instalação do Bugzilla. Consideraremos a utilização do Apache como servidor WEB e MySQL para o banco de dados e o sistema operacional Linux Ubuntu Server. Caso seja necessário realizar a instalação dessas ferramentas as devidas informações poderão ser encontradas aqui.

Logo será necessário realizar o download do Bugzilla, para isso basta acessar a página oficial (link) e realizar o download da versão mais recente. No nosso caso, será a versão Bugzilla 4.4.6.

Após a realização do download será necessário descompassar o arquivo bugzilla-4.4.6.tar.gz para isso utilizaremos o seguinte comando via Terminal:

[sourcecode language=”bash” collapse=”false”]
tar -xvf bugzilla-4.4.6.tar.gz
[/sourcecode]

A partir da execucao do comando acima o arquivo seré descompactado, criando o diretório bugzilla-4.4.6. Paa facilitar vamos renomeá-lo para bugzilla utilizando o seguinte comando via Terminal:

[sourcecode language=”bash” collapse=”false”]
mv bugzilla-4.4.6 bugzilla
[/sourcecode]

Agora será necessário mover o diretório bugzilla para o diretório visível pelo Apache na WEB. Geralmente é o diretório /var/www/

Para isso será necessário executar o comando via Terminal, utilizando o modo sudo:

[sourcecode language=”bash” collapse=”false”]
sudo mv bugzilla /var/www/
[/sourcecode]

Agora será necessário executar uma série de comandos a fim de instalar de fato o Bugzilla.  O processo de instalacao é baseado no script chamado checksetup.pl. Nesse caso devemos acessar o diretório do bugzilla localizado em /var/www/bugzilla. Para isso basta executarmos o seguinte comando via Terminal:

[sourcecode language=”bash” collapse=”false”]
cd /var/www/bugzilla/
[/sourcecode]

E agora executar o arquivo checksetup.pl com a checagem dos módulos Perl. Para isso será necessário entrar com o comando via Terminal, em modo sudo:

[sourcecode language=”bash” collapse=”false”]
sudo ./checksetup.pl –check-modules
[/sourcecode]

Logo após será informado que há módulos não instalados, para instalar basta executar o comando:

[sourcecode language=”bash” collapse=”false”]
sudo /usr/bin/perl install-module.pl –all
[/sourcecode]

Para a configuração do banco de dados será necessário rodar o script checksetup.pl de modo que o arquivo localconfig seja gerado. Para isso vamos executar o seguinte comando com permissão sudo via Terminal:

[sourcecode language=”bash” collapse=”false”]
sudo ./checksetup.pl
[/sourcecode]

Realizada essa etapa o arquivo localconfig será gerado e é nele que devemos incluir as configurações do bando de dados. Logo vamos abri-lo e editar os campos: webservergroupdb_driver, db_host, db_name, db_user, db_pass.

  • Em webservergroup substituiremos a string apache por www-data, ficando assim: $webservergroup = ‘www-data’;
  • Como, em nosso exemplo, estamos utilizando o banco de dados MySQL então o db_driver ficará assim: $db_driver = ‘mysql’;
  • No db_host, como o banco de dados está instalado e executando no mesmo servidor o db_host ficará definido como localhost: $db_host = ‘localhost’;
  • Será necessário fornecer o nome que será utilizado para a criação do banco, sendo assim, em db_name  iremos deixar o padrão: $db_name = ‘bugs’;
  • Para a conexão com o banco de dados MySQL será necessário fornecer o usuário, nesse caso substitua a string myUser pelo seu usuário: $db_user = ‘myUser’;
  • Para a conexão com o banco de dados MySQL será necessário fornecer a senha do usuário, nesse caso substitua a string myPassword pela senha do seu usuário: $db_pass = ‘myPassword’;

Para realizar a edicao do arquivo localconfig você pode utilizar quanto o vi. Nesse caso os comandos necessários para utilizar o vi para edição podem ser encontrados (aqui).

Em seguida basta executar o script checksetup.pl novamente com permissão sudo via Terminal. Vale lembrar que nesse passo o Bugzilla será, de fato, instalado e por esse motivo serão solicitadas informações referentes ao usuário que serão utilizadas para realizar o login no Bugzilla, como:

  • E-mail do usuário administrativo
  • Nome do administrador
  • Senha do administrador

[sourcecode language=”bash” collapse=”false”]
sudo ./checksetup.pl
[/sourcecode]

Caso ao acessar o Bugzilla pela url: http://localhost:80/bugzilla for exibido somente texto será necessário, portanto, incluir as seguintes linhas no arquivo httpd.conf localizado no diretório /etc/apache2/:

[sourcecode language=”bash” collapse=”false”]
<Directory /var/www/bugzilla>
AddHandler cgi-script .cgi
Options +ExecCGI
DirectoryIndex index.cgi index.html
AllowOverride Limit FileInfo Indexes Options
</Directory>
[/sourcecode]

Agora será preciso reiniciar o apache. Isso pode ser realizado mediante a execução do comando via Terminal:

[sourcecode language=”bash” collapse=”false”]
sudo /etc/init.d/apache2 restart
[/sourcecode]

Caso ainda o problema persista bastará limpar o cache do navegador e executar a url: http://localhost:80/bugzilla novamente.

Após esses passos o sistema estará instalado e pronto para usar como podemos conferir na imagem abaixo.

O usuário e a senha de acesso administrativo foram definidos na tela de configuração do checksetup.pl, sendo o login o e-mail cadastrado.

Bu

Conclusão:

Escolher uma ferramenta para controle de bugs é extremamente importante uma fez que a equipe poderá se organizar melhor para a correção desses bugs, ainda poderá obter logs dos bugs e informações gráficas da quantidade de bugs reportados e corrigidos. Essa é uma boa prática no desenvolvimento para reportar e corrigir bugs, sendo muito importante para o andamento do projeto e para a consistência do sistema.

Agora o Bugzilla está pronto para ser utilizado pela sua equipe de desenvolvimento.

Link para acesso do Bugzilla: http://localhost:80/bugzilla

Referências

  1. Bugzilla (link)
  2. Bugzilla on Wikipedia (link)
  3. Bugzilla on Wikipedia English (link)
  4. Install Bugzilla on Linux via The Geek Stuff (link)
  5. Vi via Colorado State University (link)

5 Responses to “Controle de Bugs – Parte 2: Bugzilla”

  • Legal o review, falta agora o review do Redmine. Falo isso pq no meu projeto de estágio curricular estou implantando ele na empresa onde trabalho. Seria interessante para poder compartilhar a impressão obtida com a ferramenta!

    • Ola Ramon,

      podemos fazer sim. Poderia comentar a respeito?

      • Sim, mês q vem vou ter o relatório do estágio pronto, posso encaminhar. Estou implantando Redmine + Git numa empresa com 5 pessoas, achei Redmine melhor q o Mantis, mais organizado, já o Bugzilla não testei. Redmine possui muita mais recursos e atende diversas demandas das empresas.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *