金融業界特有の「無影響確認テスト」
金融業界のレガシーシステムの刷新では、「COBOLをJavaに変えたい」「Javaのバージョンを上げたい」といったリライトの相談が多いほか、ソースコードの品質に問題がないか確認するため、PCI DSSやOWASPへの準拠に関する相談も多いという。また、システム間の統合においては、API化やマイクロサービス化のニーズも出てくる。金融機関内には、多様なシステムが混在しているため、RESTやSOAP、メッセージングなど複数の通信方式を扱えるマルチプロトコル対応が求められる。
常盤氏は、金融業界におけるシステムモダナイズの大きな特徴として、「ビジネスロジックやユーザーから見たUI操作を変えずに、システムだけを刷新する」点を指摘した。そのため、金融業界のシステムモダナイズにおいては「無影響確認テスト」というキーワードがよく登場する。
無影響確認テストとは、例えばモダナイズジャーニーの考え方に沿ってメインフレームからクラウド・オンプレミスにリホストした際に、以前と同様に動作しているかを確認する作業である。

リホスト後、リライト後など1ステップ終えるごとに無影響確認テストが必要になる。また、システム開発時だけでなく、定期的な動作確認も求められる。さらに、セキュリティパッチの適用やOSアップデートといった変更を加えるたびに、無影響確認テストが必要になる。
無影響確認テストの実施にあたり、課題を抱えている企業も多い。常盤氏は「コストのかかる割にクリエイティブな作業ではないので、開発者のモチベーションが上がらない」と指摘する。また「無影響確認テストの作業を効率化したいが、どうしたらよいか分からない」という相談もよく寄せられる。
そこで常盤氏は、ツールを活用し、無影響確認テストを自動化するアプローチを提案した。
下図は金融業界における一般的なシステム構成だ。一番左の端末からWebアプリケーションが動作し、その背後ではインターフェースサーバーが各種バックエンドシステムとの連携を担っている。これらのシステムとのやりとりは、MQや全銀TCP/IP、SFTPなどのプロトコルで行われる。

こういったシステム構成に対して、端末側、Webアプリサーバー側、インターフェースサーバー側のそれぞれのバージョンアップを行う際には、変更が他のコンポーネントや連携先システムに影響を及ぼしていないかを確認する必要がある。そのため、定期的に無影響確認テストを実施することが望ましい。
テクマトリックスのツールは、各サーバーやサービスに対する無影響確認テストの自動化を可能にする。例えば、APIテスト自動化・サービス仮想化ツール「SOAtest/Virtualize」は、インターフェースサーバーやバックエンドシステム間の無影響確認テストを支援する。また、UIテスト自動化ツール「Ranorex」は、端末サイドの無影響確認テストをサポートしている。
「こうしたツールを組み合わせて活用することで、無影響確認テストを網羅的に自動化できる」と常盤氏。無影響確認テストに役立つツールと、その活用ポイントを紹介した。
APIテスト自動化・サービス仮想化ツール「SOAtest/Virtualize」
「SOAtest/Virtualize」は、APIテスト自動化とテスト環境の仮想化をサポートするツールセットだ。SOAtestは、データ提供側のレスポンスを検証するテストドライバーのような機能だ。データ提供側のシステムに電文を投げ、返ってきたレスポンスを検証する。
Virtualizeは、データ提供側のシステムを仮想化する仕組みを提供する。接続先のシステムに成り代わるスタブ・モックサーバーの機能を提供し、いつでもテストを実行できる環境を提供する。
このツールの特徴の一つは、多様なプロトコルに対応している点だ。レガシーなMQやSFTP、全銀TCP/IP、REST APIまで、幅広い種類のプロトコルをサポートしている。そのため「このツール一つを導入するだけで、レガシーシステムの段階での無影響確認テスト、さらにモダナイズした後のシステムの無影響確認テストにも対応可能」だという。
SOAtest/Virtualizeは、プロキシ機能を利用することで、その間やり取りのあった電文をキャプチャーしてそれをテスト資産とすることや、OpenAPI/SwaggerファイルなどのAPIのインターフェース仕様を読み込んで自動生成することも可能だ。AIを活用した機能も搭載しており、幅広く活用できることが強みである。

