このセクションでは、 Diff ツールについて説明します。 Diff ツールは、保存データと受信データを比較し、差異をレポートします。
このセクションの内容:
Diff ツールは、バイナリ、テキスト、 XML 、 JSON をサポートした、ベスト プラクティス回帰テスト ソリューションの現行のバックボーンです。Diff ツールは、他のツールのアウトプットとして受け取ったデータや、指定した他のインプットのデータとエディター上のデータを比較し、差分がある場合にレポートします。
Diff プロジェクトのコンフィギュレーション パネルは主に 2 つのセクションに分かれています。上部のセクションは全般オプションです。下部のセクションは [回帰コントロール] タブ、 [違いを無視] タブ、そして [オプション] タブです。 [オプション] タブでは、テキスト、バイナリ、 XML の比較オプションを設定できます。
テスト スイート内のすべての Diff 回帰コントロールのロジックやデータ ソースの使用方法をカスタマイズするには、次の操作を行います。
|
他のツールと同じように、プロジェクトにデータ ソースが追加されている場合、ツール用のデータ ソースを指定できます。Diff ツール用のデータ ソースは、コントロール値を与えるために使用されるデータ ソースを指定します。 データ ソースの詳細については「テストのパラメータライズ (データ ソース、変数、または他のテストの値を使用)」を参照してください。
バイナリ ファイルの差分を確認するには、[比較モード] から [バイナリ] を選択します。
「コントロール」値 (今後のすべての結果で比較される値) として使用するデータ ソース値、ファイル、テキストを選択します。以下のいずれかのオプションを選択します。
エディター: テキスト エリアに入力されたテキストを回帰コントロールとして使用します。
ファイル: 回帰コントロールとして使用するファイルを指定します。ファイルのパスをプロジェクト ファイルに対して常に相対にしたい場合、[相対パスで保存] チェックボックスをオンにします。
データ ソース列: 回帰コントロールとして使用するデータ ソース列の値を指定します。このオプションは、プロジェクトにデータ ソースが含まれている場合にだけ利用可能です。
テキスト Diff モードの以下のオプションにアクセスするには、[比較モード] ドロップダウン リストから [テキスト] を選択します。
「コントロール」値 (今後のすべての結果で比較される値) として使用するデータ ソース値、ファイル、テキストを選択します。 以下のいずれかのオプションを選択します。
エディター: テキスト エリアに入力されたテキストを回帰コントロールとして使用します。
ファイル: 回帰コントロールとして使用するファイルを指定します。ファイルのパスをプロジェクト ファイルに対して常に相対にしたい場合、[相対パスで保存] チェックボックスをオンにします。
データ ソース列: 回帰コントロールとして使用するデータ ソース列の値を指定します。このオプションは、プロジェクトにデータ ソースが含まれている場合にだけ利用可能です。
テキスト モードの [違いを無視] タブでは、 [削除] ボタンをクリックして「無視するテキスト差異」を削除できます。
テキスト モードの [オプション] タブでは、以下のオプションを設定できます。
Java[a-zA-Z ]+\Q(\E[4-9]+th Edition\Q)\E
XML Diff モードの以下のオプションにアクセスするには、[比較モード] ドロップダウン リストから [XML] を選択します。XML モードでは XML ファイルを解析し、要素ごと、そして属性ごとに XML ファイルを比較します (無視できる空白は無視します)。比較結果は XML 文書として表現されます。XML モードを使用する場合、両方の入力が整形式の XML 文書であり、同じ種類の文書要素を持っていることを確認してください。
回帰コントロール
「コントロール」値 (今後のすべての結果で比較される値) として使用するデータ ソース値、ファイル、テキストを選択します。回帰コントロールの設定には、XML メッセージを設定するための 2 種類のグラフィカルな表現が用意されています。
リテラル XML 回帰コントロール
リテラル XML モードの [回帰コントロール] タブでは、以下のオプションを設定できます。
エディター: テキスト エリアに入力されたテキストを回帰コントロールとして使用します。
ファイル: 回帰コントロールとして使用するファイルを指定します。ファイルのパスをプロジェクト ファイルに対して常に相対にしたい場合、[相対パスで保存] チェックボックスをオンにします。
データ ソース列: 回帰コントロールとして使用するデータ ソース列の値を指定します。このオプションは、プロジェクトにデータ ソースが含まれている場合にだけ利用可能です。
フォーム XML を回帰コントロールとして選択した場合、[回帰コントロール] タブのオプションは XML ビュー ツリーと XML 設定に分割されます。
XML ビュー ツリーには、リテラル XML がツリー形式で表示され、個々のツリー ノードが 1 つの要素を表します。 XML ビュー ツリーのオプションは、 SOAP Client ツールのフォーム XML SOAP Envelope と同じように設定できます。 詳細については、「XML ビュー ツリーの操作」を参照してください。
XML 設定では、 XML コンポーネントの追加、削除、名前変更を行うことができます。XML 設定のオプションは、SOAP Client ツールのフォーム XML SOAP Envelope のオプションと同じように設定できます。詳細については、「XML 構成タブの操作」を参照してください。
XML モードの [違いを無視] タブから、適切なボタンをクリックすることで XPath の設定を追加または削除できます。詳細については、 「Understanding XPaths」 を参照してください。
XML モードの [オプション] タブでは、以下のオプションを設定できます。
ExamXML はサードパーティ製のツールであり、A7Soft から別個に購入し、ライセンスを取得します。ExamXML MDCXML を選択する場合、実行モジュールおよびオプション ファイルの場所が指定されていることを確認してください。
注意:
オプション ファイルには、最低限でも以下の設定が含まれていなければなりません (SOAtest は、以下のパラメーターに関して、他の値の使用をサポートしていません)。
「回帰テストの構成」の説明にあるように、期待されるコンテンツを Diff ツールに埋め込むのではなく、ファイルに保存することによって、外部的な回帰コントロールを自動的に作成できます。
VMTools は製品に組み込まれています。追加のライセンスは必要ありません。VMTools を選択した場合、以下のオプションを指定できます。
XML で結果を出力: Diff ツールの出力の形式を指定します。このチェックボックスがオフの場合、出力は表形式で表示されます。オンの場合、出力は XML で表示されます。Diff ツールのメッセージ出力に他のツールが接続された場合にだけ差異が反映されます。
ある条件下で、 VMTools はテキスト ベースで差分を取得します。この現象は、 XML が非常に複雑で、差異の数が多すぎる場合や完了までに時間がかかりすぎる場合に起こります。
この現象が起こった場合、以下のいずれかのメッセージがコンソール ビューに表示されます。
Did not run XML Diff, there are too many differences.Performing text mode diffing instead.
Did not run XML Diff, it did not finish within 30.0 secs.Performing text mode diffing instead.
XML 差分チェックの最大実行時間は、 [設定] パネルの [その他] タブ ([接続設定] > [デフォルト タイムアウト]) に設定されたデフォルト値です。ただし、 120 秒を超えることはありません。この時間を超えるとテキスト モードに変更されます。
[Diff モード] ドロップダウン メニューから [JSON] を選択すると、[回帰コントロール] および [違いを無視] オプションが利用可能になります。
JSON モードの [回帰コントロール] タブでは、以下のオプションを設定できます。
回帰コントロール ソース: 「コントロール」値 (今後のすべての結果で比較される値) として使用するデータ ソース値、ファイル、テキストを選択します。
エディター: テキスト エリアに入力されたテキストを回帰コントロールとして使用します。
ファイル: 回帰コントロールとして使用するファイルを指定します。ファイルのパスをプロジェクト ファイルに対して常に相対にしたい場合、[相対パスで保存] チェックボックスをオンにします。
データ ソース列: 回帰コントロールとして使用するデータ ソース列の値を指定します。このオプションは、プロジェクトにデータ ソースが含まれている場合にだけ利用可能です。
JSON モードの [違いを無視] タブから、適切なボタンをクリックすることで XPath の設定を追加または削除できます。
XML モードで Diff ツールを実行した場合、実際の出力と Diff 値との差異が XPath で表現されます。 XPath は XML 要素の位置を表し、差異が発生した箇所、差異の種類、およびその差異が変更、挿入、削除によって発生したものかどうかを示します。
Diff ツールを実行するときにどの XPath を無視するかを指定できます。 XPath 全体を無視することも、 Content:
Insert 操作などの特定の XPath 操作だけを無視することもできます。
XPath の除外は、回帰テストを失敗させる変化する値を除外するのに役立ちます。たとえば、頻繁に変わるタイムスタンプ値が結果に含まれる場合などです。タイムスタンプ値が同じになることはないので、 Diff ツールの設定値にタイムスタンプ値が一致することはまずありません。これはテストを失敗させます。この場合、この値の XPath を無視するように指定すれば、テストは失敗しません。
無視する XPath を設定する方法として、以下の 3 つの方法があります。
Diff ツールに「無視する XPath」を入力するには、Diff ツールに手動で XPath を入力するよりも、 [品質タスク] ビューで右クリックをする方法が簡単です。 XPath の位置は、回帰テストが失敗した後に [品質タスク] ビューにツリー形式で表示されます。
回帰テストが失敗した後に「無視する XPath」を指定するには、次の操作を行います。
Diff ツールのコンフィギュレーション パネルで「無視する XPath」を手動で入力したり貼り付けたりすることができます。
XPath を手動で入力するには、以下の操作を行います。
変更した回帰テストを今後実行すると、追加したすべての XPath が無視されます。「無視する XPath」を変更する方法については 「Modifying XPath Settings」を参照してください。
[フォーム XML] タブのフォーム XML ツリーから直接「無視する XPath」を指定することもできます。次の操作を行います。
属性 (変更 / 挿入 / 削除): 除外する属性操作のチェックボックスをオンにします。このフィールドを選択した場合、Xpath 中の指定した属性名だけが無視されます。特定の属性を除外するには、[属性] チェックボックスの隣のテキスト フィールドに属性名を入力します。要素の XPath の場所で 1 つ以上の属性を無視したい場合、属性名を空のままにするか、ワイルドカード * を使用します (例: myAttribute*)。
「無視する XPath」の設定を Diff ツール自体に持たせるだけでなく、共有リストを参照することもできます。共有リストは他の Diff ツールからも使用できます。
デフォルトでは、 [違いを無視] タブに XPath を追加すると、その XPath が取り得るすべての操作が [設定] 列に表示されます。そのため、次に回帰テストを実行したとき、これらのすべての操作が無視されます。しかし、XPath 設定を変更することで、すべての操作を除外するのではなく、特定の操作だけを除外することができます。
XPath 設定を変更するには、以下の操作を行います。
属性 (変更 / 挿入 / 削除): 除外する属性操作のチェックボックスをオンにします。このフィールドを選択した場合、Xpath 中の指定した属性名だけが無視されます。特定の属性を除外するには、[属性] チェックボックスの隣のテキスト フィールドに属性名を入力します。要素の XPath の場所で 1 つ以上の属性を無視したい場合、属性名を空のままにするか、ワイルドカード * を使用します (例: myAttribute*)。
変更した回帰テストを今後実行すると、指定したすべての XPath が無視されます。
ビデオ チュートリアル回帰コントロールを生成して更新する方法について説明します。 |