Testlink: Campos Customizados & priorização de CT´s

sexta-feira, 18 de abril de 2008. | Post Atualizado.

(Comente)


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

image

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.


    


Gostou? assine o feed | Discordou? opine! ou entre em contato

1 Opiniao

     
    Gravatar





    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

     

Opine!




Caso possua um site, preencha este campo que ele sera exibido na pagina inicial na aba "+ leitores".

Clique nos smileys abaixo para adicionar ao seu texto.

≈down≈ :/ :) ≈angel≈ :( ≈eek≈ ≈!≈ ≈shock≈ ≈mad≈ ≈mrgreen≈ ≈XO≈ ≈vangry≈ :D ≈neutral≈ ::15 ≈roll≈ ≈twisted≈ ≈halo≈ ≈???≈ ≈cool≈ ;) ≈cry≈ ≈oops≈ ≈kiss≈ ≈$≈ :P ≈pirate≈ ≈up≈