サービス仮想化による開発者のコ​​ラボレーション

何かを最初から何度も作り直すことほど、開発者にとってストレスの溜まる作業はありません。オブジェクト指向設計の基本的な原則の1つは、すべての作業アイテムについて、オブジェクトまたは参照可能ポイントを作成し、同じ処理を繰り返す必要をなくすことです。この原則にもかかわらず、モックに関しては、開発者はたびたび同じプロセスを繰り返すはめになります。

それにしても、なぜでしょうか?開発者がアプリケーションコードを記述しているとき、同じ外部APIと通信し、同じサービスを同じ方法で呼び出すことがよくあります。従来のモックの問題点は、コードレベルで作成され、開発中の機能に合わせて動作するよう設計されていることです。したがって、機能を検証する必要があるたびに、新しいモックを作成する必要があります。

従来のモックフレームワークを使用する場合に、既存のモックを共有するのが困難な理由は、モックがコードベースのどこに存在しているかわからないだけでなく、特定のモックがどの要件に関連付けられているかを理解することが難しいためです 。結果として、チームのメンバーが、すぐ隣に座っている人と同じモックを作成するといったことがしばしば起こっています。これは努力の無駄で開発者の時間の損失としか言いようがありません。

モックはどこに?

開発者がモックを作成した後、共同作業することも難しくなります。モックを作成した後、チームに情報を提供するために通知をポストできるような便利なダッシュボードはありません。

私は最近、開発プラクティスとして広くモックを採用している医療機関と仕事をしましたが、彼らは頻繁にオフラインになる共通サービスプロバイダーを使用しており、それがモックの主なターゲットとなっていました。そんなわけで、開発者たちはそれぞれ個人のコードベースでモックインタフェースを作成していました。それらのモックは多少異なってはいるものの、目的はみな同じでした。私が開発者たちに聞き取りをしたところ、同じモックが20個ほども存在することが分かりました。これは彼らにとっても驚きでした。なぜ作業が重複したのかと訊ねると、大きな声では言えないが、といった口調で返ってきた答えは、予想していなくもなかったとおりでした。 「私たちは忙しすぎてコミュニケーションがとれないんです」

しかし、開発者かテスト担当者ならだれでも言うように、モックは必要です。なぜなら、開発中に他の世界から自分自身を切り離すことができなければならないからです。モックは、保護可能な環境でアプリケーションを囲む方法の1つです— しかし、このソリューションには、次のような特有の課題もあります。

  • モックをゼロから再構築するのは面倒かつ時間の無駄である
  • 既存のモックを見つけ出すのが難しい
  • 目的のないモックが存在する— 特定の API に関連付けられていない、再利用できない
  • コラボレーションする必要があるにもかかわらず、忙しすぎてコミュニケーションが取れない

サービス仮想化を使用してコラボレーションの課題を解決する

仮想サービスの繰り返し作成

こんなとき、 Parasoft Virtualize は 、再利用可能な仮想サービスのライブラリを作成し、コア機能を共有できるようにすることで、モックソリューションを維持するプロセスを簡素化します。たとえば、口座番号を受信してそのユーザーに関する応答を返す、ユーザーの身元確認情報を提供するサービスが既にあるとします。そして新たに口座番号に基づいて詳細な財務情報を返す仮想サービスを開発する必要があるとします。Virtualizeを使用すると、新しい仮想サービスを作成するときに元のサービスの多くを活用できます。2つのサービスを分けるものは、スキーマとデータだけです。組織がますます多くの仮想サービスを構築するにつれて、再利用できる成果物のリポジトリも大きくなります。これにより、同じ仮想サービスを何度も何度も作成しなければならないという初期の課題が解決されます。

仮想サービスの共有

仮想サービスは共有が非常に容易であり、内部モジュールも同様に再利用できます。仮想サービスまたはpvaファイルは、XMLとして保存することができ、ソース管理システムに簡単にチェックインすることができます。サービスが特定のAPIの特定の機能をシミュレートしている場合も、ソース管理システム内で成果物を検索できますし、共有仮想化サーバーでなら、検索はより簡単です。サービス仮想化の利用が進むにつれて、チームは既存のサーバー共有機能を活用できるようになります。デスクトップから直接サーバーに接続し、必要な成果物を検索して、デスクトップに取得したら、直ちに使用を開始できます。これは、作成済みの仮想サービスを見つけ出し、即座にアクセスするのが難しいという課題を解決します。

仮想サービスの連携

Parasoft Virtualizeは、一般的な仮想化のユースケースから構築されたプライベートな成果物とパブリックな成果物の両方のマーケットプレースを提供します。これにより、迅速なスタートアップを実現し、組織全体で内部的な知識ベースを構築し、以降の仮想サービスの作成を簡略化することができます。仮想サービスを活用し始めたら、命名規則や説明やタグ付けによって仮想サービスと元のAPIを簡単に結びつけることができます。

開発パートナーは、モックしたいAPI用に作成された仮想アセットをWebブラウザで検索し、作成済みのものが見つかれば、すぐにデスクトップに展開することができます。

これにより、仮想サービスを特定のAPIおよび要件と結びつけるという課題が解決されます。

仮想サービスとのコラボレーション

最後に、上記のすべてのソリューションがあれば、チームは持続可能なワークフローを構築でき、開発者とテスターはモックが必要だと分かったときに選択肢を持つことができます。いたずらに時間を無駄にすることなく、Parasoftのエコシステムを照会して特定のニーズに合うモックが存在するか検索し、存在する場合は、即座にモックにアクセスできます。存在しない場合は、チームで再利用できる仮想サービスを作成し、必要なメンバーが後で発見できるようにすることができます。これは、コラボレーションの課題を解決します。

(この記事は、開発元Parasoft社 Blog 「Developer Collaboration Through Service Virtualization2017年8月28日の翻訳記事です。)

Parasoft SOAtest/Virtualizeについて

APIのテスト自動化とサービス仮想化を1ツールで

SOAtest/Virtualizeは、APIの開発者/利用者に向けてテストの自動化とテスト環境の仮想化の2つの側面から開発を効率化します。SOAtest/Virtualizeは、APIのテストドライバーを提供し、開発中のAPIのテストを自動化する機能と、APIを利用するアプリケーションが必要とするAPIをスタブとして仮想化する機能を同梱して提供します。

Top