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:
Se imprimirmos a suíte de teste “The Big Bang Theory” nesse modelo temos o seguinte relatório:
* 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:
O mesmo relatório apresentado acima, agora exibindo as evidências de teste:
Exibição da evidência sem título:
Exibição da evidência de teste com título:
*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
-Quando anexamos um arquivo qualquer como xml, rar etc. / Quando temos múltiplas evidências
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.
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.
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.
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.
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.
strings.txt
Nesse arquivo incluímos a string “test_evidence” para atender ao padrão multilanguage do TestLink
testlink_library.js
Nesse arquivo incluímos a opção de Evidência de teste para funcionamento do extJS
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)
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.

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

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 
Camilo,
Interessante essa melhoria. Mas aqui na empresa ela não será útil, pois a evidência já é armazenada no Eventum (ferramenta de bugtracking).
Mas de qualquer forma, é mais uma boa melhoria e poderá ser útil para muitas equipes, tanto aqui quanto lá fora. Parabéns! Viva ao open-source!
Abraços!
P.S.: Mais um viciado em The Big Bang Theory (rs), muito bom esse seriado! (aliás, curti o título do blog)
Obrigado pelo comentário Fabrício,
Não sei como funciona aí, mas agente tem a necessidade de armazenar uma evidência para cada execução de cada caso de teste em cada release.
Quando a execução identifica um defeito, ele é armazenado na ferramenta de gestão de defeitos (Bugzilla ou Mantis) e a evidência do defeito é armazenada juntamente com o registro do defeito. Opcionalmente pode ser cadastrada também no TestLink. O defeito, é rastreado para o caso de teste para que depois de sua correção, sejam feitos os testes de regressão necessários.
Mas não tem (tinha) uma forma de exibir as evidências de uma forma rápida, só entrando de caso de teste em caso de teste, por isso não podíamos abrir mão de fazer uma melhoria no TestLink. Mas essa foi bem particular mesmo.
Não conheço o Eventum, mas vou baixá-lo e testá-lo haha. Obrigado pela dica.
PS: The Big Bang Theory é muito bom e obrigado pelo elogio no nome do blog
Olá Camilo!
Ótimo post! É muito bom ter pessoas como tu e como o Fabrício compartilhando seus conhecimentos e cada vez mais contribuindo com a área.
Essa funcionalidade vai estar no Testlink 1.8.6? Eu sou totalmente a favor!!! xD
Infelizmente, não consigo aplica-la de maneira satisfatória também. Eu fiz uma customização parecida, porém todas minhas evidências são anexadas em formato .doc, onde existe um padrão para as evidências.
O que eu estou tentando fazer é inserir um objeto no arquivo word que o Testlink exporta, sendo ele a evidência (também em word). Já tentei fazer isso de várias formas e não rolou, para colocar ele como arquivo “embedded”. Tu já passou por isso?
Mais uma vez, parabés!
Abraços!
[...] Exibindo evidências de teste no TestLink – Camilo Ribeiro (The Bug Bang Theory); [...]
Olá Elias,
Muito obrigado pelo comentário. É muito bom receber um profissional do seu nível aqui no blog
Sobre estar na nova versão (1.8.6), eu mandei a um tempo um e-mail para o Toshiyuki Kawanishi (líder do Teamst) para que ele avalie a implementação, vamos torcer! Além disso coloquei hoje no forum para a comunidade dar uma força e mesmo testar.
Vou confessar Elias. . . Essa questão de aparecer no .doc também me tirou muitas horas de sono. Atualmente estou estudando como o TestLink faz para exportar o company-logo que aparece no relatório, e assim que conseguir entender como está fazendo isso, será fácil implementar para funcionar com as evidências também.
A boa notícia é que estive avançando um pouco nesse aspecto, e acredito que em breve vamos conseguir exportar as evidências no arquivo .doc. Se eu tiver novidades te aviso (e claro, compartilho aqui).
É mais fácil quando crescemos juntos!
Obrigado novamente!
Gostaria de saber como apresentar no Tlink quando um defeito foi testado e esta fechado?. Meu Tlink está integrado com o Mantis.. Uma vez eu vi que o defeito aparece riscado simbolizando que ele foi fechado.
Mas como fazer para mostrar isto?..tipo: No Buil1 aquele determinado CT está com um defeito em aberto e no build 2 este defeito foi corrigido..
mto obrigado..
Boa tarde Alessandra,
O TestLink é uma ferramenta de gerência de testes, ou seja, ele administra os casos de teste, planos de teste, buils e suas execuções. Ele possui uma integração muito simples e aparentemente bem fraca, mas isso tem um motivo muito importante:
As duas ferramentas tem funções diferentes.
O Mantis, assim como o Bugzilla e outras ferramentas de Defect Tracking, são ferramentas de gerenciamento de defeitos, e o fato de um defeito que foi identificado por um caso de teste e foi marcado como resolvido pelo desenvolvedor não pode afetar o status do caso de teste no TestLink. Primeiramente, porque ainda não foi feito o teste de confirmação mudando o status do defeito de resolvido para verificado ou reaberto. Em segundo lugar, mesmo que o defeito tenha sido resolvido, isso não garante que o caso de teste esteja aprovado, pois outros defeitos podem ser encontrados no mesmo caso de teste.
Quando a exibir isso nos relatórios, é meio complicado para o TestLink administrar isso, mas através do “Métricas Gerais do Plano de Teste” você consegue avaliar os testes do ponto de vista de regressão, através de todas as versões/builds do software em teste.
Espero ter ajudado.
hi, Camilo:
My friend, many thanks to your fine share with this, I have tried it and it works now in HTML report;
Here is another thing I need your help, I want to generate the MS word report with these images or pictures show, not links; but by now, I got the wrong link with these pictures, none of them can be shown in the doc reprot.
Could you please do me a favor to implement this? thank you very much! BTW, I am from China, I am so sorry I can not use Portuguese, hope my English not confused you.
Hi farmingchox,
Thank you for the nice visit from China.
The some time that I do not change this feature because I do not knew what was necessary to make it work with FireFox and print to MS Word, but today, after read you message, I had hope to understand what was wrong, and really it was easier than I thought.
I implemented the new feature and it is available in this page, with the release 1.1.
I hope that can help you.
Best regards.
Hi, Camilo:
I got your release 1.1, and it does meet my requirement;
I am so grateful to your quickly response. You are really help us a lot. Hope I can learn more from you about test.
Again, thanks!!!
Hello Farmingchox,
Software Testing born as an art (the art of software testing, 1979 – Myers) and the art is for all of us!
I’m so happy for your visit, comments and time spend reading my “crazy little” posts about software testing and TestLink. Have people from China, Colombia, EUA, Finland and a lot of countries is enought to pay for all time spend with it.
Really thank you all my readers!
hello, Camilo:
I am so appreciate your work attitude on this;
Sorry I have to bother you again; since there is lots of test cases, sometimes I need print the special cases filtered by the last execute status (pass/failed/……) into MS word. Now, the test report print all of them, for us, it is too large amount to review. How can we do this filter? I tried to modify the code, but I am not familiar with PHP. after spending one whole day on this, I have to give up, be embarrassed~~~~~~~~~.
Can you help me do this? thanks for your kindly help!
Hello Farmingchox,
Thank you again.
Ps: It is not an motivate to be embarrassed and it is not bother me.
I am always available to help who needs
I recommend you to create a test suite with the test cases that you need show the evidences (prints).
You create an test suite called “Special Suite” (or any name) and when you need export the evidence report select only this suite (you can select any suite at the tree, just clicking in the parent, that it use every children to report).
However, if it do not attend your request, we can create an custom field and I will create an specific rule at the source code to show only the true test cases in this field.
I recommend use the natural behavior.
Thanks and best regards.
hi, Camilo:
Thanks your response.
I thought I do not describe my idea explictly, or did I misunderstand your ‘evidence-show’ function? if I am wrong, please correct me.
what I want using your kindly function is to generate a bug report in which cases of the status is failed/pass/better(I define it myself) show more details inclulding summary, execute result and especially, the attachment I attached when I excute a test case. Mostly, I need review the failed case doc report with the developer and PM, and sometimes, the better cases are also needed. I assume you have the same requirement developing this function. If not, I am so pleased to learn it from you.
I definitly agree with your second advice. We surely should use the naturely behavior instead of modify more codes to meet our requirements;
here is my immature idea stem from you:
1. I will add a custom_field named Print, type: list; possible value is failed|block|better; I will choose one(same with the execute_result) of them when I excuted the case;
2. In the result page, when I choose the check box of custom_field, three more check boxes will be showed, and of course they are: failed, block and better;
3. Once I choose one or two or all of them, the report is generated just including the execute_status is the one, the two and the three, no any others;
this idea is not so cool because I have to add one more action in the execute page.
what’s your idea? hope your better advice.
thanks and best regards!
your sincerely.
Hola Camilo:
Te escribo desde Chile para realizarte la siguiente consulta:
¿Estos son los únicos pasos que se deben realizar para adjuntar una imagen al Test Report?. Me explico, ¿no se debe modificar nada más del código fuente?, por ejemplo, el línea $Config['UserFilesPath'] del archivo config.php
Gracias.
Hola Patricio,
Gracias por la gran vista de Chile:)
Las fuentes actuales son suficientes para modificar la versión 1.8.3 o 1.8.4 para trabajar de acuerdo con los datos anteriormente mencionados, sin la necesidad de cualquier enmienda, incluso en los archivos de configuración.
Es muy importante comprobar si su versión es compatible y, de ser así, realizar una versión de prueba en un entorno de prueba antes de aplicar en la producción.
Estoy disponible para ayudar si usted tiene preguntas o problemas durante la transición.
La última versión anterior (versión 1.1) incluye el despliegue de la funcionalidad avanzada, exportar las imágenes para MS Word y se ejecuta en el navegador Mozilla Firefox.
Una vez más, gracias por venir y espero poder ayudar a:)
PS: Perdón por la español a la “portunhol”
Great friend from China, Farmingchox,
Now I understand what you need.
I can do an new option called “Show faliure”, that export only the testcases with bugs.
I can write a new option in the checkboxs to execute this filter, but it is about the last execution, independent from current release.
In this case, it is easy to implements and I guess that I can do it before the next weekend with no problems
Can you confirm it?
Thanks friend, and sorry about long time to answer.
hello, Camilo:
you are exactly right, I do need this function; many thanks for you support!
Hola Camilo:
Yo de nuevo desde Chile.
A qué te refieres con “La última versión anterior (versión 1.1) incluye el despliegue de la funcionalidad avanzada, exportar las imágenes para MS Word y se ejecuta en el navegador Mozilla Firefox.”
¿Cuál es esa versión?
Gracias. Saludos.
Olla Patricio,
Usted es siempre bienvenido:)
Ese mismo “post” tiene un nuevo download (release 1.1 “bug fixed”) la última versión de esta mejora.
La primera versión tenía algunos problemas, uno de ellos era que no podíamos ver el informe en forma de. Doc (Microsoft Word), pero desde entonces ha sido corregido en la versión 1.1 => release 1.1 (bug fixed)
Gracias. Saludos.
Ahora entiendo.
Muchas gracias.
Aprovechando de tu buena voluntad, te quería pedir otros favores, a ver si me los puedes solucionar.
1.- Hice todo lo indicado en el post, pero en la sección Reportes y Métricas, no me aparece ninguna información. ¿qué debo configurar para este caso?
2.- Nosotros aqui en el trabajo, queremos integrar TestLink & Mantis, pero nos ha traido varios dolores de cabeza. Nos ha costado un montón hacer la integración. Tu, por casualidad, ¿sabes cómo lo debemos hacer?. Te cuento que hemos seguido toda la información que aparece en la documentación de TestLink, pero aún así no lo hemos podido lograr.
Mejor dicho, lo tenemos integrado, pero no 100%. Lo que queremos saber es ¿cómo podemos reportar la incidencia reportada desde TestLink hacia Mantis? y ¿vice versa?
Gracias. Saludos.
Holla patricio,
1 – Lo siento, pero no conoce esta funcionalidad.
Sorry.
Esta es una de las características que voy a estudiar la TestLink.
2 – En un artículo futuro hago un tutorial sobre esta integración en las versiones actuales, pero no lo hago por ahora.
Sin embargo, tengo una gran recomendación para un tutorial de un amigo de la comunidad de prueba en Brasil.
http://sembugs.blogspot.com/2008/06/integrao-do-testlink-com-o.html
Si tiene alguna dificultad con el idioma, puedo ayudar a traducir:)
Saludos.
Hola Camilo:
Quería saber si me puedes ayudar con lo siguiente:
-He agregado 2 resultados, a parte de los existentes: No Run, Passed, Failed and Block) como Not_Available y Unknown. Mi consulta es la siguiente: ¿cómo puedo agregar estos resultados a los módulos “Test Cases Fallados” y “Test Cases Bloqueados”?
De ante mano, muchas gracias.
Saludos.
Baixei o arquivos zipado contendo as modificações e substitui meus atuais pelos alterados. Porém está aparecendo “LOCALIZE: opt_show_evidence” no lugar de “Evidence” ao montar o Report. Alguma dica? Obrigado!
Bom dia Rafael,
Esse problema é bem simples de resolver.
Provavelmente, você está usando uma versão com uma língua diferente de português Brasil.
Primeiro identifique a lingua que está usando, por exemplo “English (US)”;
na pasta “locale”, vá até a pasta da lingua que está usando, por exemplo, en_US;
no arquivo “strings.txt” inclua a seguinte linha:
$TLS_opt_show_evidence = “Testing Evidence”;
A palavra entre asptas (Testing Evidence) pode ser substituída pelo conteúdo que achar mais interessante para exibição.
Isso acontece porque eu ainda não criei a versão com as strings para todas as línguas (na verdade só português).
Caso aconteça novamente, basta selecionar o nome exibido sem o texto LOCALIZE e incluindo o prefixo “$TLS)”, como no exemplo abaixo:
“LOCALIZE: opt_show_evidence” = $TLS_opt_show_evidence.
Espero ter ajudado.
Abraços
Hola Camilo: Soy yo de nuevo desde Chile.
Te quería hacer la siguiente consulta, ¿cómo puedo imprimir solamente los resultados erróneos sin considerar las OK?. De ante mano, muchas gracias. Saludos.
Olá, Camilo.
Estava pesquisando sobre maneiras de exibir evidências de teste para os clientes da empresa em que trabalho e achei a sua maneira de exibição de evidências pelo testlink muito boa. No entanto não obtive sucesso com essa implementação nova. Gostaria de saber se a modificação funciona na versão 1.8.5, que é a versão que eu utilizo.
Eu baixei os arquivos que você disponibilizou (fiz backup dos antigos) e os coloquei em suas devidas pastas, mas não apareceu a nova opção de exibir evidências de teste. Se poder me ajudar ficaria muito grato.
Olá Thiago,
Obrigado pela visita.
Teoricamente, funciona na 1.8.3, 1.8.4 e 1.8.5. Mas nessa ultima eu não testei.
Vou atualizar para funcionar na versão final da 1.9, assim que sair.
Os arquivos estão ok, conferi no printDocOptions.php e printDocument.php. Da uma olhada se não ficou salvo no cache. Mas se não funcionar, pode haver algum problema de integração com a 1.8.5 (pouco provável).
Vou tentar testar isso amanhã.
Abraços e obrigado.
Olá, Camilo.
Você obteve algum sucesso com a versão 1.8.5? Limpei o cache, como você havia dito, mas não adiantou =(
Olá Thiago,
Desculpe a demora. Férias
Eu tentei e deu certo. Tente baixar a versão 1.8.5 novamente, caso tenha algum problema me envie um e-mail que conversamos por msn ou algo semelhante para corrigir esse problema.
Abraços.
Olá. Estou utilizando a versão 1.9.4 e executo o caso de teste, porém quando acesso o relatório de testes ele aparece como não executado. Sabem me dizer oque pode ser?
Boa tarde Everton,
Obrigado pela visita.
Pode ser que você tenha criado dois planos de teste para o mesmo projeto, está testando em um e emitindo relatório do outro.
Para conferir se está usando dois planos de teste, vá até Gerenciar Plano de Teste e verifique se existe mais de um.
Caso exista, verifique o seu filtro no relatório de teste.
Abraços.