quarta-feira, 18 de junho de 2008

Integração do TestLink com o MantisBugTracker

Atenção: este post está obsoleto!!! 
Para o modo atual de integração veja o post Integração do Testlink com Mantis - modo atual



-->
Neste tutorial aprenderemos a configurar a integração entre o TestLink e o Mantis BugTracker
O TestLink possui a funcionalidade de habilitar o cadastro de um bug diretamente de sua interface para o Sistema de Gestão de Defeitos suportados (Mantis, BugZilla, Eventum, Trackplus, Jira, Trac)
Precondições para a configuração
Ter um servidor Apache, um banco de dados e o PHP instalado. Neste mini tutorial utilizo o WampServer para Windows. Ter o Testlink instalado. Neste mini tutorial utilizo a versão 1.7.4 Ter o Mantis instalado. Neste mini tutorial utilizo a versão 1.1.1 PS: A versão 1.7.4 já está obsoleta. Utilize as versões mais atuais através do site http://teamst.org
Caminho das aplicações
Tanto o TestLink quanto o Mantis estarão na pasta WWW do WampServer, que pela instalação padrão do Windows é C:\wamp\www.
Caso você utilize outro programa para gerenciar esta tríade (apache, php e mysql) utilize o diretório em que são colocadas as aplicações web
Primeiro Passo – Criando um usuário no Mantis para acesso anônimo
O primeiro passo para iniciar a configuração é configurar o Mantis para acesso anônimo à aplicação. Para isso entre na aplicação, vá ao link Manage (Gerenciar) e clique no botão Create New Account (Criar nova Conta) e crie um usuário que será o nosso usuário anônimo. Neste caso eu utilizarei o nome “testlink”. É importante dar o acesso somente como “reporter” e deixar a checkbox Enabled marcada.
Atenção: Caso você já tenha a configuração de envio de email definida insira um email válido. Caso contrário deixe o email em branco. Neste exemplo não temos configurado o envio de email. Para o Mantis aceitar a inserção da senha no cadastro de usuário copie a variável $g_send_reset_passwor= ON; do arquivo config_defaults_inc.php para config_inc.php e altere seu valor de ON para OFF.
Estes arquivos estão na pasta de instalação do Mantis, no meu caso ela está em C:\wamp\www\mantis-1.1.1
Como não temos o envio de email habilitado e temos a configuração acima efetuada, será apresentada uma mensagem de confirmação de utilização da senha em branco. Clicamos em Empty Password.
Segundo Passo – Habilitando o Mantis para login anônimo (não obrigatório)
Esse passo não é obrigatório! Se você não o fizer a diferença é que você ou terá que já estar logado no sistema para aparecer a tela de report de bugs ou você terá de efetuar o login para acessar a página!
Copie a variável $g_allow_anonymous_login= OFF; e $g_anonymous_account = ''; do arquivo config_defaults_inc.php para o arquivo config_inc.php. Altere o valor da variável $g_allow_anonymous_login para ON e insira na variável $g_anonymous_account o usuário que criamos que é testlink. (nas esqueça de colocá-lo entre as aspas)
O arquivo config_inc.php deve estar semelhante ao da imagem abaixo:
Terceiro Passo – Configurar a interface do TestLink com o Mantis
Agora iremos manipular os arquivos necessários no TestLink para habilitar a utilização do Mantis.
Abra o arquivo mantis.cfg.php que está no diretório de instalação do TestLink na pasta cfg. No meu caso está em C:\wamp\www\testlink\cfg
Teremos que alterar o parâmetro destes arquivos para que o TestLink e o Mantis possam “conversar”.
A tabela abaixo mostra o texto que devemos substituir e por qual valor:
Parâmetro
Descrição
Substituir por este valor
[CONFIGURE_BUG_TRACK_DB_HOST]
Qual o host do banco de dados da ferramenta de bugtraker
localhost
[CONFIGURE_BUG_TRACK_DB_NAME]
Qual o nome do banco de dados da ferramenta de bugtracker
mantis
[CONFIGURE_BUG_TRACK_DB_TYPE]
Qual o tipo de banco de dados da ferramenta de bugtracker
mysql
[CONFIGURE_BUG_TRACK_DB_USER]
Qual o usuario de conexão com o banco do bugtracker
root
[CONFIGURE_BUG_TRACK_DB_USER_PASS]
Qual a senha do usuário de conexão com o banco do bugtracker
[em branco]
Nas duas ultimas configurações altere, se necessário o nome da aplicação do Mantis, referente a aplicação do caminho. No meu caso, como a pasta de acesso a aplicação é mantis-1.1.1 fica assim:
define('BUG_TRACK_HREF', "http://localhost/mantis-1.1.1/view.php?id=");
define('BUG_TRACK_ENTER_BUG_HREF',"http://localhost/mantis-1.1.1/");
Atenção: substitua somente os parâmetros da tabela pelo valor e mantenha as aspas.
Quarto Passo – Habilitando a integração no TestLink com o Mantis
Copie a variável $g_interface_bugs='NO'; do arquivo config.inc para o arquivo custom_config.inc.php e altera o valor NO para MANTIS, ficando assim: $g_interface_bugs='MANTIS'
Estes arquivos estão na pasta da aplicação do TestLink. No meu caso o caminho é C:\wamp\www\testlink
Quinto Passo – Executando o Caso de Teste e marcando ele como Falha no TestLink
Agora para ver a integração do TestLink com o Mantis teremos que executar um Caso de Teste no TestLink e marcá-lo como falha (failed) para ver tal integração
Note que foi criado uma coluna a mais chamada “BUG Management” e um botão. Clicamos então no botão. Será apresentada a seguinte tela:
Se já existe um bug cadastrado no Mantis insira o código do bug e clique em Add bug, caso contrário clique no link “Access to Bug Tracking System (Mantis)”. Este link acessa o Mantis para que o testador possa cadastrar o bug. Feito isso ele deve inserir o código do bug cadastrado para que ele possa ser inserido no TestLink.
Executado estes passos clique no botão Close e visualize a tela de execução do Caso de Uso. Abaixo do status de execução do Caso de Teste no TestLink será inserido uma nova tabela contendo o Build, Código do Bug e Descrição do Bug e um botão de remoção desta informação.
Clicando no link da descrição do bug ele será aberto no Mantis, com a visualização dele.
Para todos os status de execução do Caso de Teste existirá o botão do Bug management. Para todas as execuções que inserirmos o bug ela será exibida. Podemos clicar no botão “Show complete execution history” para visualizar.
Necessito habilitar o login anônimo para fazer a integração?
Não! Na verdade habilitamos o login anônimo para ter acesso direto ao bug que foi inserido na execução do teste no TestLink sem precisarmos efetuar o login no Mantis. Quando inserimos um bug do Mantis no TestLink as informações são obtidas diretamente no banco de dados do Mantis, não influenciando o login.
Chegamos ao final deste mini-tutorial. Notamos que a integração pode não ser aquela “Brastemp” que pensamos em já abrir a ferramenta de Bug Tracker e ter os dados já cadastrados de forma automática, mas já nos dá uma boa visualização para que o TestLink se propõe que é fazer a gerência de testes.
Não deixe de ver o tutorial sobre a Integração do Testlink e Trac.
Espero que tenham gostado! Qualquer duvida, por favor, postem um comentário!

terça-feira, 10 de junho de 2008

Repositório de documentos interessantes....

Em mais uma de minhas pesquisas no Oráculo achei um serviço na web que ainda não conhecia: Scribd. Ele é um serviço de publicação de documentos de forma gratuita.
Daí isso responderá (eu acho) a diversas perguntas de pessoas como: "Onde consigo um template do artefato tal..." mesmo existindo a Norma IEEE-829

Abaixo as cunsultas referentes aos templates mais pedidos (rsrsrs):

Test Plan
http://www.scribd.com/search?query=test+plan

Test Case
http://www.scribd.com/search?query=test+case


Outros itens interessantes...

ISTQB sample question papers-part 1
http://www.scribd.com/doc/2952020/ISTQB-sample-question-paperspart-1

IEEE 829-1998
http://www.scribd.com/doc/2620632/IEEE-8291998

ISTQB Mock Papers
http://www.scribd.com/doc/3030727/ISTQB-Mock-Papers

cste_overview
http://www.scribd.com/doc/3294165/csteoverview

Effective software testing - 50 specific ways to improve your testing (Addison Wesley) Optimized
http://www.scribd.com/doc/2289487/Effective-software-testing-50-specific-ways-to-improve-your-testing-Addison-Wesley-Optimized

Building a user interface test automation framework
http://www.scribd.com/doc/563931/Building-a-user-interface-test-automation-framework

SWEBOK Guide 2004
http://www.scribd.com/doc/944975/SWEBOK-Guide-2004

Software Testing Guide Book Part 1
http://www.scribd.com/doc/2175351/Software-Testing-Guide-Book-Part-1

The CMMI: It's So Much More Than Merely Improving Software Processe
http://www.scribd.com/doc/2252012/The-CMMI-Its-So-Much-More-Than-Merely-Improving-Software-Processes

Test Effort Estimation
http://www.scribd.com/doc/3115664/Test-Effort-Estimation

Software Testing Interview Questions
http://www.scribd.com/doc/3104328/Software-Testing-Interview-Questions

DB Testing
http://www.scribd.com/doc/3163439/DB-Testing

API Testing Method
http://www.scribd.com/doc/2577595/API-Testing-Method

Use Cases and Test Cases Relation in Testing Process
http://www.scribd.com/doc/2021988/Use-Cases-and-Test-Cases-Relation-in-Testing-Process

Performance Testing AJAX-based Applications
http://www.scribd.com/doc/2743564/Performance-Testing-AJAXbased-Applications

sexta-feira, 6 de junho de 2008

Slides sobre Teste e Qualidade no SlideShare

Para quem não conheche o SlideShare ele é um local onde você submete uma apresentação de qualquer tipo para ficar disponível (ou não) para todos na web.

Então listei aqui algumas apresentações interessantes que valem a visulização e internalização deste conhecimento.... Alguns dos slides estão em ingles...

Qualidade de Software
http://www.slideshare.net/alsimoes/qualidade-de-software

Usabilidade e Qualidade
http://www.slideshare.net/pecus/usabilidade-qualidade

Visão Geral CMMI e MPS.BR
http://www.slideshare.net/pecus/usabilidade-qualidade

Testes de Usabilidade
http://www.slideshare.net/agner/testes-de-usabilidade-slide-share-1/

Como fazer testes de usabilidade
http://www.slideshare.net/usabilidoido/como-fazer-testes-de-usabilidade

Introdução A Gestão Ágil De Projetos Com Scrum
http://www.slideshare.net/jbernab/introduo-a-gesto-gil-de-projetos-com-scrum

Case Study of Agile Testing
http://www.slideshare.net/nashjain/case-study-of-agile-testing

Automated Testing vs Manual Testing
http://www.slideshare.net/didev/automated-testing-vs-manual-testing

Automated Web Testing With Selenium
http://www.slideshare.net/mittaldeepak01/automated-web-testing-with-selenium

Automated Unit Testing
http://www.slideshare.net/mjlivelyjr/automated-unit-testing

Tag "Software" no SlideShare
http://www.slideshare.net/tag/software

sexta-feira, 23 de maio de 2008

Teste Caixa Cinza (Gray Box)

Nesta estratégia de teste o testador tem acesso a algumas das operações internas do sistema, mas normalmente a uma base de dados através de consultas SQL, não visualizando seu código.

Como sabemos a técnica de Caixa Branca tem acesso direto ao código-fonte da aplicação, validando assim sua estrutura interna, mas na técnica de Caixa Preta não conhecemos sua estrutura interna, sabendo só as entradas e saídas sem conhecer o que é feito com a entrada.
Ainda sobre as duas abordagens, sabemos que no Caixa Branca quem cria e executa é o próprio desenvolvedor testando através de testes unitários e no Caixa Preta quem cria e executa é o testador.

Nos testes de Caixa Cinza juntamos estas duas estratégias: conhecimento interno do produto e saídas esperadas. Não vamos confundi-lo com os testes de Caixa Branca, que cobre com testes a estrutura interna.

"Testes baseados no conhecimento do algoritmo, estados internos, arquitetura ou outras descrições mais alto-nível do comportamento do programa" [Doug Holffman]

Analisar as atividades por trás dos componentes durante o processo de execução de teste.
Dois tipos de problemas podem ser encontrados durante os testes de caixa-cinza:
- O componente encontra uma falha de algum tipo, fazendo com que a operação seja abortada. A interface com o usuário (front-end) ira indicar que ocorreu algum problema
- Os testes executam com sucesso, mas o conteúdo dos resultados está incorreto. Um sistema processando dados incorretos causa erro no resultado. [Elfriede Dustin]

Para aplicar esta estratégia utilizamos como suporte, por exemplo, consultas no banco de dados para confirmar que a consulta que os dados da consulta ou filtro que executamos na tela está de acordo com os dados existente no banco.
Esta estratégia é aplicada aos testes de WebServices, mesmo sem você se dar conta, pois você necessita conhecer a estrutura interna (arquido wsdl) e saber os resultados que devem ser obtidos neste tipo de teste.

O conhecimento interno do funcionamento pode ser de:

* Modelo de Arquitetura da aplicação
* Diagrama UML (diagrama de classe e/ou diagrama de sequência)
* Diagrama ER

Muita atenção: o testador não precisa conhecer o código-fonte da aplicação, e na minha opinião nem deve pois não é o seu papel. Mas conhecer a estrutura da aplicação é interessante para aprimorar a abrangência dos testes.

Por enquanto é isso!
Abraços e qualquer duvida: comentários!

quarta-feira, 21 de maio de 2008

Visualizando gráficos de sumário no Mantis

No Mantis BugTracket temos o Summary, ou Resumos a tradução do português da ferramenta. Este resumo é composto por algumas tabelas de nos exibem diversas informações do tipo:
  • Issues abertas, resolvidas e testadas na perspectiva de
  • Projeto
  • Status
  • Gravidade
  • Categoria
  • Por dia
  • Por resolução
  • Por prioridade

Além de trazer alguns dados estatísticos como:
  • Tempo para casos resolvidos
  • Estatísticas de relatores
  • Estatísticas de Desenvolvedores
  • Eficiência do relator
  • Mais ativos
  • Aberto a x tempo

Isso nos traz uma base para criar novas métricas, atacar algum ponto que necessitamos e gerar gráficos....
Mas porque não fazer com que o próprio Mantis gere os gráficos?

Podemos inserir dentro do Mantis a aplicação JPGraph que é um conjunto de bibliotecas para a criação de gráficos para o PHP.

Para que o Mantis possa gerar estes gráficos faremos basicamente três passos:
  1. Baixar e submeter o JPGrath a pasta de instalação do Mantis
  2. Configurar o arquivo confir_inc_defaults.php do Mantis
  3. Testar a solução

Para atacarmos o item 1 vamos até a página do JPGraph , clicar no link Download. Teremos que clicar sobre o link jpgraph-1.22.1.tar.gz. Baixe este arquivo e descompacte ele numa pasta de sua escolha.

Atenção: note que existirão dois arquivos para download. O jpgraph-1.22.1.tar.gz é referente ao PHP4 e jpgraph-2.3.tar.gz é referente ao ao PHP5. No caso deste tutorial estamos utilizando a versão 1.22.1 pelo servidor que estou utilizando é PHP4.
Para verificar qual versão o Mantis deverá usar do PHP consulte este link: http://www.mantisbt.org/requirements.php

Quando descompactamos o arquivo veremos a pasta jpgraph-1.22.1 e dentro dela alguns arquivos de informação do jpgraph e duas pastas: doc e src. A pasta doc não é necessária para a cópia que faremos logo mais, mas fica a critério de cada um transportar esta pasta.

Copie a pasta jpgraph-1.22.1 para o diretório raiz do Mantis.

Agora iremos alterar o arquivo de configuração do Mantis.
Abra o arquivo config_defaults_inc.php e procure pelo atributo $g_use_jpgraph (esta na linha 569 do arquivo).
Estamos no grupo de configurações especificas do gráfico no Mantis.
O atributo $g_use_jpgraph diz se teremos a visualização dos gráficos no Mantis, o valor default é OFF. Mude este valor para ON.
O atributo $g_jpgraph_path monta o caminho para o jpgraph. Se você não renomeou a pasta do jpgraph (jpgraph-2.3) altere o valor deste atributo ficando como mostra abaixo:
$g_jpgraph_path = '.' . DIRECTORY_SEPARATOR . 'jpgraph-1.22.1' . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR;

Agora basta acessar o Mantis e clicar sobre o link Summary.
Note que a tela terá as seguintes alterações:
Novo link Advanced Summary
Novos links na pagina Summary:
  • Syntesys
  • Per State
  • Per Pryority
  • Per Severity
  • Per Category
  • Per Solution



Na página Advanced summary temos os gráficos:
  • Cumulative By Date
  • By Developer
  • By Reporter
  • By Severity
  • By Status
  • By Resolution
  • By Category
  • By Priority



Bom, não vou mostrar as demais opções aqui pelo foco ser colocar a visualização de gráficos no Mantis.

Espero que este mini-tutorial tenha ajudado.
Abraços!