Com base na definição dos requisitos da ferramenta e do plano traçado, iniciou-se a pesquisa das ferramentas que conseguiriam atender os requisitos da forma desejada. Procurou-se inicialmente chegar a uma lista ferramentas que poderiam alcançar os requisitos. Isto foi possível através de pesquisas realizadas em alguns trabalhos e artigos como: Um processo de verificação e validação para o middleware ginga, Caroca (2010), e Automação Em Testes Ágeis, Silva e Moreno (2011).
Verificou-se rapidamente que com apenas uma ferramenta não seria possível alcançar os requisitos especificados, da forma explicitada na sessão 5.2.2. Para alcançá-los se necessitaria de uma ferramenta para o gerenciamento do que tange os testes de verificação e validação e outra para tratamento das não conformidades. As principais ferramentas elencadas inicialmente foram:
Testlink: Conforme descreve Caroca (2010), o Testlink é uma ferramenta Open Source, de arquitetura WEB, para gerenciamento de casos de teste e a sua execução. Esta ferramenta permite facilmente criar e gerenciar casos de teste, bem como organizá-los em planos de teste e associá-los a requisitos. Esses planos de teste permitem que membros da equipe de teste executem os casos de teste e rastreiem resultados de testes, além de permitir gerar relatórios, gráficos, priorizar e atribuir tarefas. Ela opera
nativamente com sistemas de gerenciamento de não conformidades conhecidos como o Bugzilla, Mantis, Redmine, entre outros (TESTLINK, 2010).
Salomé TMF: Conforme a descrição de Silva e Moreno (2011), o Salomé TMF é uma ferramenta que apoia o processo de teste. Ele permite criar casos de teste, executar testes, registrar os resultados, gerenciar os requisitos e os defeitos do sistema e produzir relatórios de resultados em HTML. Possui integração configurável com o software de controle de não conformidades Mantis.
Mantis: Conforme a descrição de Silva e Moreno (2011), o Mantis é uma ferramenta WEB para controle de não conformidades. Ele possui um controle de bugs por projetos e é possível controlar severidade, estado e prioridades. Para tratamento dos bugs, existe um controle de usuários e perfis de usuários, trazendo um bom controle para o gerenciador do projeto quanto a responsabilidades e atribuições.
Redmine: Conforme descreve Caroca (2010), o Redmine é um software livre e de código aberto, gerenciador de projetos e ferramenta de gerenciamento de bugs. Para tratamento das não conformidades, existe um controle de usuários e perfis de usuários. Permite que documentos sejam anexados e, por ser um software de gerenciamento de projetos também, permite a criação de tarefas de em geral, wiki, notícias, entre outras funcionalidades. Ele contém calendário e gráficos de Gantt para ajudar na representação visual dos projetos.
Diante da lista de ferramentas obtida através da pesquisa, procurou-se definir as ferramentas prioritárias para análise, uma para o gerenciamento dos testes de verificação e validação e outra prioritária para o gerenciamento das não conformidades.
Verificou-se através do artigo de Fleischer (2012), que existe uma popularidade grande em organizações que possuem um plano de garantia da qualidade de software pela utilização da ferramenta Testlink. Além disso, esta ferramenta consegue ser integrada com muitas ferramentas de gerenciamento de não conformidades, fazendo com que exista um dinamismo maior no momento de determinar a ferramenta de gerenciamento de não conformidades, conforme
Testlink(2010). Diante disso, a prioridade de escolha para a ferramenta de gerenciamento de testes foi dada à Testlink.
A outra ferramenta necessária, para gerenciamento de não conformidades, seguiu o mesmo princípio de escolha. Ambas as ferramentas citadas acima são integráveis com as ferramentas de gerenciamento de testes elencadas, porém o Redmine apresentou inicialmente um maior número de funcionalidades, visto que além de uma ferramenta para controle não conformidades, é também uma ferramenta de gerenciamento de projetos. Sua interface propicia também uma curva de aprendizado maior ao usuário, visto que é mais amigável.
Seguindo o projeto de avaliação, iniciou-se a verificação dos requisitos e a forma como as ferramentas atendem as necessidades. A primeira ferramenta a passar pela avaliação foi a Testlink. Para a determinação do tratamento dos requisitos por parte do Testlink, utilizou-se principalmente a documentação da própria ferramenta, de Testlink (2010). A segunda ferramenta analisada foi a Redmine. A avaliação desta ferramenta buscou verificar o atingimento dos requisitos do software em uma situação de aplicação do mesmo como gerenciador de não conformidades. Basicamente se utilizou a documentação do próprio Redmine para determinar o atingimento.
O atingimento dos requisitos foi documentado na tabela 2, onde se compara o requisito à ferramenta que atende o requisito proposto.
Tabela 2: Verificação do atingimento dos requisitos na ferramenta Testlink.
Requisito Tipo de
requisito Classificação Atingimento Ferramenta
Permitir a criação
requisitos Funcional Recomendado Completo Testlink Permitir a criação de
plano de testes Funcional Obrigatório Completo Testlink Permitir a criação de
casos de testes Funcional Obrigatório Completo Testlink Permitir a atribuição Funcional Recomendado Completo Testlink
de responsáveis Permitir classificação
do caso de teste quanto à verificação
ou validação
Funcional Desejável Completo Testlink
Permitir categorização de
testes
Funcional Recomendado Completo Testlink
Permitir classificação por abordagem do
teste
Funcional Recomendado Completo Testlink
Permitir informar a
estratégia de teste Funcional Recomendado Completo Testlink Permitir a definição
de cronograma Funcional Desejável Parcialmente Testlink Permitir informar
parâmetros de entrada
Funcional Obrigatório Completo Testlink
Permitir informar
parâmetros de saída Funcional Obrigatório Completo Testlink Permitir informar o
comportamento esperado
Funcional Obrigatório Completo Testlink
Permitir definir o estado de execução
do caso de teste
Funcional Recomendado Completo Testlink
Permitir informar e consultar o resultado
do teste
Funcional Obrigatório Completo Testlink
Permitir informar o tempo para execução
do teste
Funcional Desejável Completo Testlink
anexo Redmine Controle de não
conformidades Funcional Obrigatório Completo
Testlink e Redmine Possuir campo para
descrição da não conformidade
Funcional Obrigatório Completo Redmine
Possibilidade de priorização para
resolução
Funcional Desejável Completo Redmine
Permitir definir responsável pela não
conformidade
Funcional Recomendado Completo Redmine
Possuir controle de estado atual da não
conformidade
Funcional Desejável Completo Redmine
Permitir atribuições
diferentes por usuário Funcional Desejável Completo
Testlink e Redmine Possuir relatório para
verificação do andamento do
projeto
Funcional Obrigatório Completo Testlink
Permitir
relacionamento entre caso de testes e
requisito
Funcional Desejável Completo Testlink
Possuir funcionalidade para
métricas
Funcional Obrigatório Completo Testlink
Arquitetura WEB Não
funcional Obrigatório Completo
Testlink e Redmine Multiusuário Não
funcional Obrigatório Completo
Testlink e Redmine Integração entre Não Recomendado Completo Testlink e
99
ferramentas funcional Redmine
Open source ou software livre
Não
funcional Obrigatório Completo
Testlink e Redmine
Diante da avaliação realizada através da tabelas 2, percebeu-se que ambas as ferramentas atenderam aos critérios definidos no plano de avaliação, estando aptas a serem aplicadas em um projeto protótipo para o laboratório de criação e aplicação de software. Ficou constatado também que nenhum requisito ficou descoberto. Todos os requisitos funcionais são alcançados através de uma das duas ferramentas e os não funcionais por ambas. A partir deste atendimento, descartou- se a avaliação das demais ferramentas elencadas anteriormente, estando assim o autor apto a iniciar a implantação das ferramentas.
6 IMPLANTAÇÃO DAS FERRAMENTAS E APLICAÇÃO EM UM PROJETO