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!

terça-feira, 13 de maio de 2008

Manual do TestLink 1.7 em português

Pessoal,
Está disponível pelo grupo DFTestes (grupo do Yahoo) o manual da ferramenta TestLink 1.7 em português (pt-br) para download.
Agradecimentos a estas moças pela tradução:
  • Marcela Batista Freire
  • Lizandra Carl Nascimento
  • Danielle Rangel
E a Ricardo Castilho.
Para baixar o documento é necessário fazer parte do grupo DFTestes

O TestLink é uma ferramenta web opensource para gerenciar Casos de Teste, bem como organizá-los em Planos de Teste.

Fora este documeto existem muitos outros que valem a pena serem baixados e estudados.

DFTestes: http://br.groups.yahoo.com/group/DFTestes/
TestLink: http://www.teamst.org/

sábado, 3 de maio de 2008

Conhecendo o BadBoy - parte 2

Nesse post iremos aprender a utilizar as ferramentas Data Source e FormPopulator do BadBoy e aplicar um exemplo.
Primeiro explicarei brevemente como funciona cada uma destas ferramentas no BadBoy e depois faremos um exemplo pratico.
No final do post existe uma video-aula mostrando como foi criado o scrip. Você também pode visualizar os scripts diretamente no Youtube pelo link http://br.youtube.com/sembugs


Data Source
Muitas vezes precisamos interagir com um banco de dados ou efetuar consultas para verificar resultados dos nossos testes manuais. O BadBoy traz este ferramenta para que possamos carregar dados de um banco de dados através de uma conexão ODBC do Windows.
Inserimos um Data Source no script arrastando e soltando ele da aba Tools até o ponto que desejamos. Um ponto importante é colocarmos o Data Source ligado a um step sem qualquer outro item no step. Existem alguns requisitos que devem ser atendidos para a correta utilização do Data Source:


  • Todos os valores para todas as variáveis devem aparecer um uma única tabela
  • O nome das colunas deve ser idênticos as das variáveis
  • Se existiram dados repetidos em uma coluna, crie uma coluna de identificação com um numero seqüencial
Quando adicionamos um Data Source podemos ter a conexão ODBC criada ou simplesmente criá-la pela própria interface do BadBoy. A janela de propriedades do Data Source apresenta quatro itens importantes:

  • DataSource: é nele que selecionamos ou criamos a conexão ODBC. No momento que você insere o Data Source (item) é apresentada a tela para criar ou selecionar a conexão ODBC. Se você necessitar alterar a conexão clique no botão Change..
  • Load from Table: Selecione a tabela ou planilha apresentada pela conexão ODBC. É desta tabela que os dados serão carregados
  • Load Using SQL: Se necessitarmos carregar parte dos dados de uma tabela podemos escrever um comando em SQL para carregar estes dados
  • Map Columns to Variables: Se marcado como Automatic o BadBoy pressupõe que o nome das colunas da tabela e das variáveis são idênticas. Com Custom nos selecionamos somente as colunas que desejarmos.



A utilização correta do Data Source para efetuarmos loops no script tem de estar ligada a um step. Para isso devemos entrar nas propriedades do step e marcar o item Repeat for each value of variable e informar a variável. Note que já devemos ter a variável criada. Outro item a ser levado em consideração é que toda a ação na pagina que dependa do loop deve Ester contida neste step.






Form Populator

Em praticamente todas as paginas web que necessitam que o usuário entre com dados nele são utilizados um elemento HTML chamado Form. O Form HTML consiste em caixas de entrada de dados e um botão de submissão destes dados.

O BadBoy trabalha muito bem com esse elemento HTML através do Form Populator. Ele basicamente verifica se existe algum elemento Form na pagina e pega todos os dados dele, trazendo a informação consigo para poder popular com dados.
Não precisamos utilizar o Form Populator para a maioria dos scripts criados, uma vez que os dados já são transmitidos por parâmetros no request (requisição). Utilizamos ele em casos que não conseguimos, de forma fácil, entrar com dados em um formulário.





Para inserir um Form Populator devemos inseri-lo abaixo da requisição que contem o Form.
Podemos clicar sobre cada informação carregada pelo Form e inserir um dado ou atribuir a ele uma variável, como mostra a figura acima. Na propriedade do Form podemos informar o elemento Form alvo e se o método é Populate ou Clear, ou seja, inserir valores ou limpar o Form.

Exemplo de utilização do Data Source e Form Populator
Agora veremos um exemplo pratico de como utilizar estas duas ferramentas. Nosse exemplo será sobre o site de demonstração da ferramenta TestLink, onde criaremos um script que efetua o login com dois usuários, um de cada vez, e no momento do login verificarmos se o usuário que entrou no sistema é o correto. Primeiro teremos que criar um banco de dados no MS Access com duas colunas: login e password e inserir os valores abaixo. A vídeo-aula mostra como criar o banco.

login password
admin testlink
leader leader


Agora é necessário criar uma conexão ODBC com qualquer nome, vamos escolher “BanocBadBoy”. A video-aula mostra como criar a conexão ODBC.
Depois do banco e a conexão ODBC criada vamos partir para a criação do script:



  1. Abra o BadBoy e no primeiro step arraste e solte o item Data Source para ele. Será apresentada a tela para selecionarmos ou criarmos a conexão ODBC. Como já criamos selecionamos a conexão criada (BancoBadBoy ou o nome escolhido por você)
  2. Após selecione a tabela criada segundo a estrutura que falamos acima. Feche a janela de propriedades do Data Source.
  3. Agora insira um step e digite o seguinte endereço na barra de URL: http://testlink.org/demo/login.php. Será criada uma requisição para a página.
  4. Arraste a ferramenta Form Populator para baixo da requisição criada. Será apresentada sua tela de propriedades. Feche a janela. O Form Populator deve apresentar os campos de login e password abaixo dela.
  5. Insira o usuário admin e senha testlink para autenticação no TestLink. Sera criada uma nova requisição.
  6. Seleciona o texto “Role :: [ admin ]” e clique no botão Easy Assertion. Isso servirá depois para validarmos o usuário.
  7. Depois da asserção criada efetue um logoff no sistema.
  8. Agora vá até a requisição abaixo do Form Populate e crie duas variáveis para os parâmetros de login e password clicando com o botão direito sobre cada uma e selecionando Add as variable
  9. Entre nas propriedades do Check da Assertion criada. Dentro do texto do Check substitua “admin” por “${login}”.
  10. Em cada item do Form Populator insira a variável correspondente digitando o nome dela para cada um.
  11. Agora entre nas propriedades do Data Source, selecione o item Custom no painel Map columns to variables e deixe marcado os dois itens: login e password.
  12. Agora basta fazem a repetição do step que contem todas as ações na pagina. Fazemos isso abrindo a janela de propriedades do step e selecionando o item For each value of variable com o valor login.
    Fazendo isso dizemos que o step vai ser executado novamente para cada valor de login diferente no banco de dados.

Agora é só executar o script, na primeira iteração ele ira preencher os dados com o usuário admin e verificar pela Assertion se o nome do usuário é igual ao mostrado na tela. Depois do logoff o valor de login é alterado e o step é executado novamente.


Fontes do exemplo (banco e script) aqui.


Como criar o banco com MS Access



Como criar a conexão ODBC no Vista (semelhando no Windows XP)


Como criar o script de exemplo


domingo, 20 de janeiro de 2008

Conhecendo o BadBoy - parte 1

Bom, depois de um tempo sem postar resolvi escrever sobre uma ferramenta de automação de testes muito boa e facil de usar: o BadBoy <http://www.badboy.com.au/>.
BadBoy é uma ferramenta desenvolvida em C++ (sim, não vai funcionar no linux, infelizmente) que grava todas ações que você faz em uma página web (java, php, ruby, etc...). Ele é capaz de gravar, como uma macro, tudo o que você faz na página web como requests, parâmetros, alert, respostar, etc.. Com ele você pode alterar parâmetros das páginas que você está testando, efetuar asserções por texto (simples ou html), cor, javascript, etc... Veremos então, nesta primeira parte, a estrutura básica do BadBoy e suas principais ferramentas (pelo menos as mais fáceis de utilizar. Segue a tela principal do BadBoy (numeração em vermelho)




  1. Barra de ferramnetas
    Aqui encontramos todos os botões para as principais ações no Badboy, veromos com detalhes cada uma das ações asseguir e nos outros tutoriais.

  2. Barra da URL
    Aqui digitamos o endereço de entrada que iremos gravar o script e onde aparecerão as demais url's enquanto vamos navegando nas paginas.

  3. Estrutura do Script
    Aqui é apresentada a principal estrutura de script do BadBoy com a estrutura de

    • Suites: Organiza seu script da mesma forma de um test, mas com a diferença de ter apenas uma suite (não nesessário, pois o suite e test possuem quase as mesmas funcionalidade).
    • Tests: Organiza o seu script como um teste, podendo transforma-lo em um template (que tambem será apresentado mais tarde). Você pode organizar o Tests como um TestCase ou como partes agrupadas de teste no seu script
    • Steps: Organiza o seu script como passos para execução de determinada ação ou grupo de ação. Um step pode virar uma Thread, pode repetir N vezes, pode ser monitorada e ser transformada em test.

      Uma estrutura básica com um script é apresentada abaixo:



  4. Tools
    Tools apresenta uma série de ferramentas para auxilia-lo na gravação, execução e visualização do seu script.

    • Summary: Apresenta todos os dados referente a execução do seu script (nro de execuções, falhas, sucessos, tempo medio de execução, etc...)
    • Variebles: apresenta todas as variaveis que podem ser utilizadas no script para substituir um determinado parâmetro.
    • Graph: Apresentação do gráfico contendo o tepo medio da execução de cada step do script.
    • Toos: Uma série de ferramentas que podem ser adicionadas no seu script para ajuda-lo a obter o sucesso da execução do seu script.
    • Checkers: Série de analisadores que podem ser inseridos para efetuar alguma verificação na página.
    • References: itens que podem ser adicionados como requirements ou defeacts para ajudar você a visualizar o que precisa see verificado ou ajuda-lo em algum decisão dentro da ferramenta, a fins ilustrativos.

  5. Visualizador da página
    É aqui será exibida a página enquanto você grava sua execução. Você interege com a pagina neste painel, onde também pode aplicar os checkers.
Como Gravar um Script no BadBoy
Os passos para a gravação de um script é bem fácil

  1. Abra o BadBoy. Ele já estará em mode de gravação, que pode ser visualizado pelo botão Record pressionado na barra de ferramentas
  2. Digite a URL na barra de endereço. O BadBoy Automaticamente criará a o request com todos os parâmetros da página requisitada.
  3. Começe a interagir ocm a página no painel de visualização da página. Todas as ações na página serão adicionadas na estrutura do script do BadBoy.

Bom, por enquanto é isso... Você pode ir exercitando a criação de scripts com o BadBoy abrindo o programa selecionando o Menu Help/Tutorial.

Na proxima parte de apresentação do BadBoy iremos aprender a manipular os parâmetros, aplicar asserções na página e salvar um relatório de execução do script.