« ツールが開発プロセスを改善する | トップページ | バグの優先度は意思決定プロセスの結果 »

2008/11/10

TestLink設定メモ

TestLinkを運用する時の設定メモ。

TestLinkはRedmine以上に癖が多く、デフォルト機能のままではすごく使い辛い。
大人数でテストケースを厳格に管理しようとして、逆に使い辛くなっているから、基本は制限を緩めた方が使いやすいと思う。

#八朔さんへの援護射撃になるかな?

【環境】
TestLink 1.7.4

【1】RedmineとTestLinkの連係

TestLinkテストケースが失敗になったら、バグ登録する。
この時、BTSと連携する重要な機能。
Mantis、Bugzilla、Trac、Redmineが連携可能だ。
BTSのURLを設定するだけでOK。

この機能を使うと、テスト実行画面で「失敗」ケースのバグアイコンからバグ管理IDを登録すれば、BTSのチケットへリンクできる。
更に、テスト結果画面にある「失敗したテストケース一覧」リンクから、NGケースとRedmineのチケットが一覧表示される。
しかも、Redmineチケット名は、「解決~バグxx発見!」というフォーマットなので、チケットのステータスも見える。
だから、チケットが解決ステータスになったら、テスト担当者はすぐに再テストすればいい。

このバグは直したんだっけ?
NGのケースはもうテストした?
という作業指示を僕が逐一出す必要が無い。

わずか数人のチームでさえも、TestLinkにインポートしたテストケースは優に1千件を超えている。
ExcelはSW開発で不要だ!とつくづく思う。

【2】メイン画面のロゴ変更
自分の会社やOSSのロゴを使いたい時に対応する。

/testlink/gui/themes/theme_m1/images
company_logo.png
を上書きする。

【3】大量のテストケースをインポート

TestLinkのメーリングリストで下記ツールを教えてもらった。

TestLinkはシナリオベースのテストケースが管理対象だ。
あくまでも手動テストケースを管理するツール。
だから、既存のExcelのテスト仕様書からいかに簡単にコンバートできるかが鍵。

テストケースは普通、Excel上で増幅して作るため、数千・数万のオーダーでテストケースをインポートしたい時が多い。
下記ツールで1千件ぐらいなら簡単にインポートできる。

v06_TestLinkCnvMacro.xls

【4】インポートのXMLファイルサイズを変更する
config.inc.php のTL_IMPORT_LIMITとTL_IMPORT_ROW_MAXの値を下記に変更する。

/** some maxima related to importing stuff in TL */
// Maximum uploadfile size
// Also check your PHP settings (default is usually 2MBs)
//define('TL_IMPORT_LIMIT', '204800'); // in bytes
define('TL_IMPORT_LIMIT', '2097152'); // in bytes

/** maximum line size of the imported file */
//define('TL_IMPORT_ROW_MAX', '10000'); // in chars
define('TL_IMPORT_ROW_MAX', '15000'); // in chars

【5】TestLinkのテストケースからExcelのテスト仕様書を作る

TestLinkのテストスイート・テストケースをエクスポート後、ExcelのXMLインポート機能を使う。
但し、レイアウト整形は手作業になる。

【6】テストスイート表示のパフォーマンス改善
テストケースが1千件を超えると、JavaScriptが原因でテストスイート表示機能が遅くなるので、下記に変更する。

custom_config.inc.php に、以下の記述へ修正
$g_tree_type='JTREE';

【7】日本時間に合わせる
 「config.inc.php - /** [CHARSET] */」への追加

   /** [CHARSET] */
   date_default_timezone_set('Asia/Tokyo');

【8】実行済みのテストケースの編集・削除を可能にする

TestLinkのデフォルト機能では、一度実行したテストケースを編集したり削除できない。
しかし実際のテストでは、テストした結果、設計書が間違っていてテストケースを編集せざるを得ない時は多い。

編集可能にするには、「config.inc.php - 516行付近」

/** [Test case] */
    :
//$g_testcase_cfg->can_edit_executed=0;
$g_testcase_cfg->can_edit_executed=1;


削除可能にするには、「config.inc.php - 559行付近」で

//$g_exec_cfg->can_delete_execution=0;
$g_exec_cfg->can_delete_execution=1;

【9】アップロードした添付ファイルをDBへ格納

テストケースにファイルを添付したい時がある。
TestLinkのデフォルトは普通にアップロードするだけだが、上記の設定でDBへ格納できる。
DBにある方が、SQLで一発で検索もできるし、バックアップや移行作業もやりやすい。

config_inc.php
316行

$g_repositoryType = TL_REPOSITORY_TYPE_DB; へ修正する。

【10】アップロードするファイルのMaxサイズを拡大

アップロードするファイルのMaxサイズを変更するには「config.inc.php 174行付近」の以下を変更。

  /** [GUI] */

  //define('TL_IMPORT_LIMIT', '204800'); // in bytes
  define('TL_IMPORT_LIMIT', '512000'); // in bytes

 「334行付近」

 //define("TL_REPOSITORY_MAXFILESIZE_MB", 1);
 define("TL_REPOSITORY_MAXFILESIZE_MB", 4);

【11】「テスト実行のアサイン」で「未割当」でも、テスト実行及びレポート出力できるようにする。
 また、Loginユーザー以外のテストケースも展開する。

実際のテストでは、テストケースを作りながらテストするときが多いから、アサインするユーザが決まっていない時が多い。
だから、条件を緩めないとテスト計画の全体像が見えない。

 「config.inc.php - 596行付近」

↓この設定を外すと、ユーザをテストケースにアサインしなくてもテスト実行できる。
  //$g_exec_cfg->exec_mode->tester='assigned_to_me';
 $g_exec_cfg->exec_mode->tester='all';

↓この設定を外すと、テスト実行時にアサインに関わらず、テストケースを全て表示できる。
//$g_exec_cfg->user_filter_default='logged_user';
$g_exec_cfg->user_filter_default='none';

【12】テストの実行で、(デフォルトで)実行した履歴を表示する

TestLinkのデフォルト機能では、最新の実行履歴しか表示しない。
下記の設定で、テスト実行の履歴が全て表示される。

 「config.inc.php - 533行付近」

/** [Executions] */
     :
//$g_exec_cfg->history_on=FALSE;
$g_exec_cfg->history_on=TRUE;

【13】テストケースをテスト計画へ追加画面で、チェックボックスのデフォルト表示=ONにする

TestLinkの管理機能はデフォルトのままでは非常に使い辛い。
数千件のテストケースをインポート後、テスト計画へテストケースを追加しようとすると、テストケスイートのチェックボックスを1個ずつチェックしなければならない。
だから下記でデフォルトでONで表示する。

/gui/templates/planAddTC_m1.tpl
ソースの書き換えが必要

124-127 このタグの最後に「checked」をつける

ユーザをテストケースへアサイン画面で、チェックボックスのデフォルト表示=ONにする
/gui/templates/tc_exec_assignment.tpl
ソースの書き換えが必要
85-87 このタグの最後に「checked」をつける

【14】ビルドのテスト結果画面(テスト実行画面)で、成功のラジオボタンのデフォルト表示=ONにする

デフォルトでは何故か「ブロック」になっている。
まとめてテストした結果を大量にコンバートする時、逐一「成功」を選択しないといけない。
そもそも、普通のテストでは、80%以上は「成功」のはず。
テスト結果が「ブロック」や「失敗」が半分以上のプロジェクトは、そもそも品質が悪いはずだ。

/custom_config.inc.php
カスタム設定ファイルに以下の設定を追加
$g_tc_status_for_ui_default = "passed"; // 成功:"passed", 失敗:"failed", ブロック: "blocked"

|

« ツールが開発プロセスを改善する | トップページ | バグの優先度は意思決定プロセスの結果 »

プロジェクトマネジメント」カテゴリの記事

Redmine」カテゴリの記事

ソフトウェア工学」カテゴリの記事

TestLink」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: TestLink設定メモ:

« ツールが開発プロセスを改善する | トップページ | バグの優先度は意思決定プロセスの結果 »