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
<strong>{lang_get s='keyword'} </font></strong>
<strong> </strong>
<select name="keyword_id"> </select>
Mude a linha para:
<strong> {lang_get s='trep_prio'} </font></strong>
<strong> </strong>
3) Alteração do artigo planAddTCNavigator.php
Abra o arquivo “…\lib\plan\planAddTCNavigator.php” e faça as seguintes alterações:
Código Atual:
$keywords_map = $tproject_mgr->get_keywords_map($tproject_id, " order by keyword "); if(!is_null($keywords_map)) $keywords_map = array( 0 => '') + $keywords_map;
Alteração:
$keywords_map = array( 0 => '', 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5);
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:
if($keyword_id)
{
$tck_map = $tproject_mgr-><strong>get_keywords_tcases</strong>($tproject_id,$keyword_id);
}
Alteração:
if($keyword_id)
{
$tck_map = $tproject_mgr ><strong>get_priority_tcases</strong>($tproject_id,$keyword_id);
}
5) Alteração no arquivo testproject.class.php
Abra o arquivo “…\lib\functions\testproject.class.php” e adicione o método:
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);
}
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:
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} ";
}
Alteração:
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} ";
}
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:
$tck_map = $tobj_mgr->get_keywords_tcases($tobj_id,$keyword_id);
Alteração:
$tck_map = $tobj_mgr->get_priority_tcases($tobj_id,$keyword_id);
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.
1 Opiniao
Opine!
(Comente)
(Vote!)






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