SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers X Summit 2025 セッションレポート(AD)

レガシーシステムの刷新のたびに繰り返すテスト地獄──金融業界のテスト自動化、最前線は?

【session6】金融業界の未来を切り拓く:システムモダナイズとテスト自動化の最前線

 昨今の金融業界では、競争力を維持するうえでシステムのモダナイズが最重要課題となっている。一方で、ビジネスロジックへクリティカルな影響を与えることなくレガシーなシステムを刷新するためには、慎重な開発プロセスと繰り返しのテスト作業が不可欠である。テクマトリックス株式会社の常盤旭氏は、金融業界のシステムモダナイズにおける課題の一つとして「無影響確認テスト」を挙げる。常盤氏が同社のツールを効果的に活用し、無影響確認テストの自動化を実現する方法を解説した。

金融業界のシステム開発、3つの課題

 テクマトリックスのソフトウェアエンジニアリング事業部は、30年以上にわたり海外製ソフトウェア開発支援ツールの日本語化と販売を行い、現在2000社を超える顧客を抱えている。同社の豊富な支援経験から、本セッションでは金融業界のシステムモダナイズにおける課題と、テスト自動化を可能にするソリューションを中心とした具体的な解決策を紹介した。

テクマトリックス株式会社 ソフトウェアエンジニアリング事業部 常盤 旭氏
テクマトリックス株式会社 ソフトウェアエンジニアリング事業部 常盤 旭氏

 常盤氏は、金融業界のシステムモダナイズにあたって、よく聞く課題は「3つのキーワードに集約される」と言う。「レガシーシステムの維持・刷新・更新」「サイバーセキュリティの脅威」「システム間統合」だ。

 一つ目のレガシーシステムの維持・刷新・更新に関しては、COBOLなどの古い技術で運用されているレガシーシステムを、新しい技術へ移行したいというニーズが多いという。

 二つ目のサイバーセキュリティの脅威に関しては、金融システムが攻撃者にとって魅力的なターゲットであり、常に攻撃の危険にさらされている点が挙げられる。そのため、サイバー攻撃の脅威をどう防ぐかは金融業界の喫緊の課題だ。

 三つ目のシステム間統合に関しては、銀行の統廃合が繰り返される中で、複数のシステムを連携させる必要がある点が課題だ。また、新たなサービスを提供する際には、さまざまなシステムとのデータ連携が不可欠となるため、「難易度の高いデータ連携をどのように実現すればよいのか」といった相談も多いという。

 こうした複雑な金融業界のシステムモダナイズを実現する上で、重要な考え方として挙げられるのが「モダナイズジャーニー」だ。これは、NTTデータがシステムモダナイズに携わる部門において発信しているキーワードであり、同社のWebサイト(※参考:DATA INSIGHT「脱レガシーを実現するリビルド開発手法」)でも紹介されている。

 「メインフレーム上で動いているモノリシックなシステムを、いきなりマイクロサービス化するのは難しい。小さなステップを踏みながら徐々にモダナイズしていく─これが『モダナイズジャーニー』の考え方です」と常盤氏は語る。

 例えば、まずはメインフレームをクラウドやオンプレミスに置き換え、そのリホストが成功したら、次にCOBOLからJavaへのリライトに着手する……といった形で段階的にモダナイズを進めていくのだ。

金融業界特有の「無影響確認テスト」

 金融業界のレガシーシステムの刷新では、「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を活用した機能も搭載しており、幅広く活用できることが強みである。

UIテスト自動化ツール「Ranorex」

 続いて紹介されたのは、端末側の無影響確認テストをサポートするUIテスト自動化ツール「Ranorex」。UIテスト向けのツールは多いが、Ranorexはノーコードでテスト資産を作成できる点が特徴だ。また、幅広いテクノロジーに対応し、デスクトップアプリやWebアプリ、モバイルアプリなどを一つのツールでカバーできる。

 常盤氏は、大手損害保険会社がRanorexを活用し、無影響確認テストを自動化した例を紹介した。

 同社はマルチブラウザ化・マルチデバイス化にあたって、管理コストやテスト工数が膨大になることが課題だった。同時に、Salesforce上で稼働するシステムのテスト自動化が困難で、複合的なテストの負荷が大きいといった課題も抱えていた。

 こういった課題に対し、Ranorexを導入することによって、管理コストやテスト工数を大幅に削減。無影響確認テストの工数を50%削減したという。さらに、DBの値を検証したり、帳票出力した値が正しいか検証したりする作業まで自動化した。

 「開発者のモチベーションが下がってしまう作業を削減したことで、開発者のエンゲージメントも向上し、新規開発に注力できるようになった」と言い、導入効果が大きかったという。

カバレッジ計測「Jtest」

 最後に紹介された「Jtest」は、Javaに特化した静的解析・単体テストツールとしてさまざまな機能を提供している。その機能の1つとしてカバレッジ計測機能を提供しており、他のテスト自動化ツールと組み合わせて活用することで、より戦略的なテスト自動化が可能になる。

 カバレッジ計測を行いながらテストのカバー率を確認して、不足があればテストシナリオを修正し、テストの漏れをなくしていく。Javaの採用率の高い金融業界に合わせて、対応言語はJavaに特化している。

 常盤氏はJtestの運用例として、Jenkinsを用いたUIテストインテグレーションのケースを挙げた。JenkinsをCIサーバーとして立てて、UIテスト自動化ツール・APIテスト自動化ツールを実行しながらすべてのテストを網羅的に行いたい場合だ。

 ポイントになるのは、開発者がソースコードを開発して構成管理サーバーに登録していく際、テストシナリオも一緒に登録できることだ。

 「この2つをCI環境上で取得してテストを実行しつつ、JtestでJavaのカバレッジを計測する。最終的にはUIテストのレポートやコードカバレッジの状態を複合的にダッシュボードで一元的に表示することができます」

 こうした仕組みは他のツールでも実現可能だが、コードカバレッジをマージしてダッシュボードで表示するといった操作は複雑になりがちだ。Jtestは、最終的なレポートまで簡単に網羅的に確認できるのが強みである。

 常盤氏は「複数のテスト環境でテストを実行し、カバレッジをマージして全体の総量を確認したい場合、特にJtestを有効に活用いただけるのでは」と提言した。

まとめ

 ここまで、金融業界の無影響確認テストの効率化に役立つ3つのツールが紹介された。最後に常盤氏は、テクマトリックスが提供する「機能テストソリューション」についても紹介した。

 機能テストソリューションは、単体テストや結合テスト、システムテストのフェーズで活用できるツール群だ。

 例えば、右下の「TestRail」は、テストのリアルタイムの進捗確認などをWebベースで行えるテスト管理ツールだ。QAチームによる採用が増えているという。

 Excelやスプレッドシートでテスト管理を行う企業が多いが、複数チームでの情報共有やリアルタイムの進捗確認に課題が生じやすい。TestRailを使うことで、テストに関わる成果物を一元管理でき、進捗状況の把握も容易になる。

 常盤氏は最後に、「本日の内容に加えて、ソフトウェアの品質向上やテスト効率化に課題を感じている方には、ぜひご相談いただきたい。当社の豊富な製品ラインナップを通じて、皆さまの課題解決やビジネスに貢献できるソリューションをご提案できると考えています」と呼びかけた。

「金融業界の未来を切り拓く:システムモダナイズとテスト自動化の最前線」

 テクマトリックス株式会社 ソフトウェアエンジニアリング事業部

 本資料では、金融業界におけるシステムの現状や、脱レガシーを実現するテスト自動化手法について解説しています。レガシーシステムにおける、無影響確認テスト(現新比較・リグレッションテスト)に着目し、システムにおける無影響確認テストが対象となるポイントや、テスト自動化に向けたソリューションなどをご紹介しています。

 ▶ 資料ダウンロードはこちら

この記事は参考になりましたか?

提供:テクマトリックス株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/22638 2025/12/24 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング