このセクションでは、ソース管理システムに C++test を接続する方法について説明します。

このセクションの内容

C++test のソース管理のサポート

C++test 環境にプラグインするソース管理システムを使って、ソースファイルとテストファ イルを管理することができます。

 下記のリストにある「サポートされるソース管理システム」をチームが使用している場合、適切な構 成を行うことで Parasoft から次の操作を行うことができます。

  • ソース管理システムのファイルリビジョンデータを使ってコードの作成者を判定し、作成 者と編集時刻に基づいて、タスクの再割り当てとテストスコープの制限を行うほか、テスト の失敗とポリシーの違反を担当者に自動的に割り当てる。詳細については「タスクの割り当てとコード作成者の設定」を参照してください。
  • テストの前にソース管理システムからプロジェクトを更新する ( テストコンフィギュレー ションの [ 共通] タブ > [ ソース管理] > [プロジェクトを更新] を有効にしている 場合)。
  • コードレビューの準備と追跡を自動化する (「コード レビュー」を参照して ください)。


現在 Parasoft Test は次のソース管理システムをサポートします。

  • AccuRev - 4.6、5.x でテスト
  • ClearCase - 2003.06.00 でテスト
  • CVS - 1.1.2 でテスト
  • Git - 1.7+ でテスト
  • Perforce - 2006.2、2015 でテスト
  • Serena Dimensions - 9.1、10.3 (2009 R2)、12.2 でテスト
  • StarTeam - 2005、2008、2009 でテスト
  • Subversion (SVN) - 1.2.x、1.3.x、1.4.x、1.5.x、1.6.x、1.7.x、1.8.x でテスト
  • Synergy - 6.4、7.0、7.1 でテスト
  • Team Foundation Server - 2010、2012、2015 でテスト
  • Visual SourceSafe - 5.0、6.0、2005 でテスト

さらに、Parasoft Test のソース管理 API を使用すると、他の任意のソース管理ツールとのシームレ スな統合を追加することができます。詳細については「カスタムソース管理システムの統合」を参照してください。

Subclipse Support Notes

  • Subclipse プラグインの各バージョンは、それぞれ特定のバージョンの Subversion とだ け互換性があります。現在使用している Subclipse プラグインと、Parasoft Test がサ ポートする Subversion との間に互換性があることを確認してください。例えば、 Subversion 1.3 と Subclipse プラグイン 1.2 をインストールしてはいけません。 Subclipse プラグイン 1.2 が使用するのは Subversion 1.4 です。Subclipse 1.4.x は JavaHL/SVNKit の Subversion 1.5.0 を必要とします。Subclipse 1.4.5 はすでに Subversion クライアントアダプター 1.5.2 を持っています。
  • Subversion 1.4 で追加された変更のために、バージョン 1.4 よりも前の Subversion ク ライアントは、Subversion 1.4 が生成する作業コピーに対して作業できません。 Subversion 1.4 に付属の Subclipse プラグイン 1.2 を使用している場合、次のエラー メッセージを受け取ることがあります。 svn: This client is too old to work with working copy '.'; please get a newer Subversion client これは、Parasoft Test がバージョン 1.3 以前のコマンドラインクライアントを使用し ていることを意味します。解決方法は、コマンドライン SVN クライアントをバージョン 1.4 に更新することです。svn --version コマンドを実行すると、クライアントのバー ジョンを確認できます。

ファイルを変更しようとするとダイアログが表示される理由

一部のソース管理システム (ClearCase、Perforce、 Synergy、 Visual SourceSafe が該当) は、 ソースを編集するときにユーザーによるマーク ( ロック) を必要とします。そのようなソース管 理システムを使用している場合、ソース管理システム中の「読み取り専用」ファイルを開こうと する操作を C++test で行うと、C++test はダイアログを表示して、ファイルを書き込 み可能にしてロックするかをユーザーに問い合わせます。ユーザーが [OK] をクリックしてソー ス管理システムのユーザー名とパスワードを入力すると、C++test はソース管理システムに アクセスしてマーク ( ロック) を設定します。

ソース管理システムのサポートを有効にする

使用するソース管理システムのサポートを有効にするには、次の操作を行います。

  1. ソース管理システムのコマンドラインクライアントを環境変数の PATH に必ず設定して、 Parasoft Test の起動時に利用可能にします。

      • 例えば Subversion がある場合、Eclipse に Subclipse プラグイン (SVN Eclipse プラグイン) をインストールするのは不十分です ( Subclipse のインストールは必 須ではありません)。コマンドラインの Subversion クライアント ( svn.exe ) を使 用するべきです。

  2. [Parasoft] メニューの [ 設定] をクリックします。
  3. [Parasoft] の下の [ スコープと作成者] をクリックします。
  4. [ ソース管理システムを使ってスコープを計算] チェックボックスをオンにします。
  5. [Parasoft] の下の [ ソース管理] を選択します。
  6. C++test 環境設定-概要」に従って適切なリポジトリがすでに設定 されている場合、ユーザーとパスワードを入力します。ソース管理システムのクライアント 実行ファイルへのパスをまだシステムパスで設定していない場合は、このパスも入力しま す。
  7. C++test 環境設定-概要」で説明している方法に従って適切なリポ ジトリがまだ設定されていない場合、以下の手順に従って設定します。 
    1. 使用するソース管理システムのチェックボックスをオンにします。
    2. ソース管理システムのクライアント実行ファイルがシステムパスにない場合、ソー ス管理システム名の隣のテキストフィールドでパスを指定します。
    3. [ 定義されたソース管理システム] の [ 新規] ボタンをクリックします。表示されたダイアログでソース管理システムのプロパティを設定し、[OK] をクリッ クします。
      • [ソース管理システムの説明を作成] ダイアログのフィールドについては、次のセクションで説明します。
    4. [ 設定] ウィンドウに戻って [ 適用] ボタンをクリックします。
  8. [ 適用] ボタンをクリックして [OK] をクリックします。

ソース管理システムとの統合をテストするには、次の操作を行います。

  1. Parasoft Test の環境で、リポジトリからチェックアウトしたプロジェクトを開きます。
  2. エディターでファイルを開きます。
  3. ソースコードを右クリックし、ショートカットメニューの [Parasoft] > [ 行の作成者を表示] をクリックします。作成者が表示された場合は、ソース管理システムと C++test は正常に統合されています。

デバッグのヒント

ソース管理との統合における問題をトラブルシューティングするには、次のコマンドを実行しま
す。コンソールに詳細なログ情報が表示されます。
-consolelog -J-Dcom.parasoft.xtest.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/logging.on.xml
ユーザーソースコードを含んだソース管理システムからのメッセージを表示するには、さらに次のフラグを使用します。

-Dscontrol.log=true


AccuRev の構成

次のリポジトリプロパティを指定します。

  • サーバー    AccuRev が実行中のサーバーのホスト名を入力します ( 必須)。
  • ポート    AccuRev が実行中のサーバーのポート番号を入力します ( 必須)。
  • ユーザー名    AccuRev のユーザー名/ ログイン名を入力します ( 必須)。
  • パスワード    AccuRev のパスワードを入力します ( 必要な場合)。

ClearCase の構成

C++test と ClearCase を連携して使用するには、次の操作を行います。

  • ファイルが ClearCase によって制御されているかをチェックするには、
    cleartool describe -fmt %Vn <file_path>
    コマンドを実行します。出力がない場合、ファイルは ClearCase によって制御されていません。
  • VOB ルートディレクトリの下に lost+found ディレクトリがあることを確認します。

次のリポジトリプロパティを指定します。

  • VOB の場所    ダイナミックまたはスナップショットの VOB アクセスパスを入力します。フルパスで指定します。
    例:
    /vobs/myvob (Linux ダイナミックビュー )
    M:\\my_dynamic_view\myvob (Windows VOB パス)

    なお、VOB の場所を入力するとき、VOB タグフィールドに自動的に VOB タグが表示され
    ることに注意してください。VOB の場所が適切なパスではない場合、警告メッセージが表示
    されます。

CVS の構成

Parasoft Test と CVS を連携して使用するには、.cvspass ファイルを次のいずれかの場所に置く必 要があります。

  • user.home システムプロパティ
  • HOME 環境変数
  • (Windows) HOMEDRIVE と HOMEPATH の組み合わせ (例: "C:" + "\home")
  • 現行の作業ディレクトリ

次のリポジトリプロパティを指定します。

[全般] タブ

  • 接続タイプ    CVS サーバーの認証プロトコル
  • ユーザー    リポジトリに接続するときに使用するユーザー名
  • パスワード    ユーザーのパスワード
  • リポジトリパス    サーバー上のリポジトリへのパス
  • サーバーCVS    サーバーのマシン名と IP アドレス
  •  ポート    CVS サーバーのポート接続タイプ

[ カスタム  SSH/CVS_RSH] タブ

  • CVS_SERVER 値    EXT モードで CVS サーバーに接続している場合に、サーバーサイドでどの CVS アプリケーションを起動するかを指定します。
  • ext または server 方式にカスタム SSH 認証プロパティを使用する    ext/server 方式にカスタムの SSH 認証を使用する場合、このチェックボックスをオンにします。
  • リモートシェルログイン    リモートシェル ログイン
  • リモートシェルパスワード    リモートシェルログインのパスワード
  • プライベートキー    ファイルプライベートキー ファイル
  • プライベートキー のパスフレーズ    プライベートキー ファイルのパスワード
  •  コマンドラインプログラムを使用して接続を確立    外部プログラムを実行して EXT 接続を確立できます。非標準またはレガシーなプロトコル接続 (telnet、rsh) にだけ、このオプションを使用してください。パスワード/ パスフレーズ/ セキュリティワード シーケンスの
    ための Linux/Unix/Cygwin の ssh プロンプトは現在サポートされていません。
  • CVS_RSH パス    EXT 接続を確立するために使用する実行ファイルの絶対パスを指定します。
  • CVS_RSH パラメーター    実行ファイルのパラメーターを指定します。次のマクロ定義を使って、値をコマンドラインパラメーターに展開できます。これらのマクロ定義では大文字と小文字が区別されます。
    • {host} - ホストパラメーター
    • {port} - ポートパラメーター
    • {user} - プライマリページからのユーザーパラメーター
    • {password} - プライマリページからのユーザーパスワード
    • {extuser} - EXT/CVS_RSH ページからのユーザーパラメーター
    • {extpassword} - EXT/CVS_RSH ページからのパスワードパラメーター
    • {keyfile} - キーファイルへのパス
    • {passphrase} - キーファイルへのパスワード

Git の構成

C++test で Git を使用するには、次の操作を行います。

  1. git clone <repository> を実行します。リポジトリが匿名でのプルを許可している必要があることに注意してください。
  2. git:// URL から実行する場合、チェックインされた生成済みテストケースを自動的にプッシュするには、プッシュ URL を設定する必要があります。
  3. 新規作成されたリポジトリの user.name をgit config で設定します ( グローバル git user.name がすでに設定されている場合は、このステップを省略できます)。このuser.name はDTP ユーザー名と同じでなければなりません。

次のリポジトリプロパティを指定します。

  • URL    プル/ プッシュするリモートリポジトリの URL を指定します。プルおよびプッシュが無効な場合、このフィールドは空のままにします。すべての git URL を使用できます ( 例:git://host/repositoryssh://user@host user@host)。git コマンドラインはフラグ付
    きのクレデンシャル設定をサポートしていないため、ssh などの通常は認証を要求するプロトコルの場合、ID ファイルを設定してクレデンシャルがなくてもログインできるようにするか、匿名での接続が許可されるようにする必要があります。
  • ブランチ    ソース管理モジュールが使用するローカルワークスペース内のブランチ名を入力します。このフィールドが空の場合、現在チェックアウトされているブランチが使われます。
  • 作業フォルダー    ローカル git リポジトリのルートを入力します。

Perforce の構成

次のリポジトリプロパティを指定します。

  • サーバー    Perforce サーバーのマシン名と IP アドレス。
  • ポート    Perforce サーバーのポート。
  • ユーザー    リポジトリに接続するときに使用するユーザー名
  • パスワード    ユーザーのパスワード
  • クライアント P4CLIENT 環境変数またはそれに相当する変数で指定しているように、クライアントワークスペースの名前を入力します。

ワークスペースを使用して作成者を決定する

デフォルトでは、ユーザー名を使用してファイル/ メソッドの作成者が決定されます。しかし、チームによっては、共有のユーザー名と各開発者固有のワークスペースを使用して Perforce にアクセスする場合があります。
ワークスペース名 ( またはユーザー名とワークスペース名) を使用して作成者を決定するには、[作成者] タブを開いて設定を変更します。


Serena Dimensions の構成

Linux の構成についての注意点

C++test で Serena Dimensions を使用するには、 Linux ユーザーは dmcli などの Serena プログラムを使用するために準備された環境で C++test を実行するべきです。

  • LD_LIBRARY_PATH に <SERENA Install Dir>/libs へのパスを追加します。
  • DM_HOME を指定するべきです。
次のリポジトリプロパティを指定します。


プロパティ タブ

  • ユーザー: Serena Dimensions のログイン名
  • パスワード: Serena Dimensions のパスワード
  • サーバー: Serena Dimensions サーバーのホスト名
  • データベース名: 連携する製品のデータベース名
  • データベース接続 データベースの接続文字列
  • サーバー ロケール: 言語を選択します

ワークセット マップ タブ

プロジェクトがデフォルトのワーク エリア以外の場所からダウンロード/移動されたものである場合、このタブを使用して Serena リポジトリがあるプロジェクト (またはストリーム) とローカル プロジェクトの間のマッピングを指定します。

デフォルトのワーク エリアで作業する場合、マッピングを定義する必要はありません。 

ワークスペース リソースと Serena Dimension リポジトリのパスをマッピングする式を入力します。

  • 例 1: scontrol.rep.serena.mapping_1=${project_loc\:MyProject};PRODUCT1\: WORKSET1;src\\MyProject

    を使用する場合、プロジェクト MyProject は Serena ワークセット PRODUCT1:WORKSET1 にマップされ、ワークセットの相対パスは src\\MyProject になります。

  • 例 2: scontrol.rep.serena.mapping_2=${workspace_loc};PRODUCT1\:WORKSET1

    を使用する場合、完全なワークスペースが Serena ワークセット PRODUCT1:WORKSET1 にマップされます。

StarTeam の構成

C++test StarTeam を使用するには、次のことが必要です。

  • Borland StarTeam SDK のインストールが必要です。この SDK は Borland 社の Web サイトから無料でダウンロードできます。

Visual Studio プラグインの場合、Parasoft StarTeam サポートは VS 2005 および VS 2008 で利用可能です。ソース管理システムのサポートを有効にし、以下のリポジトリ プロパティを設定します。

  • サーバー: StarTeam サーバーのマシン名または IP アドレス
  • ポート: StarTeam サーバーのポート
  • ユーザー: リポジトリに接続するときに使用するユーザー名
  • パスワード: ユーザーのパスワード
  • パス ルックアップ> StarTeam パス: 大規模な複数プロジェクトのリポジトリで作業している場合に、作業対象のプロジェクト、ビュー、またはフォルダーを指定することでパフォーマンスを向上させることができます。単純なプロジェクト名 (リポジトリ パスを探索するときにすべてのビューがスキャンされる)、プロジェクト/ビュー (指定のビューだけがスキャンさされる)、またはプロジェクト/ビュー/フォルダー (指定の StarTeam フォルダーだけがスキャンされる) を指定できます。
  • パス ルックアップ> 作業フォルダー: [StarTeam パス] の設定で StarTeam ビューまたはフォルダーを指定している場合、選択したビューのルート フォルダーのための新しい作業ディレクトリ (パスがビューを表す場合) または選択したフォルダーのための新しい作業ディレクトリ (パスがフォルダーを表す場合) を指定できます。

Subversion の構成

Parasoft  の Subversion のサポートはコマンドライン クライアント 'svn' に基づきます。C++test と Subversion を連携して使用するには、次の点に注意してください。

  • Subversion 1.2.x、1.3.x、1.4.x、1.5.x、1.6.x、1.7.x または 1.8.x のクライアントをインストールする必要があります。

  • クライアント証明書を Subversion のコンフィギュレーション エリアに格納している必要があります。Subversion クライアントには、ディスク上の認証証明書にアクセスするためのビルトイン システムがあります。デフォルトでは、コマンドライン クライアントがサーバーでの自分自身の認証に成功するたびに、クライアントはユーザー個人のランタイム コンフィギュレーション エリアに証明書を保存します。UNIX 系のシステムでは ~/.subversion/auth/ であり、Windows では %APPDATA%/Subversion/auth/ です。

ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。

  • URL: SVN サーバーの URL。URL にはプロトコル、サーバー名、ポート、および開始リポジトリパスを指定します。例: svn://buildmachine.foobar.com/home/svn
  • ユーザー: リポジトリに接続するときに使用するユーザー名
  • パスワード: ユーザーのパスワード

Synergy の構成

Synergy 7.0 では Web モードと呼ばれる高速な作業方法が導入されました。Parasoft Test は以下の Synergy/CM 通信モードの両方をサポートしています。

  • Web モード (Synergy 7.0 以降)
  • トラディショナルモード

ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。

  • データベース パス: Synergy データベースの絶対パス
  • エンジン ホスト: Synergy サーバーのマシン名と IP アドレス。Web モードの場合、ホストはプロトコルおよびポート付きの有効な Synergy Web URL を持っている必要があります (例: http://synergy.server:8400)。
  • ユーザー: リポジトリに接続するときに使用するユーザー名
  • パスワード: ユーザーのパスワード
  • リモート クライアントを使用 (UNIX システムのみ): リモート クライアント セッションとして CCM を起動する場合、このオプションをオンにします。このプロパティは Web モードでは使用されません。
  • ローカル データベース パス (リモート クライアント): リモート クライアント セッションを実行するときにデータベース情報がコピーされる場所へのパスを入力します。このプロパティは Web モードでは使用されません。

Team Foundation Server の構成

C++test は TFS 2008、2010、2012、2013、および 2015 と連携します。C++test for Eclipse と TFS を統合するために追加のソフトウェアをインストールする必要はありません (必要なライブラリはインストールに含まれています)。

ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。

  • URL: Team Foundation Server リポジトリの URL を入力します (例: http://localhost:8080/tfs)。
  • カスタム証明書の使用: カスタムの TFS 証明書を提供する場合、このオプションをオンにします。このオプションを指定しない場合、システムの証明書が使用されます。
  • ユーザー: ユーザーの名前
  • パスワード: ユーザーのパスワード

デフォルトでは、C++test は TFS にアクセスするためにキャッシュされた証明書を必要とします。これは、ユーザー ログイン情報や何らかの以前のログイン情報です。キャッシュされた証明書ではなく、カスタム証明書を使用することも可能です。

Visual SourceSafe の構成

ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。

  • VSS データベース: データベース パス (SRCSAFE.INI の場所)
  • ユーザー: リポジトリに接続するときに使用するユーザー名
  • パスワード: ユーザーのパスワード
  • プロジェクトルート: プロジェクトのルート。プロジェクトのルートは $/nightly_test のように "$/" で開始します。

ローカル設定ファイルでのソース管理システムの定義

ローカル設定ファイルを使ってソース管理システムの定義を指定できます (DTP を使用したチーム レベルの設定共有やコマンド ラインでのオプション指定のため)。詳細については、「ローカル設定の指定」を参照してください。 

  • No labels