次の結果を表示 
次の代わりに検索 
もしかして 

【OTA】QualityCenter/ALMのAPIであるOTAの基本

Highlighted
頻繁なアドバイザー

【OTA】QualityCenter/ALMのAPIであるOTAの基本

HP QualityCenter(QC)/ALMの魅力の一つとして,外部連携するためのAPIがちゃんと用意されているというのがあります.QCにからデータを取り出したい,QCのデータを外部ツールから自動更新してしまいたい.といったニーズは多くの場面で出てきます.

 

QCには昔からOTA(OpenTestArchtecture)API というCOM libraryで他のアプリケーションと連携ができるようになっています.ComはVBに統合できるので,例えばMs-ExcelでのVBAに対してComを統合してマクロを作ることができます。

 

OTAを使うとどんなことができるでしょうか?

 

・他の自動テストツールがQCに書いてあるテストを呼び出して,そこの添付ファイルのデータを入力パラメータにしてテストを実行する

・テスト結果をQCのテストインスタンスに返す(自動でテスト結果の集計ができる)

 

・他のバグトラッキングツールの情報を読み込み,テストケースとのトレースをとる.

 

・テスト設計した結果を自動的にQCに流し込む

 

など,ちょっと考えただけでも沢山の連携方法が思いつきます.

 

実際はどんなコードを書くのか?

 

 

覚えておいたほうがよいものとしてセッションオブジェクトと,エンティティオブジェクト,ファクトリーオブジェクトの3つがあります.

 

・セッションオブジェクトはQCと接続させるためのものです.

・エンティティオブジェクトは該当のデータの属性群を保持する役割とDBを更新するメソッドからなるオブジェクトです

・ファクトリーオブジェクトはエンティティオブジェクトをもろもろ操作するためのオブジェクトです.

 

以下に簡単なコードの例を掲載してみます.

 

不具合ID1のステータスを「終了」に変更し,更新日と一緒に登録するサンプルです.

 

まずエクセルのほうでOTA Com ライブラリの登録を行います.

新しいビットマップ イメージ.jpg

 

 

その後,VBAの画面でコードを書いていきます

 

1.変数を定義

 

Dim tdc as TDConnection
Dim BugFact as BugFuctory
Dim theBug as Bug

Dim BugID as Integer

’ログイン用の情報
Dim domain As String
Dim project As String
Dim SERVER_URL As String 
Dim USER_NAME As String
Dim QCPassword As String

 

この例だと,BugFactがファクトリーオブジェクトでtheBugがエンティティオブジェクトになります.

 

 

 

1,セッションを生成
<例>

Set tdc = New TDConnection
    tdc.InitConnectionEx SERVER_URL
    tdc.Login USER_NAME, QCPassword
    tdc.Connect domain, project

 これはどのコードでも絶対必要な処理です.

 

上記の

   SERVER_URL,USER_NAME, QCPassword,domain, projectはそれぞれ別の場所で値を入れておいてください.

 

2,セッションに対してファクトリーオブジェクトを生成します.

<例>

Set BugFact = tdc.BugFactory
BugID=1

 

3,変更内容で更新する.

<例>

Set theBug = BugFact.Item(BugID)
theBug.field("BG_STATUS") = "終了"
theBug.field("BG_CLOSING_DATE") = Date '今日の日付が入る
theBug.Post

 

ファクトリーオブジェクトでBugIDが1のデータを取得し,それを基に加工対象となるエンティティオブジェクトを生成して,

ステータスと日付の属性を更新したうえで,そのオブジェクトのメソッド(post)で登録しています.

 

-----

 

 

こんな感じで結構簡単です.

 

上記のマクロをエクセルで作成して,実行するとQCの結果が書き変わります.

 

エクセルのシートに書いた内容を基に更新したい場合は,代入する値をエクセルのセルにすればOKです.

ここら辺はEXCELVBAの基本なのでWebにもたくさん情報が載っていますので調べてもらえればと思います.

 

 

もしまだ試したことがない方はトライしてみてください.