[Testlinkjp-users] [tef-testlink 5823] TestLink 1.8.0用のXML-RPC拡張パッチ、getTestLinkClient

Back to archive index

Akipii Oga akipi****@gmail*****
2009年 1月 6日 (火) 18:36:40 JST


西山さん

あきぴーです。
西山さん作成のテストケースImpotマクロは重宝しております。

下記の関数は非常に興味アリです!

僕が作るテスト仕様書では、

・要件一覧
・テストケース一覧
・テストケースごとに要件管理IDを振っている

のマスタデータはあるので、下記の関数を使ったRubyプログラムを用意
すれば、1回のバッチ処理で、要件とテストケースを紐づけできるわけですね!

僕としては、下記2点の関数もあると嬉しいです。

・テスト計画にテストスイート、テストケースを一括アサインする
・テストスイート、テストケースにユーザを一括アサインする

つまり、下記のTestLink運用フローが全て、XML-RPC経由で一括更新
できれば非常に役立ちます。

仮定:
テスト計画、ユーザはTestLink上で作成済み。
要件、テストケース、要件とテストケースの紐付けの各データは作成済み。

運用フロー:
要件を一括インポート
↓
テストケースを一括インポート
↓
テストケースと要件の紐付けを一括更新
↓
テスト計画にテストケースを一括アサインする
↓
テストスイート単位にテスト担当者を一括アサインする
↓
(TestLink上でビルドを作成)
↓
関連するテストケースを成功(or 失敗 or ブロック)で一括登録する
↓
テストケース失敗時は、関係するテストケース全てにRedmineチケットIDを登録する
↓
・全般的なテスト計画のメトリクス→テスト担当者単位でテスト進捗率を日別で表示
・各テストケースの全バグ→NGテストケースのバグチケットのステータスを表示
・要件とテストケースのカバレッジ
を出力する

TestLinkをテスト仕様書代わりに運用する場合、テストケース数は数千〜数万オーダー
が当たり前なので、TestLinkで手作業で運用しいている部分をXML-RPCで自動化
できれば、運用がすごく楽になります。

ご検討して下さると幸いです。
以上、よろしくお願いします。

2009/01/06 17:39 西山 博実 <hnish****@skygr*****>:
> garyoさん、あきぴーさん
> 西山です。
>
> 「要件とテストケースの割付け関数」を検討してみました。
> テストケースと要件の1:1の割付け(アサイン)と、切離し(未アサイン)をします。
>
>
> 疑問点は、tl.relationTCAndReq(TCid, Reqid)、tl.freeTCAndReq(TCid, Reqid)
> の処理で、req_coverageテーブル以外に更新するテーブルがあるかどうかです。
> ざっとgrepした範囲では無い様ですが、御本家へ問い合わせて頂けますと
> 安全かなとも思います。。。
>
> ご意見をお願いします。
>
>
> ●テストケースと要件を割付ける関数:GetTestLinkClient::relationTCAndReqByName(projname,ReqSpec,ReqDoc,testcasename,testsuitename)
>
> (1)tl.getProjects()により、projname から、proj_idを得る
> (2)tl.getRequirementsIDByName(proj_id, ReqSpec, ReqDoc)により、Reqidを得る
> (3)tl.getTestCaseIDByName()により、testcasename, testsuitenameから、TCidを得る
> (4)tl.relationTCAndReq(TCid, Reqid)により、テストケースと要件を割付ける
>
> ●テストケースと要件を切離す関数:GetTestLinkClient::freeTCAndReqByName(projname,ReqSpec,ReqDoc,testcasename,testsuitename)
>
> (1)tl.getProjects()により、projname から、proj_idを得る
> (2)tl.getRequirementsIDByName(proj_id, ReqSpec, ReqDoc)により、Reqidを得る
> (3)tl.getTestCaseIDByName()により、testcasename, testsuitenameから、TCidを得る
> (4)tl.freeTCAndReq(TCid, Reqid)により、テストケースと要件を切離す
>
> ------------
>
> ●要件名から要件IDを取得する関数:tl.getRequirementsIDByName(proj_id,
> ReqSpec, ReqDoc)
> (1)req_specs:要件テーブルからtestproject_id == proj_id AND title ==
> reqSpec で、ReqSpec_idを得る
> (2)requirements:ドキュメントテーブルから srs_id == ReqSpec_id で、id,
> statusを得る
>  (3)status==有効以外ならば、id=0を戻す
>
> ●テストケースIDと要件IDを割付ける関数:tl.relationTCAndReq(TCid, Reqid)
> (1)req_coverage:テーブルに、req_id = Reqid, testcase_id = TCid のケースがなければ追加する。
>
>
> ●テストケースIDと要件IDを切り離す関数:tl.freeTCAndReq(TCid, Reqid)
> (1)req_coverage:テーブルから、req_id == Reqid, testcase_id == TCid のケースがあれば削除する。
>
> _______________________________________________
> Testlinkjp-users mailing list
> Testl****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/testlinkjp-users
>




Testlinkjp-users メーリングリストの案内
Back to archive index