sábado, 21 de junho de 2008

Customizando valores no Mantis: Prioridade

Quem utiliza o Mantis BugTracker pode não gostar dos valores default que encontram para os campos de prioridade. Mas poucos sabem, ou sabem e tem medo de alterar ou ainda sabem e ja alteraram estes valores.
Neste post vamos visulizar como alterar estes valores, bem como coloca-los para funcionar em qualquer idioma.
Apresento aqui uma forma de inserir ou até remover (não recomendado) determinado valores de campos.


Pré-Requisitos
  1. Utilizar qualquer versão do Mantis posterior à 1.0 (eu estou utilizando a versão 1.1.2)
  2. Faça um backup do banco e da pasta da aplicação (caso ocorra algum problema)
  3. SEMPRE copiar as variáveis que serão alteradas para o arquivo config_inc.php

Como o Mantis salva os dados de prioridade?
O Mantis não guarda nenhuma tabela para manter a relação de valores e codigo de cada campo. O que ele faz é salvar o codigo de cada valor configurado em suas propriedades. Podemos ir até o banco de dados e acessar a tabela mantis_bug_table e visualizar os dados contidos nela. Noque que o valore para a coluna priority foi salva como código, e não com o valor de cada campo:

Inserindo ou alterando valores de Prioridade
Segue abaixo a lista de valores bem como seu conteudo em inglês e português

CódigoTexto inglêsTexto português
10nonenenhuma
20lowbaixa
30normalnormal
40highalta
50urgenturgente
60immediateimediato

Se entrarmos no arquivo config_default_inc.php e buscarmos pela variável $g_priority_enum_string veremos os valores:

$g_priority_enum_string = '10:none,20:low,30:normal,40:high,50:urgent,60:immediate';

Como podemos ver na tabela acima temos os codigos de cada valor que é salvo no banco de dados. Sendo assim basta alterar o valor depois do codigo.
Podemos tambem inserir novos valores para que possamos ter mais opções de priorização, basta inserir uma virgula no final do ultimo registro.
No exemplo abaixo vou inserir uma nova prioridade chamada de "my priority" em ingês e "minha prioridade" em português

$g_priority_enum_string = '10:none,20:low,30:normal,40:high,50:urgent,60:immediate,70:minha prioridade';

NÃO efetue esta alteração diretamente no arquivo config_default_inc.php. Copie a variável com seus valores e cole no arquivo config_inc.php.

Também teremos que inserir esta nova prioridade nos arquivos de idiomas. Altere em cada idioma em que a aplicação é utilizada.
Vá ate o diretório instalacao_mantis/lang e selecione o arqivo alvo da alteração (no exemplo será o string_english.txt) e localize a variável $s_priority_enum_string e insira o novo valor de prioridade, como no exemplo abaixo:

$s_priority_enum_string = =10:none,20:low,30:normal,40:high,50:urgent,60:immediate,70:my priority';

Efetue a mesma alteração no arquivo string_portuguese_brazil.txt para a mesma variável, ficando assim:

$s_priority_enum_string = '10:nenhuma,20:baixa,30:normal,40:alta,50:urgente,60:imediato,70:minha prioridade';

No cadastro do bug ou na visulização veremos que o novo valor está disponível para utilização e o mesmo aparece também no Sumário



Para finalizar a customização da prioridade podemos habilitar que seja apresentado nome da prioridade da lista de bugs. Efetuamos esta alteração inserindo a variável abaixo no arquivo config_inc.php:

$g_show_priority_text = ON;




Precauções
Uma vez inserido um novo valor à um campo não remova-o. Se fizermos isso o banco de dado traz somente a informação do código cadastrado referente a este dado, como na imagem abaixo. Note que é inserido dois "@" e entre eles o código do valor:


Como remover uma prioridade criada e atualizar para uma já existente?
Se somente removermos o código mais o texto da prioridade teremos o problema acima: tanto na lista de bugs, quanto no detalhe, sumário e histórico visualizaremos o valor que foi gravado no banco de dados.
Uma vez removido este valor de prioridade precisamos atualizar estes valores no banco de dados para que estes códigos não aparecam.
Você precisará definir para qual status o valor antigo passará a ter. No exemplo abaixo vou trocar todos os bugs da tabela de bugs e histórico com "my priority" (código 70) para "none" (código 10)

--alteracao na tabela 'mantis_bug_table' que guarda os bugs
UPDATE mantis_bug_table SET priority = 10 WHERE priority = 70

--alteracao na tabela 'mantis_bug_history_table' que guarda o histórico de alteracoes do bug
UPDATE mantis_bug_history_table SET old_value = 10 WHERE old_value = 70

Com estes dois comandos em SQL, que podem ser executados no seu editor de arquivos SQL preferido, alteram os valores da prioridade antiga para a escolhida, tanto no bug quanto em seu histórico.

Aprendemos aqui a inserir ou remover valores do campo de prioridade e voltar ao valor antigo ou para outro valor, caso necessário.
No proximo post sobre customização do Mantis veremos como alteramos o valor de Severidade.

Abcs!

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