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 >