SAP S/4HANAへのマイグレーション時のテスト戦略 Vol.2

SAP S/4HANAへマイグレーションする際のテストのベストプラクティスをご紹介する記事です。

はじめに

この記事では、SAP S/4HANAへのマイグレーションを行う際のテスト課題についてご紹介します。

以前の記事では、SAP社が提供するERP製品である「SAP S/4HANA」を例に挙げ、マイグレーションが必要となる背景についてご紹介しましたので、気になる方は「SAP S/4HANAへのマイグレーション時のテスト戦略 Vol.1」もご確認ください。

次のような方におすすめです。
  • SAP S/4HANAへのマイグレーションにおける現新比較のテスト手法をお探しの方
  • 今後、SAP S/4HANAへのマイグレーションを実施予定の方

SAP S/4HANAへのマイグレーション時に必要なテストとは?

まず、SAP S/4HANAへのマイグレーションにおいて、現行システムを移行した後も振る舞いが変わらないことを確認する必要があります。これは現新比較のテストと呼ばれ、マイグレーションの前後でシステムの挙動が同じであることを検証するために実施します。また、マイグレーションと同時にシステムに新規機能を追加するケースもよくあります。そのため、新規機能が期待通りに動作するかという観点でのテストが必要となる場合もあります。

また、近年ではSAP上のサービスとAPI連携するアーキテクチャが一般的になりつつあります。このAPI連携するシステムでは、フロントエンド側とバックエンド側で開発チームが異なっていたり、別の協力会社が担当しているといったケースが多くあります。フロントエンド側とバックエンド側がAPIを介してデータ連携することでこのシステムは適切に動作しますので、この両者をそれぞれテストする必要があります。そのため、SAP S/4HANAへのマイグレーションにおいては、現新比較のテストと追加機能に対するテストを、フロントエンド側とバックエンド側でそれぞれ実施する必要があると言えます。

一方で、ソフトウェアの品質を確保するために十分なテストを実施する必要がありますが、マイグレーションは膨大なコストを要する長期間のプロジェクトとなる場合がほとんどです。そのため、誰しもがテストには工数を掛けたくないと思うものですが、直面する課題によってはテストが思うように進まずスケジュールが遅延する場合もあります。

次項より、テスト時に起こり得る課題についてご紹介します。

フロントエンドのテスト課題

フロントエンドのテストでは、Web、モバイル、デスクトップアプリ等のUIテストが主なテスト観点となります。今回の例では、SAP 4/SHANAへのマイグレーションにおけるフロントエンドの現新比較のテストや、追加開発した機能が期待通りに動くことを検証するテストが必要となります。このとき、フロントエンドのテスト工数を減らすためにUIテストの自動化ツールを導入するというソリューションがよく採用されます。UIテストを自動化することで、繰り返し実施する必要があるUIの回帰テストや現新比較のテストを効率化することができます。

一方で、API連携するシステムはそもそもバックエンドのAPIが利用できなければ正常には動作しませんので、フロントエンドのテストを実施するためにはバックエンドのAPIが利用できる状態である必要があります。そのため、UIテストの自動化ツールを導入したとしても、APIが利用できないためにテストが思うように実施できないという状況が起こり得ます。

バックエンドの影響で起こり得るフロントエンドのテストに関する課題は下記の通りです。
  • マイグレーションのスケジュールが遅延していてAPIとの結合テストができない
  • バックエンドを開発している他チームとのスケジュール調整が必要となりテストを自由にできない
  • 他社のAPIを利用できる期間が限られており、テストのタイミングが限定される
そのため、フロントエンドのテストを実施する場合には、バックエンド側にも目を向け適切なテストソリューションを選択する必要があります。

バックエンドのテスト課題

SAP S/4HANAへのマイグレーション前後で、APIに対する現新比較のテストや追加機能へのテストを実施する必要があります。また、このときフロントエンド側との結合テストを実施する前に、APIを直接テストして品質を確保することも求められます。
そのため、APIに対しては想定される呼び出しのパターンで十分にテストする必要があります。一方で、APIテストは実施していてもレスポンス電文の検証は目視で行っているケースや、工数の問題で十分なパターンでテストができないといった課題も起こり得ます。

また、テスト対象のAPIがさらに別のAPIと連携している場合には、連携しているAPIが利用できなければAPIテストを実施することができなくなります。そのため、連携しているAPIの状況に依存してしまい、APIテストを実施するのに待たされてしまうというケースも起こり得ます。

APIテスト時に起こり得る課題をまとめると下記の通りです。
  • APIテストは行っているが、テストの実行から検証までを含めての自動化はできていない
  • 様々なデータパターンでのテストや、複数のAPIを順番に呼び出すシナリオテストができていない
  • 連携している他社のAPIを利用できる期間が限られており、自由にAPIテストができない
そのため、APIテストを自由に実施できる環境を用意しつつ、十分なテストパターンでAPIテストの自動化が可能なソリューションを採用することが求められます。

テスト進捗の遅れが許されないスケジュール

さらに、マイグレーションにおいては、連携する他社のサービスなど一部のシステムが利用できない状態に陥ることがよくありますが、タイトなスケジュールで各マイルストーンを達成することが求められます。下図のスケジュール例では、フロントエンドチームが各マイルストーンでバックエンドや外部システムと連携したテストを行う必要があると分かりますので、前もって十分なテストを行い品質を確保することが求められます。

一方で、ソフトウェアの品質が低いままシステム連携を伴うテストを行った場合、問題が起こった際に原因を特定するための手戻り作業が発生しやすくなります。結果としてテストの進捗が遅れ、さらにプロジェクト全体の遅延にも繋がり得ますので、このような状態に陥らないためにも適したテスト戦略が必要となります。

まとめ

本記事では、SAP S/4HANAへのマイグレーションにおけるテスト時の課題についてご紹介しました。次の記事では、これらの課題に対するソリューションについてご紹介します。
APIテストまるわかりガイドダウンロード

APIのテスト自動化とサービス仮想化を1ツールで SOAtest/Virtualizeに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。