Exibindo evidências de teste no TestLink

Como todos sabem, o TestLink é uma ferramenta OpenSource para gerencia de Testes de Software com inúmeras funcionalidades já desenvolvidas e homologadas, mas como todas as ferramentas do mundo, não atende, por si só, todas as necessidades de uma empresa ou de um processo, por isso, a algum tempo vendo estudando os padrões dessa ferramenta e as oportunidades de melhoria.

Uma das melhorias, foi a inclusão do escopo dos requisitos no plano de teste, que já documentei no post “Exibindo corpo dos requisitos nos relatórios do TestLink“, para a versão 1.8.3, inclusive essa modificação está presente nos fontes que estão disponíveis no final desse post atualizadas para a versão 1.8.4 (incluindo as modificações descritas abaixo).

Outra razão me levou modificar a estrutura do testlink, e essa modificação eu acredito ser mais interessante que a anterior.

O testlink possui duas funcionalidades que não são integradas. Uma é o relatório de execução de teste ou simplesmente “Relatório de Teste” e a outra é o anexo de arquivos após a execução dos testes.

Para exemplificar eu criei um projeto chamado “Favorite series” e algumas suítes de teste com nomes de alguns seriados que eu assisto como The Big Bang Theory, Dexter, Flash Foward etc. Optei por usar esses casos de teste para esquecermos um pouco a implementação dos casos de teste e observarmos a nova funcionalidade sem distrações.

“Executei os testes” desse projeto e tentei cobrir as 3 condições:
-Execução sem evidência: Quando não temos evidências anexadas a execução do caso de teste
-Evidência no formato de imagem: Quando anexamos por exemplo, “o print da tela”
-Evidência em formato diferente de Imagem: Quando anexamos um arquivo qualquer como xml, rar etc.

Outras hipóteses também demonstradas:
-Quando temos múltiplas evidências
-Quando temos múltiplas evidências de tipos diferentes
-Quando temos Título na evidência
-Quando não temos Título na evidência

Primeiramente, vamos entender como é o relatório:
O TestLink nos disponibiliza a opção de emitir o relatório para execução dos testes com as seguintes  sessões:
-Mostrar índice: Exibe o índice por suítes de teste
-Descrição da Suíte de Teste: Exibe a descrição que cadastramos na criação das Suítes
-Mostrar Pré-condição: Exibe as pré-condições dos casos de teste
-Mostrar corpo do caso de teste: Exibe o passo a passo dos casos de teste
-Palavras-Chave relacionadas ao CT: Exibe as palavras chave que estão vinculadas ao caso de teste
-Campos personalizados do caso de teste: Exibe os campos customizados dos casos de teste
-Requisitos Relacionados ao CT: Exibe o título requisitos vinculados a cada caso de teste
-Corpo dos requisitos do caso de teste(*): Exibe o escopo dos requisitos vinculados aos casos de teste
-Resultado testes: Exibe o status da ultima execução do caso de teste
(*)  – Essa funcionalidade não é nativa do TestLink, para mais informações clique aqui.

Abaixo um exemplo que está descrito acima:
old

Se imprimirmos a suíte de teste “The Big Bang Theory” nesse modelo temos o seguinte relatório:
oldTBBT* A cor vermelha no Último Status “Com falha” é outra melhoria que ainda estou terminando.

As informações acima são suficientes para sabermos quem executou o caso de teste, se ele foi ou não aprovado e em qual release ele foi executado, mas para ser mais completo poderia exibir a evidência para facilitar a identificação do defeito ou para provar a execução do teste já nesse relatório.

Por esse motivo, incluí uma nova opção chamada “Evidências de teste” de acordo com a imagem abaixo:
new

O mesmo relatório apresentado acima, agora exibindo as evidências de teste:
Exibição da evidência sem título:
NewTBBT01Exibição da evidência de teste com título:
NewTBBT2

*Dividi em duas imagens para facilitar a visualização e exemplificar duas situações.

Agora vou mostrar outros exemplos atendendo a nossas situações acima:
-Quando não temos evidências anexadas a execução do caso de teste
SemEvi
-Quando anexamos um arquivo qualquer como xml, rar etc. / Quando temos múltiplas evidências

doiscasos

A customização acima pode ser implementada em qualquer TestLink com algumas adaptações, ou na versão 1.8.4 apenas usando os arquivos abaixo:

Arquivos modificados:
.\testlink\lib\functions\print.inc.php
.\testlink\lib\results\printDocument.php
.\testlink\lib\results\printDocOptions.php
.\testlink\locale\pt_BR\strings.txt
.\testlink\gui\javascript\testlink_library.js

Os arquivos cima estão disponíveis para downloado no pacote Evidence.zip disponível no final do post.

Modificações:

print.inc.php
Nesse arquivo é que fazemos a maior parte das modificações, na verdade, aqui é que estão as verdadeiras modificações.
Vou separar as modificações desse arquivo em três partes:

Parte 1 :  Inclusão da Label “test_evidence”, “without_evidence” e “not_img”
Incluímos a label “test_evidence” para que a modificação fique no padrão mult-language do TestLink.
print_inc

Parte 2 :  Inclusão da dos filds typeEvidence, FilePath, file_name, atttitle e de multiple touples
Incluímos os seguintes campos:

typeEvidence: tupla que indica qual o tipo da evidência (anexo).
FilePath: caminho da evidência (anexo)
file_name: nome da evidência (anexo)
atttitle: Título da evidência (anexo)
Também mudamos o terceiro parâmetro do “get_recordset” para 999 para que exiba mais de uma evidência.

print_inc2

Parte 3 : lógica de exibição
Aqui informamos quando as evidências que serão exibidas , os títulos e a formatação apresentada.

Também usamos uma comparação para determinar quais são as evidências que devem ser apresentadas na linha 608.
Note que hoje, a customização aceita 3 tipos de imagens, PNG, JPG e BMP.
-Sugiro usar somente png, pois ocupa menos espaço que bmp e tem mais qualidade que jpg.
print_inc3

printDocument.php
Nesse arquivo vamos tornar a implementação disponível de acordo com a necessidade, incluindo no array uma nova posição chamada evidence.

printDocument

printDocOptions.php
Nesse arquivo vamos tornar a implementação disponível de acordo com a necessidade, incluindo uma opção de exibir ou não as evidências de teste.
printDocOptions
strings.txt
Nesse arquivo incluímos a string “test_evidence” para atender ao padrão multilanguage do TestLink
strings

testlink_library.js
Nesse arquivo incluímos a opção de Evidência de teste para funcionamento do extJS

testlink_library

release 1.0
Versão inicial.
Arquivos Fontes:
Evidence.zip

release 1.1 (bug fixed)
Funcionando com FireFox
Exportando para MS Word – Writer.
Arquivos Fontes: Evidence.zip (Release Corrente)

Para a versão TestLink 1.9.1 acesse http://www.bugbang.com.br/?p=1466

ATENÇÃO: O implementado acima foi testado e homologado por mim e algumas pessoas da minha equipe, ainda existem bugs conhecidos, mas nenhum que tenhamos considerado crítico. Algumas das funcionalidades implementadas ainda não estão de acordo com o padrão do TestLink e futuramente uma nova implementação para corrigir esses problemas. Caso tenha deseje essas melhorias, sugiro que me encaminhe um e-mail (camilo@camiloribeiro.com) solicitando ou e acompanhe a publicação no meu blog (blog.camiloribeiro.com). Caso encontre algum defeito ou tenha uma sugestão de como essa “melhoria pode ser melhorada” pode ser encaminhada também. Antes de qualquer modificação, eu sugiro fortemente que sejam feitos os backups, testes em um ambiente diferente do de produção e que a melhoria/atualização seja feita por uma pessoa com conhecimentos em PHP, MySQL e preferencialmente do próprio TestLink. Não me responsabilizo pelas modificações, mas fico disponível a ajudar em eventuais problemas ou mesmo a prestação de consultoria acordada em todo o Brasil.

Outras observações:
-Funciona somente para versão do relatório HTML. (não para Word, Writer, etc) (Corrigido na versão 1.1)
-Homologada somente para pt_br.
-Versões 1.8.3 e 1.8.4

Gostaria de avaliar essa melhoria ou experimentar o testlink antes de gastar tempo estudando a ferramenta?
Acesse: http://testlink.camiloribeiro.com
Usuário: visitante
Senha: visitante*2009

Obrigado por experimentar com responsabilidade! :)
Aproveite para me indicar defeitos encontrados e sugerir melhorias. Obrigado!

Caso tenha interesse em implementar essa funcionalidade ou outra qualquer nos sistemas TestLink, Bugzilla ou Mantis, eu ficarei disponível para ajudar ou colaborar em qualquer aspecto :)

Bons Testes :)

Agradecimento especial:
Vanessa Vaz pela revisão do post.

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.

62 thoughts on “Exibindo evidências de teste no TestLink

  1. Boa Tarde!

    Gostaria de saber se para versão 9.1.2 a opção de anexar arquivos (imagens) e sair nos relatórios, está funcionando.
    Obrigada

  2. Hi. I’m looking for the report which will include possible attachments (zip files for me). This one looks like it. But I cannot follow your local language, so I leave a comment. Will this work with 1.9.3 (or even 1.9.4)? If there is zip file attached at execution time, how will it show in the report? is it a link to file, if the report is html, or is it just a filename? what is shown, if there is no attachment at all for some cases?
    Thanks, Jykke.

  3. Primeiro parabéns funcionou certinho a customização.
    Chegasse a desenvolver alguma coisa pra exibir as imagens associadas ao caso de testes nos relatórios?
    Quando estou exportando pra word fica somente uma lacuna em branco e a imagem não é exibida.
    Até mais…

  4. Muito obrigado Anderson,

    Tem muito tempo que não trabalho com o Testlink, mas pelo que me lembro a implementação desse post é só para o relatório mesmo :(
    Sim, essa é uma limitação da funcionalidade. O que eu fazia na época era exportar para pdf usando algum mecanismo de print2pdf.

    Obrigado novamente.

    Camilo

  5. Amigo,

    O relatório “Relatório de Teste” (default) do TL não apresenta o campo “Data ” (data de execução do teste), você teria alguma ideia de como realizar essa melhoria?

    Desde já agradeço.

  6. existen modificiaciones para la versio 1.9.9 respecto al tema de la evidencias.. Saludos desde chile :D

Leave a Reply