今週、Parasoft SOAtest、Parasoft Virtualize (9.10.4)および Continuous Testing Platform (3.1.1)の最新バージョンがリリースされました。いくつか大きな新機能がリリースされたほか、Parasoft の機能テストソリューションを最高クラスのものにしているさまざまな機能についても改善が行われました。
これらの機能は、以下に重点を置いています。
- 分散クラウドモデルでの負荷テストのサポートや、SOAテストをCI / CDワークフローに簡単に組み込むためのツール統合など、新しいテスト環境およびテクノロジーのサポート
- VirtualizeのMessage Proxyの更新など、マイクロサービスアーキテクチャでのテスト
- 継続的テスト戦略に機能テストの自動化とサービス仮想化を簡単に組み込めるようにするためのコア製品の強化
新しいテスト環境とテクノロジーのサポート
OpenAPI 3.0(Swagger 2.0のアップデート版)は、Swagger仕様の最新版であり、構造が改良されています。今回のリリースでは、RESTのサポートが拡張され、新しいOpenAPIフォーマットからテスト成果物を作成できるようになりました。
既存の「シフトレフト」パフォーマンステスト機能を拡張するため、Parasoft SOAtestの一部であるLoadTestに分散クラウドモデルのサポートが追加されました。 Amazonマーケットプレイスで提供されているビルド済みイメージを使用してAmazon EC2内に負荷ジェネレーターを立ち上げ、LoadTestからコントロールできます。分散負荷テストをセットアップする際には、SLAによって定義された地域内に負荷ジェネレーターが配置されていることが重要であるため、この機能は重要です。これにより、負荷テストの作成方法を変更したり、ハードウェアをセットアップしたりすることなく、現実のシナリオに非常に近い負荷テストを実施できます。
また、CI / CDワークフローのサポートも強化されています。拡張されたJenkinsおよびVisual Studio Team Services用 Parasoft Findings プラグインを使用して、継続的デリバリープロセスの一部としてテストケースを実行したり、環境をセットアップできます。Jenkinsプラグインは、 Jenkinsパイプラインジョブをサポートします。
もう1つの重要な新機能である動的にデプロイ可能なSOAtestサーバーを使用して、APIテストを簡単にCI / CDプロセスに統合できます。つまり、SOAtest でも Virtualize と同様の「デプロイ&デストロイ」モデルを実現できます。これはオンデマンドテスト環境に適したオンデマンドテスト実行を可能にし、テスト自動化プロセス全体の実行時コストを劇的に削減します。さらに、SOAtestレポートのルックアンドフィールが強化され、 APIカバレッジも表示されるようになりました。
SOAtest/Virtualize 製品ページへ >マイクロサービスアーキテクチャでのテスト
マイクロサービスはすでに確固として存在し、開発とテストの世界に大きな影響を与えています。マイクロサービスの最も重要な利点の1つは、システム全体を止めることなく個々のサービスを開発、デプロイ、アップグレードできることです。
残念なことに、この開発上の利点は、テストにとっては重大な課題となります。なぜなら、アーキテクチャに何が含まれるのかが分からなかったり、テストのために各コンポーネントを分離する方法がなかったりするからです。Parasoft はこれらの課題に対し、ユーザーがマイクロサービスのテストを容易に攻略できるよう支援します。今回のリリースでは、ワークフローやマイクロサービス固有のサポートを追加することで、マイクロサービスという新しいパラダイムに真正面から取り組みました。
一般的に、マイクロサービスの構成方法としては、次の2つがあります。
- オーケストレーション -メッセージフローロジックはグローバルレベルで処理され、サービスは通常、RESTまたはその他の同期メソッドを介してデプロイされます。この分野では、Parasoft SOAtest は以前から強みを発揮していますが、引き続きこれらのテクノロジーを強化しています。
- コレオグラフィー - メッセージフローはより「視点」ベースであり、サービスは非同期のイベントベースのプロトコルにデプロイされます。今回のリリースでは、この分野に重点が置かれました。Parasoft SOAtest は現在、 Kafkaをサポートしています。Kafkaは、マイクロサービス分野では重要なプロトコルです。SOAtest はテスト実行とシミュレーションの両方でKafkaをサポートし、RabbitMQやProtocol Buffersなどの SOAtest の既存のマイクロサービス固有のプロトコルを補います。
Virtualize Message Proxyの更新
マイクロサービスのテストで最も困難な作業の1つは、テストを安定させるために個々のコンポーネントを分離することです。サービス仮想化を使用してテストの対象範囲外のコンポーネントをシミュレートすることは、この課題を克服する最適な方法です。これを支援するため、今回のリリースでは、仮想サービスのトラフィックを収集するリスナーを非常に簡単に作成できるようにしました。
この新しい機能により、ユーザーは任意のポートで待機し、システムとの間のすべてのトラフィックを捕捉可能なプロキシを立ち上げることができます。すると、ユーザーは依存関係を検出できるだけでなく、既存のポート構成を変更することなく、連携された、またはサンドボックス化されたチーム構造内で依存関係を簡単にシミュレートできます。具体的には以下のとおりです。
- Virtualize のメッセージプロキシが利用するリスナーポートを設定できます。これにより、マイクロサービスのトラフィックをキャプチャするプロセスが簡略化されます。
- HTTPS設定を簡略化するため、セキュアポートを設定する際、ファイルシステムにアクセスすることなくサーバー証明書のキーおよびトラストストアを指定できるようになりました。
- 同じポートを使用する複数の接続を指定して、トラフィックのルーティングルールを設定することもできます。
詳しくは、新しいホワイトペーパー「Testing Microservices」(訳注:英語のページにジャンプします)をダウンロードしてください。
コア製品の機能強化
SOAtest およびVirtualize を継続的テストパイプラインに統合する作業を容易にするために、SOAtest および Virtualize Serverの機能豊富なREST APIがさらに強化され、一般的なワークフローをサポートするようになりました。API大好きというユーザーのために詳細を挙げると、次のとおりです。
- プロビジョニングレベルのユーザーは、仮想アセットとメッセージプロキシの有効化と無効化、および記録の開始と停止を行うことができます。
- また2つの新しいAPIが追加されています。
- XSDリソース(スキーマ)からSOAtestのTSTファイルを作成する – スキーマが利用可能になったらすぐ、SDLCの非常に早い段階で、自動的に仮想アセットを作成できます。
- SOAtestとVirtualize の Continuous Testing Platform およびライセンス設定をプログラムで設定 – Docker HubなどからSOAtestおよびVirtualize Serverを取得、Amazon EC2、Azure、Pivotalなどのクラウドプロバイダーにプッシュ、ライセンスをその場で設定、といったことが可能になり、CI / CDパイプラインでの SOAtest および Virtualize の動的デプロイを強化します。
まとめ
Parasoft製品に追加されたその他多数の機能については、リリースノートで確認できます。Parasoftは今日のソフトウェア開発とテスト組織が直面している最も重要な課題―つまり、SDLCのあらゆるステップに自動化と加速化を取り込むこと― に重点的に取り組んでいます。製品アップデートもこのような意図、つまり開発者とテスターを少しでも楽にすることにこだわります。
(この記事は、開発元Parasoft社 Blog 「SOAtest & Virtualize (9.10.4) and the Parasoft Continuous Testing Platform (3.1.1)」2018年3月14日の翻訳記事です。)
Parasoft SOAtest/Virtualizeについて
>
SOAtest/Virtualizeは、APIの開発者/利用者に向けてテストの自動化とテスト環境の仮想化の2つの側面から開発を効率化します。SOAtest/Virtualizeは、APIのテストドライバーを提供し、開発中のAPIのテストを自動化する機能と、APIを利用するアプリケーションが必要とするAPIをスタブとして仮想化する機能を同梱して提供します。