読者です 読者をやめる 読者になる 読者になる

Natural Software

KinectなどのDepthセンサーを中心に活動しています

TestLink の使いどころ

TestLink

前に書いたことで、TestLink が一番力を発揮するのはおそらく受け入れテスト。
TestLink でのテストと、BTS連携についていろいろ考えた - かおるんダイアリー


あと、単体テストC# の場合 Hudson + NUnit + TestLink Adapter で自動テストを繰り返し行い結果を蓄積する。
TestLink へ単体テストの結果を自動で登録する - かおるんダイアリー
いろいろ合わせた単体テスト環境の作成 - かおるんダイアリー


最後に残ったのが結合テストで、ここでは失敗ケースも多く、テスト自体は受け入れテストと変わらないと思うけど、BTS との連携部分で手間が発生してしまう。
で、解決策となるようなものを考えてみた。

TracTestLinkXML-RPC クライアントを組み合わせたデスクトップアプリケーション

まず一つ目がこれ。
TracTestLink ともに XML-RPC が使えるので、それを組み合わせて

  1. テスト実行
  2. 失敗
  3. Trac へチケットを登録/ Trac のチケットを検索
  4. TestLink へ結果とチケットIDを登録


それぞれの XML-RPC ライブラリは大体実装したので、組み合わせでアプリを作ることができそう。

UI Automation を使った自動結合テスト

今日ふと思いついたのがこれ。
Windows .NET 環境に限られるけど、UI AutomationTestLink Adapter を組み合わせれば、自動結合テスト環境ができそう。
ついでに TestLink Adapter を改造して、Trac のチケット登録と、テスト結果/チケットID の登録を合わせて行うことができれば万々歳。
#エラーがたくさん出た時に、チケットがエラいことになりそうだけど、それは実施前にちゃんと確認するということで^^;

まとめ

この環境が作れれば

  1. 単体テストは自動で TestLink に登録
  2. 結合テストも自動で TestLink に登録
  3. 受け入れテストは手動で TestLink に登録

という一連のテスト環境の流れができる。


結合テストを自動で流せれば、品質も確保できそう。
#UI Automation 側のコストが高くつきそうなので、それはおいおい検証しませう^^;


やっぱり自動化環境は環境を作るのが楽しい。
id:kanu-orz さんの記事のついでに、自分が Trac から Redmine に移行できない唯一の理由は Redmine にリモート API がないことかもしれない。