このセクションでは、SOAtest/Virtualize で Parasoft 変更アドバイザーを使用する方法について説明します。テスト資産またはサービス仮想アセットが送信するリクエスト/レスポンス メッセージの更新方法について説明します。 このセクションの内容: 変更アドバイザーは、サービスの変更によって、既存のテスト 資産またはサービスの仮想アセットから送信されるメッセージがどのような影響を受けるかを自動的に識別します。たとえば、名前変更の操作、要素や型の追加、名前空間の変更などです。また、既存のテスト スイートの更新や新規のテスト スイートの作成のために、影響のあったツールを個別にまたはまとめて、変更テンプレートに基づいて自動でリファクタリングします。変更テンプレートは、「元の定義の要素/操作/リソースとスキーマ」が「現在の定義の要素/操作/リソースとスキーマ」にどのように関連するかを表す自動定義されたマッピングをレビューおよび改良することで作成されます。これによって、ユーザーはできる限り早く、正確に、そしてインテリジェントにテスト資産を更新できます。 サービスが変更されたと推測される場合の一般的なワークフローは、以下のとおりです。 変更テンプレートを適用し、既存のテスト スイートを更新するか、新規テスト スイートを作成します。変更テンプレートの適用方法は 2 通りあります。 1 つは、変更影響度分析でレポートされた特定の変更影響度を解決するために、ケース バイ ケースで適用します。もう 1 つは、プロジェクトやスイート中で影響があったすべてのツールを早急に更新するために、バッチのリファクタリングに適用します。 SOAtest は、予期しないサービスの変更が起こると直ちにそれをキャッチできます: 変更影響度分析が実行されるとき、変更アドバイザーはどのようにアセットのメッセージが関連する定義ファイル (WSDL、スキーマ、WADL、 OpenAPI/Swagger、RAML など) の変更による影響を受けたかをレポートします。次のいずれかを分析します。 現在設定されているサービス定義に対してアセットのメッセージを比較します。 異なるサービス定義に対してアセットのメッセージを比較します。 この分析結果は、アセットのメッセージの更新に必要な変更のスコープや性質を評価しやすくします。 更新の対象が明確になったら、変更テンプレートを適用して、変更されたサービス定義に合うようにメッセージを自動的にリファクタリングできます。このリファクタリングは、色々な方法で適用できます。 変更テンプレートはサービス カタログから自動生成されます。サービス カタログは変更影響度分析の実行中にデータ投入されます。 変更テンプレートを作成したら、自動定義されたマッピングをレビューして調整することを推奨します。自動定義されたマッピングは、元の定義の要素/操作/リソース/スキーマが現在の定義のものとどのように関係するかを表します。 自動定義されたマッピングのレビューや更新は、変更テンプレート エディターでグラフィカルに実施されます。 SOAtest では、SOAP Client、 REST Client、 EDI Client、 Fixed Length Client、 Message Stub といったメッセージング ツール変更アドバイザーを適用できます。Virtualize ではメッセージ レスポンダーにも適用できます。ツールが WSDL または スキーマに従うよう設定されている場合、またはサービス定義に RAML、WADL (SOAtest)、または OpenAPI/Swagger が指定されている場合、変更アドバイザーはフォーム入力を介して指定されたメッセージに作用します。サービス定義に RAML、WADL (SOAtest)、または OpenAPI/Swagger が指定されている場合、変更アドバイザーはフォーム JSON を介して指定されたメッセージに作用します。 ツールのメッセージがサポート外のフォーマットで指定されていた場合、そのメッセージは分析やリファクタリングの際にスキップされます。サポート外のフォーマットの値、メッセージ以外のフィールドの値、または変更アドバイザーがサポートしていないツールの値を更新するには、Parasoft の「検索と置換」を使用します詳細については次を参照してください: 以下のセクションを参照してください: [変更アドバイザー] パースペクティブは、変更影響度を識別し、対処するために明確に設計されています。 [変更アドバイザー] パースペクティブを開くには、次の操作を行います。 このパースペクティブは次の要素から構成されています: ツールバーボタン: 次の 3 つのボタンが追加されています。[実行] ボタン (アセットが適切にリファクタリングされたかを確認するために、変更影響度分析を再実行するために使用)、[変更影響度分析の実行] ボタン (後で説明)、および [変更テンプレートを使用してリファクタリング] ボタン (後で説明) です。 変更影響度分析は、ツールのメッセージを作成するのに元々使用していたサービス定義を、次のいずれかと比較します。 変更影響度分析は、ユーザーが分析しているツールに関係のある変更だけをレポートします。たとえば、ツールで使われることのなかったオプション要素がサービスから除外された場合、変更影響度にはレポートされません。 SOAtest での変更影響度分析の実行の一般的な使用事例は、次のとおりです。 変更アドバイザーから変更影響度分析を実行するには、次の操作を行います。 たとえば、3 つの異なるサービス定義に基づいたアセットを含むスイートを選択したものとします。[現在のサービス記述に対して選択されたアセットをスキャン] オプションを使用した分析では、これらのすべてのアセットを、対応するサービス定義の現在のバージョンに対して比較します。[指定されたサービス記述に対して選択されたアセットをスキャン] を選択し、それらのアセットで使用される 3 つのサービス定義のうち 1 つの既存および更新バージョンの場所を指定すると、その指定されたサービス記述を使用するアセットだけが分析されます。他の 2 つの定義に基づくアセットは分析されません。 変更影響度分析を実行すると、分析の進捗が [進捗] ビューおよび [コンソール] ビューに表示されます。アセットが「スキップ」されたと表示された場合、サポートされている形式 (フォーム入力など) で指定されたメッセージがないことを示します。 分析の結果は [品質タスク] ビューにレポートされます。変更の影響をレビューするために、変更インパクト レイアウトが用意されています。[品質タスク] ビューがこのレイアウトではない場合、ビューのツールバーで [変更インパクト レイアウト] をクリックして有効にできます。 メッセージを更新する必要があるツールを開くには、次の操作を行います。 プロジェクト内のツールの場所を確認するには、次の操作を行います: 変更テンプレートは、 「変更テンプレートの定義」で説明するように作成されます。変更テンプレートは 2 つの方法で適用できます。 変更テンプレートを適用するには、次の操作を行います: ウィザードの 2 ページ目で、更新したアセットの保存先を指定します。デフォルトでは、更新したアセットは新しい場所に保存します。そのため、元のアセットを上書きするのではなく、新しいテストまたはレスポンダーのセットが作成されます。 リファクタリングは、変更テンプレートの定義に従ってメッセージを更新します。取り除かれた操作のツールは無効になりますが、削除はされません。 変更テンプレートは要素/操作/リソース/スキーマ (XML または JSON) を、あるサービスのバージョンから別のバージョンへどのようにマッピングするかを指定します。変更テンプレートを定義したら、適用してサービスの変更によって影響を受けたアセットを更新できます。変更影響度分析後にレポートされた特定の変更影響度に対処するために、あるいは選択したツール、スイート、プロジェクトに一括更新を実行するために適用できます。たとえば、変更テンプレートで FundPrepaid が FundPrepaidRequest へマッピングされた場合、この変更テンプレートを適用すると選択したツールのメッセージで FundPrepaid が FundPrepaidRequest に更新されます。 変更テンプレートは、[Parasoft 変更アドバイザー] パースペクティブから作成、レビュー、修正します。 変更テンプレートを作成するには、以下の操作を行います。 サービスまたはバージョンの名前を変更するには、サービス カタログ ノードを右クリックし、適切な 名前の変更 コマンドを選択します。ここで指定した名前は、[変更テンプレートを使用してリファクタリング] ウィザードで使用されます。 変更テンプレートが作成され、[変更テンプレート エディター] に表示されます。 変更テンプレートは、Parasoft の経験値に基づいて、要素/操作/リソース/スキーマを元のサービス定義から新しいサービス定義へ自動的にマッピングします。 要素/操作/リソースは [マップ要素/操作/リソース] タブにマッピングされます。 各要素のスキーマは [スキーマのマップ] タブにマッピングされます。 要素を右クリックし、[<アイテム名>をレビュー済みとしてマーク] または [<アイテム名>および子をレビュー済みとしてマーク] をクリックする。 要素/操作/リソース/スキーマをマッピングする際、[プロパティ] ビューでマッピングするアイテムの詳細を参照できます。例: 変更テンプレート エディターでは、次のアイコンが XML アイテムのマークとして使用されます。 変更テンプレート エディターでは、次のアイコンが JSON アイテムのマークとして使用されます。 チームで変更テンプレートを共有する場合、テンプレートを含むプロジェクトを共有するか、ワークスペース間でテンプレートをコピーします。 変更アドバイザーに関するチュートリアルについては「サービスの変更に合わせたテストの更新」を参照してください。変更アドバイザーとは
ワークフロー
変更影響度分析
リファクタリング
変更テンプレートの定義
生成した変更テンプレートは、(変更影響度分析でレポートされた特定の変更影響度を解決するために) ケース バイ ケースで適用するだけでなく、(プロジェクトやスイート中で影響があったすべてのツールを早急に更新するために) バッチのリファクタリングで適用できます。変更の範囲
要素の並び替えや型の変更など、定義ファイルの簡単な変更は、SOAtest が自動的に更新します。変更アドバイザーの UI
変更影響度分析で変更を確認
変更影響度分析について
変更影響度分析の実行
分析結果の参照
ビューのドロップ ダウン メニューからもこのレイアウトを開くことができます。
分析結果は、サービス、スイート/場所、変更のタイプから構成されています。 変更影響度の検索
変更テンプレートを使用してリファクタリング
変更テンプレートの定義
変更テンプレートの作成
変更テンプレートの参照と変更
マッピングをレビューする際、エディターの上部にあるフィルターを使用できます。フィルターは [可能性の高い一致]、[レビューが必要な一致]、[一致しない] に絞り込むことができます。
変更テンプレートをレビューする際、次の操作を実行できます。 目的 操作 マッピングされていない 2 つのアイテムが相関関係にあることを指定する。 両方のアイテムを選択し、[接続] をクリックする。 マッピングされた 2 つのアイテムは相関関係にないことを指定する。 両方のアイテムを選択し、[切断] をクリックする。 一致のないアイテムのデフォルト値を指定する。 アイテムを右クリックし、[追加された<アイテム名>にデフォルト値を設定] をクリックする。ダイアログに適切な値を入力する。 「レビューが必要な一致」のレビューが完了したことを 指示する (黄色のマッピングを緑色に変更する)。 マップを右クリックし、[<マップ>をレビュー済みとしてマーク] または [<マップ>および子をレビュー済みとしてマーク] をクリックする。 一致のないアイテムのレビューが完了したことを指示する。 マッピング中にプロパティを確認
XML 用変更テンプレートのアイコン説明
アイコン 説明 すべて 任意の型 属性 選択肢 複合型 要素 列挙型 操作 シーケンス 単純型 JSON 用変更テンプレートのアイコン説明
アイコン 説明 任意の型 配列 配列のアイテム Boolean 列挙型 列挙型の値 Integer/数値 アイテムのコンテナ Null オブジェクト オブジェクト プロパティ 選択肢 プロパティのコンテナ String 変更テンプレートの共有
チュートリアル
Overview
Content Tools