sexta-feira, 18 de
abril de
2008.
| Post Atualizado. |
Estou disponibilizando uma modificação feita no Testlink que posibilita a seleção dos casos de teste baseado na prioridade do mesmo esta modificação foi realizada.
A modificação foi feita pela equipe de testes de um projeto que trabalhei, a versão do testlink usada foi a 1.7.0 RC 2
Com essa modificação todos os casos de testes criados com algum valor no Custom Field serão visualizados na filtragem por prioridade, na tela de adicionar casos de testes ao plano de testes.
Vale a pena lembrar que casos de testes antigos não serão visualizados na filtragem.
Para realizar esta tarefa terá que adicionar entradas na tabela “cfield_design_values” colocando no campo “field_id” o valor do id do Custom Field, em “node_id” o valor do id no caso de teste desejado e em “value” o valor da prioridade desejada.
Abaixo o passo a passo:
1) Cadastro de um Campo Customizado
Cadastre um campo Custom Field do tipo Float com o nome Priority
2) Alteração do arquivo planAddTCNavigator.tpl
Abra o arquivo “…\gui\templates\planAddTCNavigator.tpl” e mude o nome do campo “keyword” para “Prioriy”.
Isso pode ser feito mudando a variável como mostrado abaixo
[sourcecode language='php']
{lang_get s=’keyword’}
[/sourcecode]
Mude a linha para:
[sourcecode language='php']
{lang_get s=’trep_prio’}
[/sourcecode]
3) Alteração do artigo planAddTCNavigator.php
Abra o arquivo “…\lib\plan\planAddTCNavigator.php” e faça as seguintes alterações:
Código Atual:
[sourcecode language='php']
$keywords_map = $tproject_mgr->get_keywords_map($tproject_id, ” order by keyword “);
if(!is_null($keywords_map))
$keywords_map = array( 0 => ”) + $keywords_map;
[/sourcecode]
Alteração:
[sourcecode language='php']
$keywords_map = array( 0 => ”, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5);
[/sourcecode]
4) Alteração do arquivo treeMenu.inc.php
Abra o arquivo “…\lib\functions\treeMenu.inc.php” e mude o nome da chamada da função nas funções “generateTestSpecTree” e “get_testproject_nodes_testcount”:
Código Atual:
[sourcecode language='php']
if($keyword_id)
{
$tck_map = $tproject_mgr->get_keywords_tcases($tproject_id,$keyword_id);
}
[/sourcecode]
Alteração:
[sourcecode language='php']
if($keyword_id)
{
$tck_map = $tproject_mgr >get_priority_tcases($tproject_id,$keyword_id);
}[/sourcecode]
5) Alteração no arquivo testproject.class.php
Abra o arquivo “…\lib\functions\testproject.class.php” e adicione o método:
[sourcecode language='php']
function get_priority_tcases($testproject_id, $keyword_id=0)
{
$map_keywords = null;
$sql = ” SELECT node_id,value
FROM cfield_design_values
WHERE value = {$keyword_id}
ORDER BY node_id ASC “;
$map_keywords = $this->db->fetchRowsIntoMap($sql,’node_id’);
return($map_keywords);
}[/sourcecode]
6) Alteração no arquivo testplan.class.php
Abra o arquivo “…\lib\functions\testplan.class.php” e faça as seguintes alterações:
Código Atual:
[sourcecode language='php']
if($keyword_id > 0)
{
$keywords_join = ” JOIN testcase_keywords TK ON NHA.parent_id= TK.testcase_id “;
$keywords_filter = ” AND TK.keyword_id = {$keyword_id} “;
}
[/sourcecode]
Alteração:
[sourcecode language='php']
if($keyword_id > 0)
{
$keywords_join = ” JOIN cfield_design_values TK ON NHA.parent_id = TK.node_id “;
$keywords_filter = ” AND TK.value = {$keyword_id} “;
}
[/sourcecode]
7) Alteração no arquivo common.php
Abra o arquivo “…\lib\functions\common.php” e altere o método “gen_spec_view”:
Código Atual:
[sourcecode language='php']
$tck_map = $tobj_mgr->get_keywords_tcases($tobj_id,$keyword_id);
[/sourcecode]
Alteração:
[sourcecode language='php']
$tck_map = $tobj_mgr->get_priority_tcases($tobj_id,$keyword_id);
[/sourcecode]
Concluído com sucesso os 7 passos, vá em “Add test cases” e verifique se agora é possível selecionar os casos de testes de acordo com suas prioridades
Nota: Vale lembrar e ressaltar, o autor do post nao se responsabiliza por danos gerados atravez da utilização do código acima disponibilizado.
4 Opinioes
Opine!
(Comente)






eudescosta
06-05-2008
Pessoal,
Esta modificação realmente só funciona na versão 1.7.0 RC2.
Irei estar debugando pra ver o que mudou, que pode estar afetando esta modificação que foi feita.
Postarei aqui no blog assim que realizar a alteração para a 1.7.4
Ricardo
13-01-2009
Ola excelente post estou esperando para ver se funciona na 1.7.4 se funcionar eu coloco aqui …. preciso de uma outra dica sua , estou criando um custom field chamado Pre-requisitos , gostaria que ele ficasse do tamanha do campo step isso é possível?
Abraços
Ricarod.
eudescosta
14-01-2009
Oi Ricardo, não tenho certeza, posso verificar e lhe dar um retorno.
Maycon Nicoletti
05-05-2009
Em primeiro lugar gostaria de parabenizá-lo pelo excelente trabalho que você faz em seu blog.
Em segundo lugar gostaria de pedir uma ajudinha:
Preciso exportar para xml, além keyword associada ao caso de teste, também a regra de sistema (Requirement) associada ao mesmo caso de teste.
Seria possível você me ajudar?
Obrigado.
Maycon Felix Nicoletti