dotTESTユーザー様専用FAQ ver.9x

Q-1.インストール

Q-2.全般

Q-3.静的解析

Q-4.バグ探偵(フロー解析)

Q-5.メトリクス

Q-6.単体テスト

Q-7.アプリケーションカバレッジ

Q-8.レポート

Q-9.コマンドライン

A-1.インストール

Q1-1 dotTESTのバージョンはどのように確認することができますか?
dotTESTのバージョンは次の方法で確認できます。
メニューから[ヘルプ]>[ Microsoft Visual Studio のバージョン情報]をクリックします。
インストールされている製品の「Parasoft dotTEST」のバージョン情報をご確認ください。
Q1-2 対応しているVisual Studio のバージョンとエディションについて教えてください。
対応環境については、製品紹介ページの稼働環境をご確認ください。プラグインできるVisual Studioのエディションは、有償版のみとなります。無償で提供されているVisual Studio Expressにはプラグインできません。
Q1-3 dotTESTのインストールに失敗しました。
古いバージョンのdotTESTがインストールされていた場合は、以前のインストール情報が残っている可能性がありますので、”CLEAN_MAIN_VS_SUFFIX”のオプションをつけて、インストールをしてください。
例: >parasoft_dottest_9.x.x.exe CLEAN_MAIN_VS_SUFFIX
回避が出来ない場合は、インストールログを確認させて頂きますので、下記の2つのフォルダにあるログファイルをParasoft製品サポート(parasoft_support@techmatrix.co.jp)までお送りください。
<user_dir>¥AppData¥Local¥Xtest¥Dottest¥InstallLog
<user_dir>¥AppData¥Local¥Xtest¥ParasoftTest¥InstallLog
Q1-4 Visual Studioが複数バージョンインストールされている環境に、dotTESTをインストールすることができますか?
はい、インストールすることができます。どのVisual Studio のバージョンへプラグインするかも選択することが可能です。

A-2.全般

Q2-1 dotTESTは、.NETのどの言語でもテストできますか?
dotTESTで解析ができる言語については、C#、VB、C++/CLIになります。
C++/CLIには、次の制限事項がございます。
  • dllのみの解析となっており、アプリケーション(exe)に対しての解析を行うことはできません。
  • 静的解析のみのサポートなっており、バグ探偵・単体テストは対応しておりません。
Q2-2 ASP.NET を利用して、Webサイトのプロジェクトについて解析を行うことができますか?
はい、できます。ASP.NET マージ ツール(Aspnet_merge.exe)を利用しアセンブリを作成して、テストを行います。
Q2-3 dotTESTの制限事項はありますか?
静的解析・バグ探偵・メトリクスについては、x64のプラットフォーム用のアセンブリはサポートしておりません。[Any CPU]を利用してテストを行ってください。
その他の制限事項は、インストールディレクトリにリリースノート(releasenotes_ja.rtf)をご確認ください。こちらのドキュメントに制限事項や既知問題が記載されております。
Q2-4 テストを実行したらエラーになりました。どのように解決すればいいでしょうか?
弊社のサポートセンターへお問合せください。お問合せの際は、[dotTESTテクニカルサポートへの連絡方法]のページを参考にして頂き、ご利用の環境、操作手順やエラーメッセージをご連絡頂けますでしょうか
Q2-5 テストコンフィギュレーションをチームで共有したいのですができますか?
テストコンフィギュレーションは、インポートとエクスポートすることができます。チーム内で共有するには、エクスポートとインポートをご利用ください。
 
エクスポートとインポートの手順は、次の通りになります。
 
【テストコンフィギュレーションのエクスポート】
  1. メニューから[Parasoft] > [テストコンフィギュレーション]を選択
  2. 画面左のツリーから対象のテストコンフィギュレーションを選択し、コンテキストメニューより[エクスポート]を選択
    Q2-5
  3. 任意のディレクトリに保存
 
【テストコンフィギュレーションのインポート】
  1. メニューから[Parasoft] > [テストコンフィギュレーション]を選択
  2. 画面左のツリーから[ユーザー定義]を選択し、コンテキストメニューより[インポート]を選択
    Q2-5
  3. エクスポートしたテストコンフィギュレーションのファイルを選択
※Server Edition のライセンスをお持ちのお客様は、ConcertoのTeam Server機能を利用して頂くことが可能です。設定方法は、Parasoft Test のユーザーマニュアルの次の章をご覧ください [Parasoft Testの設定] > [Parasoft Team Server との接続]
Q2-6 Server Editionで実行した結果を Desktop Editionのマシンで確認することはできますか?
はいできます。作成したレポートからタスクをインポートすることで可能です。
違反のインポートの方法は、2通りあります。
① Team Serverを利用
② レポートXMLファイルを利用
※ Team Serverとは、Server Editionをお持ちの方が利用できる機能でConcerto の機能の一部です。
 
① Team Serverを利用
Team Serverを利用する場合は、設定が必要です。
メニューから [dotTEST] > [設定]で設定画面を起動し、設定画面の[Team Server]からConcertoがインストールされているマシンを指定してください。
 
dotTESTのテストの実行後、レポートの生成しTeam Serverにパブリッシュします。
※GUIの場合は、レポートとパブリッシュの画面で「レポートのパブリッシュ」をONにすることで、テスト結果をTeam Serverへアップロードできます。
コマンドラインの場合は、-publish オプションを付与してください。
 
レポートXMLファイルをインポートして確認します。
メニュー [Parasoft]>[インポート]から、「個人のタスク」を選択すると各自の修正のタスクをインポートすることが可能です。また、「カスタムタスク」を選択した場合は、すべてのタスクも確認することができます。
[Parasoft] > [探索] > [Team Serverレポート]を選択することで、過去のレポートも簡単に参照できるようになります。
 
② レポートXMLファイルを利用
[Parasoft]>[インポート]>[カスタムタスク]を選んで頂き、「ローカルファイル」を選択し、XMLファイルを指定することでインポートが可能です。
Q2-7 検出された違反をレポートしない方法がありますか?
抑制という機能を利用することで可能です。
抑制とは、特定の静的解析の違反を次の解析時にレポートしない機能になります。
品質タスクビューから抑制を行うか、ソースコードに特定のコードを記述することで抑制が可能となります。
詳しいことはマニュアルの次の章をご確認ください。
[はじめに]>[概念と用語]>[抑制]
Q2-8 抑制した内容をレポートに出力することができますか?
レポート設定の設定を変更することで可能です。
  1. メニューから[Parasoft]>[設定]をクリックし、設定画面を起動します。
  2. 設定画面の左側のツリーから[Parasoft]>[レポート]を選択し、設定画面を起動します。
  3. 「抑制の詳細」のチェックを有効にして設定を保存します。
抑制した内容をレポートに出力することができますか?
Q2-9 品質タスクビューに行番号が表示されません。
dotTEST9.5.8 から検出したタスクの該当行番号を品質タスクビューに表示しないように変更されました。
品質タスクビューに行番号を表示させるには以下の手順で設定を変更してください。
品質タスクビュー メニュー> 内容の構成 > Show line number in task description
 
Q2-9
 
Q2-9
 
Q2-9
Q2-10 最近変更したファイルのみを解析したいのですが、できますか?
dotTESTは、ファイル更新日付を指定し解析範囲を設定することできます。日付を指定した場合、指定した日付に更新されたファイルのみ解析する差分解析を行うことができます。解析範囲の日付の指定は、テストコンフィギュレーションの [スコープ] タブで設定します。
また、ファイルの更新日付以外にもSubversion や Git などの構成管理と連携し、行単位での差分解析を行うことができます。
[スコープ]タブで解析対象にフィルタリングしていただくことで、次の解析が行えます。
  • 指定の日付以降に追加/ 変更されたファイル/ 行だけをテストする
  • ローカル マシンで追加/ 変更されたファイル/ 行だけをテストする
  • 特定ユーザーによって変更されたファイルだけをテストする
※ 一部のファイルフィルター、行フィルターは、構成管理ツールと連携した場合のみ適用されます。
[スコープ]タブの詳細は、『dotTEST ユーザーズガイド』の[参照] > [テスト コンフィギュレーションの設定] > [スコープ] タブ- [テスト対象のコードを定義する] の章をご確認ください。
また、dotTEST が対応している構成管理ツール、および連携のための設定方法は『Parasoft Testユーザーズガイド』の [Parasoft Test の設定] > [ソース管理リポジトリとの接続]をご参照ください。
Q2-11 構成管理ツールから最新版のコードを取得して解析する仕組みを自動化することは出来ますか?
dotTESTには構成管理ツールのリポジトリ上のソースコードを取得するためのコマンドはありません。
構成管理ツール固有のコマンドで最新のコードを取得後、dotTEST のコマンドを使用して解析を行っていただくことで自動化していただけます。
以下にSubversionを利用した場合の例をあげます。
    ① svn コマンドで任意のリポジトリからプロジェクトをチェックアウトする。
    例:svn checkout file:///c:/work/project1

    ② チェックアウトしてきたプロジェクトに対して、dottestcliで解析を行う。
    例: dottestcli -solution -config "user://My Configuration"
    -solution オプション:解析対象の .sln ファイルを指定します。
    -config オプション:解析を行うテストコンフィギュレーションを指定します。

dottestcliの使用については、dotTEST のユーザーマニュアルの次の章をご覧ください。
・[セットアップとテストの基本事項] > [テストの実行] > [コマンドライン インターフェイスからのテスト]
Q2-12 複数台に dotTEST をセットアップします。すでに設定済みの内容を他のPCで使用することができますか?
dotTEST の設定をファイルにエクスポートすることが出来ます。エクスポートした設定情報を他の PC にインストールした dotTEST にインポートしてください。
    ① 設定情報を以下の手順でエクスポートします。
  1. メニューから[Parasoft]>[設定]をクリックし、設定画面を起動します。
  2. 設定画面の左側のツリーから[Parasoft]を選択し、画面を切り替えます。
  3. [ローカル設定ファイルを使用して設定を 共有 またはインポートすることもできます。]の「共有」をクリックします。
  4. Q2-12-01
  5. オプションファイルへのエクスポート画面が起動しますので、エクスポートしたい項目のチェックをつけて、任意のファイルへエクスポートしてください。
    ② 設定情報を以下の手順でインポートします。
  1. メニューから[Parasoft]>[設定]をクリックし、設定画面を起動します。
  2. 設定画面の左側のツリーから[Parasoft]を選択し、画面を切り替えます。
  3. [ローカル設定ファイルを使用して設定を 共有 またはインポートすることもできます。]の「インポート」をクリックします。
  4. Q2-12-02
  5. オプションファイルからのインポート画面が起動しますので、設定情報がエクスポートされたファイルを選択し、インポートしたい項目のチェックをつけてインポートしてください。

A-3.静的解析

Q3-1 前提条件はありますか?
dotTESTでは、アセンブリに対してテストを行います。対象のプロジェクトのコンパイルが可能かどうかご確認ください。例えば、参照設定に登録しているアセンブリが不足している場合は、解析に失敗する場合がございます。
また、pdbファイルの内容から、違反ファイルを特定します。テストを行う前にアセンブリとpdbファイルをコンパイルしてください。 pdbファイルでは、ソースファイルのパスが登録されておりますので、ソリューションをコピーした場合には、必ずリビルドを行ってください。
Q3-2 ルールの詳細を確認する方法はありますか?
dotTESTでは、各ルールにヘルプが用意されております。各ルールの詳細を確認するには、次の方法がございます。
  • テストコンフィギュレーションのタブ[静的]>[ルールツリー]で確認したいルールを選択し、コンテキストメニューから[ルールドキュメントの参照]をクリック
  • 品質タスクビューでレポートされた違反をクリックし、コンテキストメニューから[ルールドキュメントの参照]をクリック

A-4.バグ探偵(フロー解析)

Q4-1 前提条件はありますか?
dotTESTでは、アセンブリに対してテストを行います。対象のプロジェクトのコンパイルが可能かどうかご確認ください。例えば、参照設定に登録しているアセンブリが不足している場合は、解析に失敗する場合がございます。
また、pdbファイルの内容から、違反ファイルを特定します。テストを行う前にアセンブリとpdbファイルをコンパイルしてください。 pdbファイルでは、ソースファイルのパスが登録されておりますので、ソリューションをコピーした場合には、必ずリビルドを行ってください。
Q4-2 バグ探偵のルールは、作成することができますか?
バグ探偵のルールは作成することはできませんが、各ルールにパラメータを指定することができます。ルールを選択し、コンテキストメニューより[ルールパラメータの表示/変更]をクリックし、パラメータを変更してください。
Q4-3 バグ探偵を実行中に「プロジェクトのデバッグ情報が見つかりません。プロジェクトはバグ探偵の解析から除外されます。」というエラーになりました。回避策はありますか?
バグ探偵の解析のときに使用する、pdbファイルがないため解析がスキップされております。 バグ探偵の解析のときは、アセンブリ以外にもpdbファイルを使用し、コードの行数を取得しております。 pdbファイルを作成する設定に変更し、再度解析を行ってください。 設定は次の通りとなります。
  1. [ビルド]設定画面の[詳細設定]ボタンをクリック
  2. 起動した「ビルドの詳細設定」画面の[出力]の[デバック情報]の設定を“full” もしくは、”pdb-only”に設定。

A-5.メトリクス

Q5-1 メトリクスの結果はどのように確認すればいいですか?
メトリクスビューで確認ができます。メトリクスビューは、メニューから[Parasoft]>[ビューの表示]>[メトリクス]を選択すると、 表示できます。
各メトリクスの詳細は、テストコンフィギュレーションのタブ[静的]>[メトリクス]を表示し、確認したいメトリクスを選択し、コンテキストメニューから[ドキュメントの表示]で確認できます。

A-6.単体テスト

Q6-1 dotTESTの単体テストって、どんなものですか?
dotTESTの単体テストケースの作成は、2種類の方法があります。
  • 単体テストGenie :
    dotTESTの専用ビューを操作し、入力値や期待値を指定しテストケースを作成する
  • テストコンフィギュレーションを実行 :
    ソースコードから自動でテストケースを作成する
dotTESTの単体テストは、どちらの方法でも次の手順となります。
  1. テストメソッドの依存関係を解決するためのファクトリメソッドを作成
  2. テストケースの作成
  3. テストの実行
 
dotTESTは、ファクトリメソッドの生成やテストケースの生成の際、単体テスト用のプロジェクトを自動で作成されます。 詳しい操作方法については、dotTEST のユーザーマニュアルの[単体テスト]の章をご覧ください。
Q6-2 privateメソッドのテストケースは作成できないのですか?
ビルトインのテストコンフィギュレーションでは、publicメソッドのみを生成する設定になっております。次の設定を変更してください。 タブ[生成]>[スコープ]の[生成スコープ]の設定を「すべてのシンボル」
Q6-3 テストデータをExcelに定義してテストすることができますか?
はい、できます。Excelなどの外部ファイルにテストデータを定義する方法をパラメータライズと呼んでおります。弊社作成の手順書がございますので、ユーザーページよりダウンロードいただけます。
Q6-4 測定できるカバレッジの種類を教えてください。
dotTESTで対応しているカバレッジは、行カバレッジのみとなります。
Q6-5 「静的カバレッジ情報 (カバレッジの基準) を計算するためのアセンブリが選択されませんでした。カバレッジを参照するには、カバレッジを計算するプロジェクトを選択してください。」とレポートされ、カバレッジが計測されませんでした。
次の2点を確認してください。
テストプロジェクト(*.DotTest)の設定
  1. ソリューションエクスプローラでテストプロジェクトを選択
  2. コンテキストメニューから[Parasoft]> [プロパティ]を選択
  3. 画面左のツリーから[Parasoft] > [ dotTEST ]>[テスト対象プロジェクト]をクリック
  4. [プロジェクト <project_name> はテストプロジェクトです]のチェックがONになっていることを確認
 
テストコンフィギュレーションの設定
  1. テストコンフィギュレーション画面を起動
  2. [実行]> [カバレッジ]タブを選択
  3. [ソースカバレッジを計算]のチェックがONなっていることを確認。
Q6-6 デリゲート型をコンストラクタやメソッドの引数に持つクラスのテストケースは生成できますか?
dotTEST はデリゲート型に対するオブジェクトファクトリメソッドの自動生成をサポートしていません。デリゲート型の引数を持つクラスはオブジェクトファクトリメソッドを手動で実装する必要があります。オブジェクトファクトリ生成時にGenieの『入力』タブで該当のオブジェクトに対して「プレースホルダ—の使用」を選択します。
 
Q6-6
 
オブジェクトファクトリメソッドを自動作成し、作成されたファイルの「PLACEHOLDER」に対してコードを記述します。
 
Q6-6
 
手動でオブジェクトファクトリメソッドを生成した場合には、Genieおよびテストコンフィギュレーションを使って自動でテストメソッドを生成することが可能です。
Q6-7 インナークラスのテストケースを生成できますか?
生成できません。dotTESTではインナークラスおよびインナークラスのメソッドに対するテストケースの自動生成に対応しておりません。インナークラスのためのテストコードを手動で実装した場合、テストコードをdotTESTで実行すること、およびカバレッジを収集することは可能です。
Q6-8 テストケースが作成できません。どうしたらいいですか?
dotTEST のテストケースを作成するには、依存関係のあるクラスのインスタンスが必要になります。
[Generate Object Factory Methods] のテストコンフィギュレーションを利用することで、オブジェクトファクトリメソッドを生成することができますが、Windows Formを利用したアプリケーションの、Buttonクリックのメソッドでは、パラメーターのインスタンス生成を行うことができないため、テストケースの生成に失敗します。
このような場合は、Genie を利用して オブジェクトファクトリメソッドを生成してください。
■オブジェクトファクトリメソッドの作成方法
  1. 単体テストGenie へアセンブリをロードします。
  2. アセンブリをロード後、インスタンス生成を行うシンボルを探します。(ボタンクリックメソッドの場合は、System.EventArgs)
  3. シンボルを選択し、コンテキストメニューより「オブジェクトファクトリメソッドの生成」を選択すし、ウィザードに従って、オブジェクトファクトリメソッドを作成してください。
    メソッドの依存関係を確認するには、Genie のビューをご活用ください。ファクトリの列が緑色になっていれば、依存関係が解決できていて、テストケースが作成可能です。

A-7.アプリケーションカバレッジ

Q7-1 アプリケーションカバレッジとはどのような機能ですか?
アプリケーションを実行させて、カバレッジを測定する機能になります。詳しい操作手順については、弊社作成の手順書がございますので、ユーザーページよりダウンロードいただけます。
Q7-2 アプリケーションを複数回実行したときのカバレッジを計測できますか?
はいできます。アプリケーションの実行はバッチファイルから実行して頂き、アプリケーション操作後に作成されたカバレッジログファイルを任意のフォルダに置いて頂き、そのカバレッジログファイルをインポートしてください。
Q7-3 DLL に対してカバレッジを計測することができますか?
はい、できます。DLLを呼び出しているアプリケーション(exe)を指定してバッチファイルを作成してください。アプリケーションを実行することでDLLが呼び出されカバレッジを計測することができます。
Q7-4 複数のプロジェクトによりアプリケーションが構成されています。今回特定のプロジェクトのみカバレッジを計測したいのですができますか?
はいできます。アプリケーションカバレッジで作成したバッチファイルのなかに、次の変数を登録してください。
set PARASOFT_PROFILING_ASM_INCLUDE_0=アセンブリ名1
set PARASOFT_PROFILING_ASM_INCLUDE_1=アセンブリ名2

また、特定のプロジェクトのみ解析対象から外すこともできます。
その場合は、こちらの変数を登録してください。
set PARASOFT_PROFILING_ASM_EXCLUDE_0=アセンブリ名1
set PARASOFT_PROFILING_ASM_EXCLUDE_2=アセンブリ名2

A-8.レポート

Q8-1 テストした結果を残すことができますか?
テストした結果をレポートする機能があります。最後に実行したテストの結果をレポートにすることができます。対応しているフォーマットは、HTML、PDF、XSLカスタムになります。
Q8-2 テスト結果を一覧にして出力したいのですができますか?
カスタムXSLレポートのフォーマットを利用することで、レポートをカスタマイズすることができます。
例えば、CSVファイル形式にレポートを出力することで、静的解析でレポートされた違反を一覧にして確認することができます。詳しいCSVファイルへのレポート出力の手順書は、ユーザーページよりダウンロードいただけます。
Q8-3 レポートの出力内容を変更することができますか?
レポート設定画面で、レポートのフォーマットの変更、レポート内容を変更することができます。
Q8-4 単体テストのカバレッジの詳細をレポートに出力することはできますか?
はいできます。単体テストを実行したときのカバレッジの詳細レポートを作成することができます。テストの実行の前に次の設定を行ってください。
 
  1. メニューから[Parasoft]>[設定]をクリックし、設定画面を起動します。
  2. 設定画面の左側のツリーから[Parasoft]>[レポート]を選択し、設定画面を起動します。
  3. 「詳細レポート」のチェックを有効にして設定を保存します。
    Q8-4
  4. 単体テストの実行のテストコンフィギュレーションを実行します
  5. レポートを生成します。 作成されたHTMLレポートの「詳細レポート」のリンクをクリックすると、カバレッジの詳細が確認できます。
    Q8-4
  6. 「詳細レポート」クリックすると、次のレポートが表示されます。
    Q8-4

A-9.コマンドライン

Q9-1 コマンドラインからdotTESTを実行することはできますか?
dottestcliというツールを使用して頂くことで、コマンドライン実行が可能となります。このツールを使用するには、Server Editionのライセンスが必要となります。 dottestcliの使用については、dotTEST のユーザーマニュアルの次の章をご覧ください。 [セットアップとテストの基本事項] > [テストの実行] > [コマンドライン インターフェイスからのテスト]
Q9-2 GUIで使用した設定をコマンドライン(dottestcli)からも使用することができますか?
はいできます。GUIで設定した項目をコマンドラインからも使用することができます。もしGUIと設定を変更したい場合は、dottestcliの-localsettings オプションを利用してください。GUIの設定を変更してdottestcliを実行することが可能です。
- localsettingsオプションで指定する設定ファイルは、dotTESTの設定画面からエクスポートすることができます。 設定ファイルのエクスポートの方法は、次の通りになります。
  1. メニューから[Parasoft]>[設定]をクリックし、設定画面を起動します。
  2. 設定画面の左側のツリーから[Parasoft]を選択し、画面を切り替えます。
  3. [ローカル設定ファイルを使用して設定を 共有 またはインポートすることもできます。]の「共有」をクリックします。
    Q9-2
  4. オプションファイルへのエクスポート画面が起動しますので、エクスポートしたい項目のチェックをつけて、任意のファイルへエクスポートしてください。
Q9-3 コマンドプロンプトやバッチファイルから実行と、JenkinsなどのCI環境から実行で解析結果が違います。何が原因でしょうか?
dotTESTの実行は、ユーザーディレクトリを使用します。JenkinsからのdotTESTの実行でユーザーディレクトリが使用できない場合に「ライセンス認証ができない」、「解析結果が異なる」などの問題が発生する場合がございます。
例えば、Jenkinsをnative packageでインストールしている場合は、SYSTEMアカウントにてJenkinsのサービスが登録されます。この場合は、タスクマネージャーにて、Jenkinsのプロセスのユーザーを確認し、SYSTEM アカウントの場合は、Jenkinsを起動するサービスの設定をご確認ください。
 
コマンドプロンプトやバッチファイルから実行と、JenkinsなどのCI環境から実行で解析結果が違います。何が原因でしょうか?
Q9-4 コマンドラインからの解析のとき、どのビルド構成が使用されますか?
dotTEST はデフォルトでアクティブな構成で解析を行います。解析時に構成を明示的に指定する場合は以下のコマンドオプションをご利用ください。
  • -solutionConfig : ソリューション構成名を指定します。
  • 例えば Debug または Release を指定します。
  • -targetPlatform : ターゲットプラットフォーム名を指定します。
  • 例えば Any CPU あるいは x86 を指定します。
更新履歴
2016年1月6日 項目追加
2015年3月30日 項目追加
2014年12月25日 項目追加
2014年10月17日 項目追加
2014年8月4日 項目追加
2014年4月11日 新規作成