レガシー・システムからマイクロサービス・プラットフォームへの移行テストの自動化
はじめに
カスタマーアラートの応答性は桁違いに向上した。 Kafka採用の簡素化。 レイテンシーが低下し、回復力が高まった。 セキュアでスケーラブルな設計を実装。
XcelEnergyについて
同社はミネソタ州ミネアポリスに本社を置く公益事業持株会社である。 コロラド州、ミシガン州、ミネソタ州、ニューメキシコ州、ノースダコタ州、テキサス州、ウィスコンシン州:コロラド州、ミシガン州、ミネソタ州、ニューメキシコ州、ノースダコタ州、サウスダコタ州、テキサス州、ウィスコンシン州。
同社は1909年に設立され、アメリカの多くの州に電力やその他のサービスを提供している。 原子力、天然ガス、再生可能エネルギーなどのエネルギー源を持つ。 そのプログラムのひとつは、75,000人の顧客にサービスを提供しており、家電製品のメンテナンスのためのカスタマイズ可能なサービスである。
課題
このプロジェクトの主な目的は、古くて遅いレガシー・システムから、高速で効率的なマイクロサービス・ベースの新システムへスムーズに移行することだ。 主な課題は、レガシー・システムとの間でデータをフェッチしたり書き込んだりすることで、そのためにはシステムとやりとりするためのエンドポイントが必要だった。
- サービスのテストに利用できる自動化テストスクリプトはなかった。
- サービスのために書かれた手動テストは、コンフルエンス上で文書化されていなかった。
- Postmanはサービスのテストに使われた唯一のツールである。
- 私たちは、サービスの集中テスト・アプローチを持っていなかった。
- レガシー・サービスにアクセスするには、VPNを利用する必要があった。
- このサービスは、データの保存と取得のために複数のサードパーティ・サービスと通信している。
- サービスは他の多くのシステムでも消費されていた。
- テストとデプロイのためのサービスのCI/CD統合がない。
ソリューション
私たちの主な焦点は、サービスの機能テスト、回帰テスト、統合テストに役立つすべてのサービスの自動化テストスクリプトを作成することでした。
- サービスの機能テストと回帰テストのための自動テストスイートを作成。
- マニュアルテストケースの作成と文書化をコンフルエンス上で開始。
- フロントエンドとバックエンドのサービスを自動化するために、Postmanからe-TAFに切り替えた。
- QAに関連する作業を行う全員がそれに従うことができるように、コンフルエンスで従うべきアプローチの文書化を開始した。
- これまでVPN経由でしかアクセスできなかったすべてのエンドポイントをテストするために、一般にアクセス可能なエンドポイントを手に入れた。
- 複数のサード・パーティ・コールと統合されたテスト・スイートにより、サービスをエンド・ツー・エンドで検証。
- テストやデバッグのために必要な場合は、フロントエンドからサービスのエンドツーエンドのフローを手動でテストするようになった。
- サービスのテスト・スイートをCI/CDと統合し、サービスに変更があった後に実行するようにしました。
使用技術
- e-TAF: サービスの機能テスト、統合テスト、回帰テスト。
- Jenkins:ビルドパイプラインへのデプロイとテストスイートの統合。
- SFDC:システムで作成されるデータの検証
- Apigee:フロントエンドと、問題のデバッグ用。
- アマゾンクラウドウォッチ:サービスのログを保存し、トレースする。
- Cucumber レポート:サービスのテスト実行レポートの作成。
- ポストマン:手動テスト
結果
- テスト・スイートの実行は、手作業に比べ50%も速くなった。
- 手動のテストケースは、コンフルエンス上で誰でもアクセスできるようになった。 手動テストケースに有効な curl リクエストを添付し、必要に応じて直接使用できるようにする。
- postmanからe-TAFに切り替えたことで、すべてのテストケースが1つのプロジェクトに保存され、テストをシングルスレッドとマルチスレッドモードで実行するオプションが追加されたため、テストスイートの保守が容易になりました。
- 新しいQAメンバーは、作業を始める前にベストプラクティスのconfluenceページを参照できるため、チームへのオンボーディングが容易になった。
- 一般にアクセス可能なエンドポイントでは、Xcel energyのネットワークにアクセスするためにワークスペースにログインする必要がないため、サービス上でのテスト自動化の実行に時間がかからず、より便利です。
- サードパーティの通話を検証することで、その通話に問題がある場合、それを特定することもできた。
- 詳細な情報や図表を含むレポートは、ストーリーをより効率的に検討するのに役立つ。
NashTech による実践的なテスト自動化ピラミッドの実装
ナッシュテックは、世界中のお客様に優れた品質保証サービスを提供してきました。 以下のようなさまざまなレベルのテストスイートを導入することで、テスト自動化ピラミッド全体をカバーします。
- 機能テスト
- 回帰テスト
- APIテスト
- スモークテスト
- パフォーマンス(ストレスと負荷)
- グラフィック・ユーザー・インターフェース
- オートメーション(Scala、Javascript、Typescript、Java、Rust)
- データベーステスト(GraphQl、Postgresql/SQL、Cassandra)
- アクセプタンス、ユーザビリティ、アクセシビリティ
ケーススタディをもっと読む
大手デジタル広告サービスとの1年にわたるRPAの旅を垣間見る
大手デジタル広告サービス・ソリューションプロバイダーの1年にわたるRPAの旅と、NashTechがどのように彼らを支援したかをご紹介します。
デジタル棚の分析をサポートし、eコマースの成長を引き出す
NashTechがどのようにデジタル棚の分析を支援し、世界有数のデータ洞察とeコマースソリューションプロバイダーと成長を解き放つかをご覧ください。
あなたのプロジェクトについて話しましょう
- トピックス