terça-feira, 19 de junho de 2007

Montando um ambiente com soluções 100% Opensource

Artigo: Ferramentas para montar um Desenvolvimento 100% Opensource

Autor: Leonardo Molinari

Texto:

1 - Apresentação

“Como escolher um conjunto adequado de ferramentas opensource” é algo que tem se tornado um ponto emergencial em diversos projetos devido aos custos cada vez mais elevados dos mesmos. A escolha de uma ferramenta, por mais barata que seja, tem sempre um custo associado. Apresentar as principais ferramentas opensource existentes, considerando um suíte completo, que suportem a qualidade de um projeto é o objetivo deste artigo.

Para suportar a qualidade de um projeto se necessita ter principalmente os seguintes tipos de ferramentas:

  • Ferramentas de Apoio a Gerência de Projetos: apoio e controle ao gerenciamento do projeto;
  • Ferramentas de Gerência de Requisitos: tratam da gestão e controle dos requisitos do sistema-alvo;
  • Ferramentas de Gerência de Configuração:
    • Controle de Versões: gerenciamento e controle das versões dos itens de configuração (qualquer parte do software do sistema-alvo);
    • Gerência de Defeitos ou Issues: gerenciamento dos itens de problemas, assuntos, ou defeitos no sistema-alvo;
  • Ferramentas de Planejamento e Gerência de Testes: gerenciamento, registro e controle dos testes no sistema-alvo;
  • Ferramentas de Execução de Testes Automatizados: quaisquer ferramentas que permitam a execução de testes de forma automatizada. Foco nas linguagens de desenvolvimento e nas técnicas de testes: “testes de performance em aplicações java”, “testes funcional em aplicações web/html”, etc.

2- O que não será analisado por este artigo

As ferramentas de execução de testes automatizados não serão analisadas aqui, pois para se analisar as ferramentas se deve primeiro saber qual técnica de teste que se deseja utilizar (teste de performance, funcional, unitário, etc) e depois se devee saber qual linguagem de programação-alvo de teste (java, C, C++, etc.). A partir destas variáveis temos um grande número de ferramentas cuja utilização dependerá ainda do processo metodológico que foi definido, para se poder orientar algo.

3- Lista de ferramentas opensource por tipo de ferramentas

·Tipo de Ferramenta: Apoio a Gerência de Projetos

oOpensource: dotProject.net

§http://www.dotproject.net/

§Foco no controle de atividades de tarefas em nível gerencial;

§Permite entrada de atividades em detalhe.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: ___

oOpensource: Open Workbench

§http://www.openworkbench.org/

§Sucessor direto do MS Project. Um clone com foco na estimativa em “tarefas de trabalho”, enquanto MS Project se baseia em estimativa dos recursos para tarefas.

§Foco em múltiplos projetos e permite entrada diária das atividades em detalhe.

§Comparação entre ele e o MS Project:

§http://www.openworkbench.org/index.php?option=com_content&task=view&id=7&Itemid=6

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: SIM

oOpensource: XPMT - eXtreme Project Management Tool

§http://www.tegonal.com/en/products/xpmt/

§Misto de gerência de projeto com metodologia XP.

§Permite controlar de fato um projeto XP com tranqüilidade.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: ___

·

·Tipo de Ferramenta: Gerência de Requisitos

oOpensource: OSRMT

§http://sourceforge.net/projects/osrmt/

§Foco 100% na gerência de requisitos.

§Boa comunidade e bem aceito no mercado.

§Semelhante ao Requisite Pro da IBM/Rational.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: SIM

oOpensource: Jeremia

§http://jeremia.sourceforge.net/

§Foco em gerencia de requisitos, derivados de Casos de Uso da UML.

§Fraca comunidade.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: ___

·Tipo de Ferramenta: Gerência de Configuração - Controle de Versões

oOpensource: Subversion

§http://subversion.tigris.org/

§Veio como uma evolução do CVS.

§Está se tornando padrão em substituição ao CVS, que é antigo e limitado.

§Forte comunidade e bem aceito no mercado.

§Ferramenta que deve ser levada a sério.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: SIM

·Tipo de Ferramenta: Gerência de Configuração - Gerência de Defeitos ou Issues

oOpensource: Mantis

§http://www.mantisbugtracker.com/

§Ferramenta popular de gerência de defeitos e issues.

§Possui um pouco mais de recursos que o Bugzilla, seu concorrente direto.

§Forte comunidade e bem aceito no mercado.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: SIM

oOpensource: Bugzilla

§http://www.bugzilla.org/

§Ferramenta popular de gerência de defeitos (foco exclusivo em gerência de defeitos).

§Forte comunidade e bem aceito no mercado.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: ___

oOpensource: Trac

§http://trac.edgewall.org/

§Ferramenta não tão popular de gerência de defeitos e issues quanto o Mantis e o Bugzilla.

§Fraca comunidade porém é bem aceito no mercado.

§Possui ótima integração com Subversion, o que reforça sua boa aceitação no mercado.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: ___

·

·Tipo de Ferramenta: Planejamento e Gerência de Testes

oOpensource: Testlink

§http://testlink.sourceforge.net/docs/testLink.php

§Boa ferramenta que possui comunidade forte.

§Não possui gerência de defeitos, porém possui gerência de requisitos de testes e gerência de casos de testes.

§Possui integração com diversos outros Opensource, principalmente com o Mantis e o Bugzilla.

§Fácil de instalação.

§Sua estrutura está em PHP com MySql, permitindo boa manutenção/programação e customização.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: SIM

oOpensource: RTH

§http://www.rth-is-quality.com/home.php

§Boa ferramenta porém nova, possuindo comunidade fraca.

§Ferramenta completa: possui gerência de defeitos, gerência de requisitos de testes e gerência de casos de testes.

§Não possui integração com outras ferramentas.

§Fácil de instalação.

§Sua estrutura está em PHP com MySql, permitindo boa manutenção/programação e customização.

§Um ponto fraco claro é a parte de relatórios, porém com uma customização esta limitação se resolve.

§Recomendado(s) (SIM ou vazio) por tipo de ferramenta: SIM

4- Avaliação Geral Final

As ferramentas acima citadas não são as únicas existentes, mas são as que até o momento mais se destacam no mercado opensource.

Na lista acima existem mais de uma ferramenta por tipo de ferramenta. Neste caso a ferramenta mais indicada está destacada da pergunta “O(s) mais Recomendado(s) (SIM ou vazio) Por tipo de ferramenta” ("vazio" indica que não é a que mais recomendo, ou que menos se destaca, mas não quer dizer que não seja uma boa ferramenta pois dependerá do foco desejado e do ambiente envolvido). A única exceção são as ferramentas de Planejamento e Gerência de Testes, onde a escolha de qualquer uma delas pouco interfere no processo como uma todo. O que indicaria uma ou outra, seria o processo de testes que for utilizado.

Quando as ferramentas recomendadas são colocadas num mesmo ambiente basicamente temos uma boa integração entre a maioria delas. Não existe pacote perfeito. Mas as mesmas possuem características que quando colocadas em um mesmo ambiente é possível, com um mínimo de customização, integrá-las.

Pode ser que em um ambiente específico não se use uma ferramenta recomendada cima, porém é importante que se tenha em mente quais as vantagens e desvantagens da sua escolha.

5- Fontes

7 comentários:

Unknown disse...

Leonardo a sua contribuição para a comunidade tem sido muito importante, agradeço essa resenha sobre as ferramentas. Porém, aproveitando, eu gostaria muito que você publicasse sobre as ferramentas de execução de teste automatizadas. Obrigado.

Leonardo Molinari disse...

Caro Amigo,

eu que agradeço pela suas observações, e pode ter 100% de certeza que estarei publicando daqui a algum tempo um artigo somente sobre as ferramentas de execução de testes automatizados. Já estava na minha agenda.

[]s

Leonardo Molinari

Unknown disse...

Olá!
Não está faltando a "Ferramentas de Execução de Testes Automatizados"?

Abraço!

Anônimo disse...

Não tem uma semana que não olhe o seu blog pois sempre tem informações otimas. Adorei suas dicas sobre o ambiente opensource, estou querendo adotar as ferramentas : RTH ou TestLink, mas fiquei na duvida quanto a importação e exportação de Casos de testes. Sabe se as duas suportam Imp/Exp no formato .csv ? Procurei mas não consegui obter essa informação.

Leonardo Molinari disse...
Este comentário foi removido pelo autor.
Leonardo Molinari disse...

Roberta,

os dois fazem, poém a do Testlink está mais madura. A do RTH bem menos. Mas mesmo com estas limitações tem um formato específico de cada um para importação. Náo uma feature muito usada...

Abraços e volte sempre,

ps: tinha esquecido de colocar esta informação, e por isso deletei meu proprio comentario. Se você desejar te envio uma versão que tenho do RTH com um monte de customizações que fiz e uma parte de relatórios está incrementada. Me contacte em lm7k@yahoo.com.br se desejar.

Leonardo Molinari

Anônimo disse...

Leonardo,

vc dispõe de algum relato de ferramenta opensource de Análise por Pontos de Função?

Grato e parabéns pelos comentários desse artigo.

Adauto Santos