Usando TestLink para Garantia de Qualidade

A alguns dias recebi um e-mail de uma amiga da comunidade de testes DFTestes (Fabiana Maronez), perguntando como usar o TestLink para gerenciar o QA (Garantia de Qualidade).
A maioria de nós certamente pensaria que é uma idéia um pouco distorcida. Usar uma ferramenta de gerência de testes para realizar QA? Mas com um pouco de criatividade e vontade de eliminar as planilhas, pensei em uma solução que pode atender o que a nossa colega solicita.

Para quem ainda não está habituado, podemos dizer que Quality Assurance (ou simplesmente QA) são atividades de auditoria que os processos baseados em modelos de melhoria como o CMMi e as ISO possuem para garantir que o processo está sendo seguido adequadamente. Para isso, normalmente são usadas planilhas e mais planilhas, com vários critérios. Essas planilhas são usadas de várias formas diferentes, desde uma para cada artefato até uma para cada projeto, mas a dificuldade de gerar relatórios e coletar indicadores quase sempre é surreal.

Obs: Para perfeita compreensão desse post, é necessário conhecimento básico em QA e na ferramenta TestLink. Recomendável também um conhecimento básico sobre CMMi.
Termos usados entre parênteses na cor verde ” (exemplo) ” simbolizam o que seria feito no TestLink em um projeto de teste.

Abaixo vou demonstrar uma forma de gerenciamento das auditorias com redução significativa do esforço:

1 – Criar um produto do TestLink para o QA.
(Criar um produto do TestLink)


projeto

É importante usar a opção  “Gerenciar Requisitos”, para futuramente usarmos rastreabilidade das práticas para os Casos de Auditoria*.
*Casos de auditoria é um nome improvisado que eu arrumei para classificar casos de teste voltados para o processo, substituindo os tradicionais critérios.

2 – Cadastrar as práticas.

(Cadastrar especificações de requisitos e requisitos)

Praticas

O cadastro das práticas é opcional, mas agrega muito valor, pois facilita a compreensão do fundamento da existência de cada”caso de auditoria” . Não existe uma forma definitiva de inserir as praticas, mas no caso do CMMi, uma forma que eu achei muito interessante é criar Especificações de requisitos para cada PA (Process Area) e um requisitos para cada SG (Specific Goal) e SP (Specific Practice), como ilustrado acima.

3 – Criar os casos de auditoria
(Especificar casos de teste)
CasoAuditAo criar os casos de auditoria, é importante usar o nosso conhecimento em casos de teste para definir pré-condições, procedimentos e resultados esperados, muito próximo do que fazemos com os casos de teste para nossos softwares.
Normalmente, os QAs são realizados somente com critérios, o que torna o processo de auditoria muito custoso, pois qualquer pessoa que precise realizar o QA deve antes ser muito treinada no processo e no modelo de melhoria de processos adotado. A ultilização de casos de auditoria, além de gerenciar e simplificar métricas do QA, torna o processo menos dependente de treinamento, e possivelmente adaptável para testadores ou analistas de teste, porque uma pessoa com muito conhecimento do processo e do modelo pode definir um conjunto de casos de auditoria e pessoas com menos conhecimento podem executá-los, assim como analistas de teste e testadores.

4 – Atribuindo práticas ao caso de auditoria
(Vincular requisitos aos casos de teste)
AtribReq Nesse momento vinculamos as práticas que devem ser cobertas pelo caso de auditoria, de forma a criar uma rastreabilidade por prática. Isso será importante para verificar quando cada prática é coberta e quais os casos de auditoria são mais críticos.

Quando cadastramos podemos ver o caso de auditoria como a imagem abaixo:
CasoAudit2Acima podemos ver como cada caso de auditoria fica no final de sua especificação. Com pré-condição, passos descrevendo a sequencia de ações para executá-lo, resultado esperado e práticas vinculadas.

Assim devem ser feitos todos os “critérios” usados para a auditoria. Uma vez cadastrados, podem ser editados e modificados livremente, da mesma forma que os casos de teste de projetos de software.

5 – Definindo projetos
(Criar um Plano de Teste e adicionar Casos de Teste a esse plano)
Todo o trabalho até aqui, é realizado somente uma vez, e modificado sempre que um critério ou caso de auditoria precisa fica desatualizado. De agora em diante, apenas criamos “projetos” (planos de teste do TestLink) e releases para suas auditorias. O trabalho de armazenar as informações e controlar os artefatos e evidências, fica totalmente a cargo da ferramenta.
projCriamos para cada projeto que será auditado, um novo “plano de teste”, que podemos chamar de “plano de auditoria”.
Aqui “começa a mágica”. Podemos definir para cada plano de auditoria um conjunto de casos de auditoria, de forma a permitir a customização do processo.
Para isso, basta selecionar os casos de auditoria no momento de vinculá-los a cada um dos projetos, de acordo com a demonstração abaixo. addACNo exemplo acima podemos selecionar apenas os casos de auditoria que o “Projeto para auditoria 02″ irá usar.

6 – Preparando para executar uma auditoria.
(Criar uma nova release para o plano)
releaseNa demostração acima, ao criar uma release do TestLink estamos criando uma instancia do QA planejado para aquele projeto, ou seja, estamos permitindo a execução dos casos de auditoria para o “Projeto para auditoria 02″.

7 – Executando a auditoria.
(Executar a release)
Agora executamos cada um dos casos de auditoria. A execução é semelhante a tradicional (caso de teste). O resultado pode ser positivo (aprovado), negativo (não-conformidade) ou bloqueado (indisponível), em qualquer caso podemos tomar ações para evidenciar ou complementar a nossa execução.
Evidência de auditoria: Uma evidência como um print do documento, do registro ou qualquer tipo de arquivo que possa comprovar a auditoria pode ser vinculado ao resultado “Passou” da execução.
(Salvar um anexo a execução do caso de teste)
Sucess Não conformidade encontrada: Para as não-conformidades encontradas, normalmente é cadastrado um “bug” no bugzilla ou no mantis, de forma a não conformidade adotar o mesmo workflow dos defeitos. Se esse for o caso, podemos usar a integração Defect Tracking System/TestLink para gerenciar as não conformidades.
(Cadastrar um bug no Bugzilla, Mantis, Eventum ou qualquer outra ferramenta integrada ao TestLink)
fail

Caso o resultado do caso de auditoria tenha sido Bloqueado, o Analista de QA deve informar o motivo do bloqueio nas notas.

8 – Visualizando sumário de auditorias.
(Resultados)
Agora temos todos os relatórios do TestLink, usados para gerenciar nossos casos de teste, aplicáveis aos casos de auditoria usados anteriormente.

Alguns relatórios interessantes:
a – Relatório baseado em requisitos:
Nesse contexto ele nos permite avaliar cada uma das práticas que devem ser atendidas pelo CMMi ou outro modelo de melhoria como ISO ou MPS.BR, do ponto de vista de cobertura por auditoria.
reqCouverage

b – Métricas gerais do plano de auditoria:
Aqui podemos acompanhar a evolução das execuções de várias “auditorias” (releases) de uma forma simples.
rel

Esse post foi motivado por uma não existência de uma ferramenta própria para a execução de auditorias para processos baseados em modelos de qualidade (pelo menos ao meu conhecimento), como a ISO e CMMi, em fábricas de software, onde, normalmente são usados critério difíceis de compreender, em planilhas controladas manualmente, o que causa um desperdício de produtividade e perda da qualidade.

Importante ressaltar que o TestLink não é uma ferramenta própria para essa finalidade, mas podemos aproveitar o conhecimento do TestLink para adaptar um pouco alguns conceitos, desde que seja para melhor. :)

Em breve devo disponibilizar os pacotes para importação com todas as PAs do CMMi Dev1.2 em CSV e outro com uma tradução especial em português usando os termos citados acima.

Estou disponível para questionamentos, críticas e sugestões.

Creative Commons License

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Camilo Ribeiro

Test Engineer at Klarna
Desenvolvedor, testador e agilista desde 2005, atualmente trabalhando na Suécia.

17 thoughts on “Usando TestLink para Garantia de Qualidade

  1. Hello garoto!

    Bem, legal essa ferramenta, mas ainda não vejo ela como sendo a ideal para fazer QAs. No modelo que ela segue, ela parece bastante com o appraisal assistant, que é o utilizando pras auditorias de cmmi. e assim como ela, pode também ser customizada.
    Não consegui achar alternativa melhor, então continuo usando o mega ‘planilhão dinâmico’. Mas o ideal mesmo é que cada empresa tivesse uma ferramenta aderente ao workflow do seu processo.

  2. Hello garota!

    Concordo que uma ferramenta aderente ao workflow do processo é o mundo feliz!
    Assim os QAs seriam ativamos na hora certa, reduzido o retrabalho e facilitando o entendimento do processo.

    Na verdade o TestLink é uma ferramenta de gerência de testes, logo a solução proposta aqui não é uma das mais recomendadas, ainda mais para profissionais experientes como você ;). Mas a aplicação desse tipo de ferramenta é proposta para empresas que dependem de ‘planilhões’ não tão dinâmicos quanto os seus. Com os “Casos de auditoria” podemos ter “conferidores”com menos experiência que os analistas de qualidade efetuando QA de projetos com eficácia otimizada.

    Tem um amigo de blog que recomendou o HP Quality Center.

    Muito obrigado pela participação ;)

  3. Olá Camilo,

    Estou com uma grande dificuldade com o testlink e talvez você possa me ajudar.
    Estou usando-o em minha máquina local, e não consigo adicionar imagens nos Steps dos casos de teste. Até consigo fazer o upload das imagens, porém ao inserir elas não aparecem. Creio que o problema esteja no FCKEditor, porém não achei em nenhum lugar como configurá-lo de modo local.

    Grato pela atenção.

  4. Olá Jeferson,

    Muito obrigado pela visita. Você é sempre bem vindo :)

    Desculpe a demora. Ultimamente estou atualizando pouco o meu blog.

    Não tem problema com o FCKEditor, pelo menos que eu tenha notado.
    O que pode estar acontecendo, sçao problemas com os browsers em dois momentos:
    1 – Ao informar o link, você deve usar o FF3+ ou o IE7+. Infelizmente o Chrome ainda não funciona.
    2 – O FF está me descepsionando ultimamente. Em algumas versões combinadas com o sistema opracional usado, ele tem uma limitação para trabalhar com urls somente usando “/”, enquanto o TestLink hora usa “/” hora usa “\”. Isso depende do sistema operacional que está usando no servidor, pois é ele quem retorna o parâmetro que o TestLink vai usar.

    Experimente verificar essa mesa imagem no IE7 e me retorne se não funcionar.

    Espero ter ajudado.

  5. Boa tarde Camilo,

    Realmente, o problema era o navegador.
    Atualizei o IE para a versão 7 e funcionou.

    Seu blog é excelente. Parabéns!

    Muito obrigado pela ajuda.

    Jeferson

  6. Olá Jeferson,

    É muito bom receber um retorno desse tipo. Principalmente com esse entusiasmo!

    Temos que fortalecer dois lados importantes. O dos profissionais de teste e qualidade de software, que devem ser sempre mais capacitados e preparados, valorizando toda a classe, e o das ferramentas (principalmente open source), como o TestLink. Isso ajuda a criar um padrão do mercado, que beneficia a produtividade das empresas e o conhecimento e qualidade de vida no trabalho dos colaboradores.

    Fico muito feliz em poder compartilhar o pouco que aprendo todos os dias no trabalho, na universidade e nos momentos livres de pesquisa aqui no blog.

    Você é sempre bem vindo. Sinta-se livre para comentar, questionar e criticar qualquer informação disponível aqui.
    Abraços.

  7. Olá Camilo,
    Pode me dar um help?
    Testlink instalado e tudo quase certo.
    Criei um plano de teste, casos de teste…adicionei os casos de teste ao plano, criei o build…
    tudo certinho
    na hora de executar, ele não tras os casos de teste relacionados.

    Já viu isso?

    Obrigada

  8. Camilo,
    Ignore minha pergunta.
    Já consegui resolver!
    Obrigada
    E parabens pelo blog. Não paro mais de acessa-lo

  9. Ola,
    Pode me informar o seguinte: Criei uma nova Suite para validar o cadastro de usuarios, no entando eu tinha uma suite de login: A build de login foi executada.

    Porque o t link contabiliza todos os casos de testes (inclusive os CT’s da Suíte de cadastro?. Ele não teria que contabilizar os cts por Builds?..Px.: Build 1 = 20 CTs – Build 2 = 10 cts. No caso quando olho para a Build 1 ele tem 30 cts!!.

  10. Olá Ana,

    Obrigado pela visita.

    O TestLink organiza os itens para execução através de planos de teste. Os builds são “instancias” do plano de teste executadas, para gravar histórico, acompanhar a evolução do produto e gerar métricas. O que você está querendo fazer é algo que também me interessa muito e futuramente vou tentar criar uma funcionalidade para isso. É a possibilidade de escolher um sub conjunto de casos de teste de um plano para uma release, estou certo?Dessa forma poderia ter um planejamento mais eficaz, direcionado a build e não ao produto, mas por enquanto isso ainda é “conceito”.

    Para solucionar o problema de imediato, eu sugiro usar vários planos de teste para cada conjunto de casos de teste que vai executar, de acordo com o objetivo dos testes mesmo.

    Essa idéia de plano de testes é tão abstrata no TestLink que aqui onde trabalho mudei o nome para “Roteiro” deixando o plano de teste em outra ferramenta.

    Espero ter ajudado.
    Abraços

  11. Olá Camilo!
    ´
    Tenho uma dúvida com relação à integração do TestLink com ferramentas de bugtracking:
    você menciona no item 7:
    “Não conformidade encontrada: Para as não-conformidades encontradas, normalmente é cadastrado um “bug” no bugzilla ou no mantis, de forma a não conformidade adotar o mesmo workflow dos defeitos. Se esse for o caso, podemos usar a integração Defect Tracking System/TestLink para gerenciar as não conformidades.
    (Cadastrar um bug no Bugzilla, Mantis, Eventum ou qualquer outra ferramenta integrada ao TestLink)”

    Após fazermos essa integração, se tivermos um caso de teste ‘com falha’ que esteja com o ID do bug cadastrado, qunado fizermos a reexecução deste teste e gravarmos “OK” no TestLink isso automaticamente responde ao bug aberto com OK também?
    (em caso negativo, qual é a finalidade de se integrar as ferramentas de teste e bugtracking?)

    Tks!
    Erika
    São Paulo-SP

  12. Olá Camilo,
    Utilizo o Test Link para Gerenciar meus Testes e achei muito show sua ideia de utilizar a ferramenta
    em compliance com todas as PA’s do CMMI.
    No final você informou que subiria os pacotes com tudo.
    Você pode me disponibilizar ?
    Acho que sua ideia tem tudo para ser aplicado em varias empresas , pois são poucas pessoas que se motivam a aplicar as melhores praticas e metodologia caso não tenham uma ferramenta adequada.
    Parabéns pela iniciativa.

  13. Camilo,
    Boa tarde.

    Tenho uma dúvida? O Testlink não gerencia BUG aberto?
    Exemplo: Abro um BUG, o desenvolvedor verifica o BUG e insere comentários sobre o BUG aberto e comenta se já foi solucionado ou não.

  14. Olá! Boa tarde!trabalho com um software de documentação docflow.Porém não uso nenhuma ferramenta para teste, mas fui numa palestra onde o palestrante indicou este testlink,mas estou com dificuldade em entender a mesma, pois fiz todos os passos de como usar.Mas no final ela gerou foi relatórios,onde mostra porcentagens.Ela ajudaria em que para fazer meus testes.Agradeço sua atenção.

  15. Camilo, bom dia!

    Estou utilizando a versão 1.9.13 do Testlink, onde existe um issue na importação utilizando o template .csv, ou seja, essa versão não suporta a extensão .csv. Gostaria de saber de você, qual versão você recomendaria atualmente e que possua essa feature?

    Agradeço desde já.

  16. Ola Graziele,

    Obrigado pela visita e pelo comentário.

    Infelizmente eu não posso ajudá-la com essa questão, dado que eu não trabalho com o testlink a vários anos.

    Camilo,

Leave a Reply