Controle de Bugs – Parte 1: MantisBT
Introdução
Desenvolver 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.
Pensando nisso, o Laboratório iMobilis está estudando as ferramentas de controle de bugs: MantisBT e Bugzilla. A primeira ferramenta explicaremos nesse post e a segunda num futuro post.
MantisBT: O que é?
Mantis Bug Tracking é uma ferramenta WEB open source, desenvolvida em PHP, customizável e totalmente balanceada entre simplicidade e desempenho para controle de bugs. Essa ferramenta suporta muitos sistemas de banco de dados, são eles: MySQL, MS SQL, PostgreSQL e DB2.
O Mantis pode ser executado em qualquer servidor, que tenha suporte PHP, rodando Windows, Linux, OS/2, Mac OS X e uma variedade de sistemas operacionais executando Unix.
Possui as seguintes características:
- Experiência do usuário bem simples, possuindo, portanto, uma interface totalmente simples
- Suporte para Projetos, Sub-Projetos e Categorias
- Usuários podem ter diferentes níveis de acesso por projeto
- Busca e Filtro para os resultados
- Sistema de reporte com gráficos e logs
- Notificação por e-mail
- Usuários podem monitorar bugs específicos
- Habilidade de enviar mensagens para os demais usuários de um bug específico
- Projeto Público ou Privado Public, isto é, público quando o projeto é acessível para todos os usuários e privado quando somente ao usuários específico adicionado
- Access de grupo: As ações podem ser aplicadas a múltiplos bugs
- Compatibilidade com o Eclipse
- Possiblidade de instalação de plugins
- Demais características podem ser encontradas aqui
Instalação:
Para instalar o MantisBT será necessário o servidor atender os seguintes requisitos descritos na tabela abaixo.
Categoria | Pacote | Mínima Versão | Recomendada | Comments |
---|---|---|---|---|
RDBMS | MySQL | 4.1.x | 5.0.x ou superior | Extensão PHP: mysql/mysqli |
PostgreSQL | 7.0 | 8.0 ou superior | Extensão PHP: pgsql | |
IBM DB2 | Extensão PHP: ibm-db2 | |||
MS SQL Server | 2005 | 2005 ou superior | Extensão PHP: mssql or sqlsrv | |
Oracle | 8i | 11gR2 | Extensão PHP: oci8 | |
Web Server | Apache | 1.3.x | 2.2.x | – |
lighttpd | 1.4.x | 1.4.x | – | |
IIS | 6.0 | 6.0 | – | |
PHP | PHP | 5.1.x | 5.2.x ou superior | – |
Para realizar a instalação do MantisBT, vamos considerar o PHP, MySQL e Apache 2 devidamente instalados. Caso seja necessário realizar a instalação dessas ferramentas as devidas informações poderão ser encontradas aqui.
Considerando todos os requisitos será necessário, agora, baixar a versão mais recente do MantisBT (aqui). Nesse post vamos considerar a versão MantisBT 1.2.17 que no dia em que o post foi elaborada era a versão mais recente.
Agora, após o download, será necessário descompactar o arquivo baixado. No caso desse exemplo foi o arquivo mantisbt-1.2.17.tar.gz.
Para descompactar esse arquivo basta executar o comando via Terminal:
[sourcecode language=”bash” collapse=”false”]
tar -xvf mantisbt-1.2.17.tar.gz
[/sourcecode]
Após a descompactação será necessário, de preferencia, renomear o diretório mantisbt-1.2.17 para mantis, para a realização dessa etapa será necessário utilizar o comando via Terminal:
[sourcecode language=”bash” collapse=”false”]
mv mantisbt-1.2.17 mantis
[/sourcecode]
Agora será necessário mover o diretório mantis 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 mantis /var/www/
[/sourcecode]
Feito isso, basta acessar a url: http://localhost:80/mantis e a página de instalação e configuração do MantisBT será carregada no browser.
Obs.: Caso apareça uma página dizendo que você não tem acesso ao diretório pode ser um problema de permissão de usuário do Linux. Nesse caso será necessário executar o seguinte comando via Terminal para dar permissão de acesso ao diretório do MantisBT.
[sourcecode language=”bash” collapse=”false”]
sudo chmod 755 /var/www/mantis
[/sourcecode]
Nessa página será necessário preencher alguns campos como:
- Type of Database: Nesse campo será necessário selecionar o tipo do Bando de Dados, nesse exemplo estamos utilizando o MySQL.
- Hostname (for Database Server): Aqui será necessário incluir o IP do servidor do banco de dados, nesse caso como o servidor é o próprio computador então basta incluirmos localhost
- Username (for Database): Usuário do banco de dados. Esse é o usuário com permissões para criar tabelas, bancos e com permissão para executar seleção, remoção, atualização e inserção no banco.
- Password (for Database): Senha do usuário definida no banco de dados
- Database name (for Database): Aqui podemos deixar o default onde será criado um banco com o nome bugtracker
- Admin Username (to create Database if required): Aqui é necessário incluir o usuário com poderes administrativo do banco.
- Admin Password (to create Database if required): Senha do usuário com poderes administrativos
Em seguida basta clicar no botão Install/Upgrade Database para prosseguir com a instalação.
Se todos os testes estiverem marcados como Good significa que que o MantisBT foi devidamente instalado e poderá clicar em Continue para seguir para a tela de Login.
Obs.: O usuário administrador padrazo para o login é:
- Username: administrator
- Password: root
Após logar no MantisBT será necessário trocar a senha e ainda remover o diretório Administrador do servidor. Isso evita que qualquer usuário mal intencionado reconfigure sem a sua permissão as configurações do MantisBT.
Para remover o diretório Admin basta executar o seguinte comando via Terminal:
[sourcecode language=”bash” collapse=”false”]
sudo rm -r /var/www/mantis/admin
[/sourcecode]
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 MantisBT está pronto para ser utilizado pela sua equipe de desenvolvimento.
Link para acesso do MantisBT: http://localhost:80/mantis
Referências
1- Bug Tracking System on Wikipedia (link)
2- Popular Bug Tracking software on Software testing Help (link)
3- MantisBT (link)
4- Bugzilla (link)