英国・大手電機通信事業者、BlazeMeterのサービス仮想化&AI生成テストデータで、テスト効率を改善。数百万ポンドの節約に成功
*本記事は 以下の事例紹介記事(2024年9月15日時点)の参考訳です。
How BT Group Saved Millions By Transforming Testing Efficiency With BlazeMeter’s Service Virtualization and AI-Driven Test Data
*記事の内容は更新されている可能性があります。
通信サービスの世界的プロバイダーである、ブリティッシュテレコム(BT)グループは、ソフトウェアテストのプロセスを改善することで、効率化やコスト削減を実現しつつ、新しい製品やサービスを迅速に市場に投入できるようにしたいと考えていました。そして、BlazeMeterの高度なパフォーマンステストとサービス仮想化技術を活用することで、テストプロセスを一新し、複雑なシステム統合やテスト課題の克服に成功しました。本記事では、BTグループが、スパムメッセージの93%削減と5G専用ネットワーク運用における大幅なコスト削減を成し得た方法をご紹介します。
課題
BTは、複数のベンダーから異なるリリースサイクルで提供される50以上のBSS、OSS、およびネットワークコンポーネントを統合する必要があり、そのために非常に複雑なテスト環境を抱え、苦労していました。
従来のテスト環境には以下のような課題があったことから、開発およびテストのやり方を刷新する必要があると考えていたのです。
- 技術スタックの複雑さ
- ベンダーごとにリリースサイクルが異なる50以上のBSS(Business Support System)、OSS(Operation Support System)、およびネットワークコンポーネントの統合と、それに伴う複雑なテスト環境に対応するためには「サービスの仮想化」が不可欠でした。
- サードパーティシステムのシミュレーションの難しさ
- システムの複雑化に伴い、サードパーティのシステムを再現して包括的なテストを行い、高品質なサービスを提供し続けることが難しくなっていました。
- リリースサイクルの遅延
- 上記の課題により、リリースサイクルに遅れが生じ、開発や組織全体の効率が低下し、厳しい納期に対応することが困難な状況に陥っていました。
- スパムやフィッシングメッセージへの対応
- BTがテストする必要がある製品の一つに、人工知能と機械学習によりSMSスパムやフィッシング攻撃を特定する「SpamShield」がありました。スパムやフィッシングの問題は急速に拡大しており、顧客体験にも悪影響が出ていたため、早急な対応が求められていました。
解決策
ブリティッシュテレコム(BT)は、AIやサービス仮想化の技術を活用して、ソフトウェアテストの方法を進化させ、継続的テストを実施するために、BlazeMeterの導入を決めました。そして、サードパーティのシステムをシミュレーションし、早期に問題を発見できるようになったことで、開発を円滑に進められるようになりました。
サービス仮想化がBTに与えた影響
BTは、まず同社のシステム全体を詳細に把握し、サービスの仮想化が最も効果を発揮する部分を特定することから始めました。導入は影響を考慮して段階的に行われ、初期のテストでは、サードパーティシステムのシミュレーションや大量のトランザクションを処理するシステムなど、特に影響の大きい部分のテストに重点が置かれました。
- 1. 初期設定:
- BTの技術チームは、最初に重要なサードパーティサービスと、システム内でのそれらの連携について確認しました。そして、それらのサービスとの連携部分を仮想的に再現することで、実際のサードパーティシステムに依存することなく、テストを行えるようにしました。
- 2. 段階的導入:
- サービス仮想化は段階的に実施され、重要度の低いシステムとの連携部分のテストから始め、徐々により重要なシステムのテストに利用されるようになりました。この段階的なアプローチにより、システムの安定性を確保しつつ、開発・運用への影響を最小限に抑えました。
- 3. 継続的な管理:
- BTは、KubernetesとDockerを使用して、テスト環境を効率的に管理しています。Karpenterは、リソースを動的に調整し、パフォーマンスとコストを最適化するために用いられています。
BlazeMeterのサービス仮想化技術により、BTは以下のようなメリットを得ることができました。
複雑なユーザーシナリオのシミュレーション
BlazeMeterの仮想サービスを使用することで、BTは一連のリクエストを特定の順序で実行するように設定して、複雑なユーザーシナリオをシミュレーションできるようになりました。これにより、様々なユーザーシナリオや条件下でのパフォーマンスや信頼性のテストを実施し、今まで以上にリアルで、精度の高いテスト結果を得ることが可能になりました。リクエストの順序を定義することで、BTは実運用におけるワークフローを再現し、自社が提供するアプリケーションが多種多様なユーザー操作を適切に処理できるかを確認しています。
動的なレスポンスステータスコードの生成
BlazeMeterには、特定の条件に基づいて、レスポンスステータスコードを動的に設定または生成することができる機能が備わっています。この機能を使うことで、テスト中であっても柔軟に様々なレスポンスをシミュレーションできるため、より現実的なAPIの仮想サービスの作成が可能になります。例えば、「200 OK」、「404 Not Found」、「500 Internal Server Error」といった様々なHTTPステータスコードを再現することで、BTは、自社のアプリケーションが異なるレスポンスコードをどう対処するかを効果的にテストし、エラー処理のロジック改善に役立てています。
セキュリティリスクの軽減
BlazeMeterの仮想サービスに含まれるSSLエイリアス機能により、BTはSSL設定のカスタムエイリアスを指定し、クライアントとAPIエンドポイント間の通信を安全に暗号化することができるようになりました。この機能は、複数のSSL証明書を管理し、テストの際に安全な通信チャネルを維持するために重要なものになります。SSLエイリアスを使用することで、BTは仮想サービス内の異なるSSL設定を容易に識別・管理することが可能となり、テストのセキュリティと信頼性の向上に成功しました。
AIベースの合成テストデータの活用
BlazeMeterの条件付きルーティングロジック機能により、BTは特定の条件に基づいて、リクエストごとに異なる処理を実行するルールを定義できるようになりました。この機能により、複雑なAPIの挙動やルーティング設定をシミュレーションし、仮想サービスにおける動的かつリアルなシナリオを作成することが可能になります。リクエストメソッドやヘッダー、パラメーター、またはペイロードごとにルールを設定することで、BTは自社のアプリケーションが様々な条件下で正しく応答できるかを確認しています。なお、この機能は、テスト中に様々なシナリオのシミュレーションのための合成データを作り出すことができる、BlazeMeterのAI合成テストデータ・オーケストレーション機能によって実現されています。
APIパフォーマンスの向上
BlazeMeterの仮想サービスのデータセットプロファイルを活用することで、あらかじめ定義されたデータセットをシミュレーション時の入力やレスポンスとして使用することができます。これにより、BTは様々なシナリオやデータ条件でテストを実施し、異なる状況下でもAPIが安定して動作するかを確認できるようになりました。ユーザープロファイルやトランザクションデータ、その他の関連情報を含むデータセットプロファイルを定義することで、APIの機能性および信頼性の包括的な検証が可能になりました。
BlazeMeterには、HTTPの処理手順やWebhookのコールの順序を変更できる機能も備わっており、APIシミュレーション中にこれらのアクションの実行順序を柔軟にカスタマイズすることができます。BTはこの機能を活用して、リクエストや通知を期待通りの順序で処理させることで、実行フローを特定のテストシナリオに合わせて調整し、実運用に近いAPI動作を再現することに成功しました。
さらに、BlazeMeterの任意・依存・必須タグ検証機能により、BTはAPIレスポンス内の特定のタグや要素を必須として定義できるようになりました。この機能を使うことで、クライアントアプリケーションが必要とする全てのデータ要素を含む、期待通りのフォーマットでレスポンスを構成することが可能になります。BTは必須タグを設定することで、APIの動作を正確に再現し、仮想サービスによって生成されたレスポンスの正確性を検証するのに役立てています。
BlazeMeterに備わっている、仮想サービスのプロキシ設定リダイレクト機能を使うことで、事前定義されたルールに基づいて、届いたリクエストを指定された宛先にリダイレクトすることもできます。この機能は、複雑なAPIの挙動を再現し、様々なルーティング設定をテストするうえで非常に有効です。プロキシのリダイレクト設定により、BTはリクエストのフローを制御し、リソース配分を最適化することで、自社のアプリケーションがリダイレクトされたリクエストを効果的に処理できているか確認できるようになりました。
XPath&CDATAマッチング
BlazeMeterには、XPathマッチング用の選択ウィザードでXMLノードの属性を表示できる機能があります。そのため、XPath式でXMLドキュメント内の特定のノードを検索・選択することが可能です。BTはこの機能を使用して、XMLデータの選択や処理に対する詳細な基準を設定し、APIテストにおいて、仮想サービスがXMLメッセージを正確に解釈し、適切に応答するようにしました。
さらに、BlazeMeterの仮想サービスには、CDATAのマッチングおよび解析機能も備わっており、受信したリクエストおよびレスポンス内のXML CDATAセクションを正確に処理することができます。この機能により、仮想サービスのテスト中にやりとりされるデータの整合性を維持しつつ、意図しない解析やエンコーディングの問題を防止することで、BTではCDATAセクション内のデータが正しく処理できるようになりました。
テストプロセスの合理化
BlazeMeterは、単一のポート番号で複数の仮想サービスを実行することができるため、BTはテストプロセスを合理化して、設定管理をシンプルにすることができました。これにより、BTは同じ仮想環境内で様々なAPIやエンドポイントをシミュレーション・管理しつつ、リソースの使用を最適化し、包括的なテストカバレッジを確保しています。
注目: 「SpamShield」の高度なテスト
BlazeMeterのサービス仮想化技術が最も活躍したのは、SMSスパムやフィッシング対策を行うBTのツール「SpamShield」のテストでした。BlazeMeterを使って、SMS SIMファームをシミュレーションすることで、BTは「SpamShield」が大量のスパムメッセージを正確に処理できるかを徹底的にテストしました。結果、「SpamShield」はスパム報告件数を初期段階で93%削減し、2億8000万件のスパムテキストのブロックを実現しました。
BlazeMeterのR&Dチームは、BTと密に連携することで、スムーズなツール導入を実現させました。例えば、初期の課題であった、既存のフレームワークへのBlazeMeterの仮想サービスの統合は、ワークショップの実施や個別サポート対応を通じて、円滑に進みました。
テストプロセスの改善にAIを活用
BlazeMeterのサービス仮想化技術に加えて、BTはAI機能も活用して、テストプロセスの更なる強化を実現しました。テストデータの生成や潜在的な問題の検知にAIを活用することで、テスト実施における定型的な作業の自動化に役立てています。AIや機械学習(ML)を使って、膨大なテストデータを分析し、パターンや異常を特定することで、BTは問題の早期発見や解決、継続的な改善につなげています。
BTは、BlazeMeterのTest Data Proを活用して合成データを生成し、現実的かつ多様なテストデータを効率的に作り出しています。これにより、特殊なケースも網羅する形でテストを実施し、様々なデータ入力にアプリケーションが対処できるかどうかを確認できるようになりました。合成テストデータを使用することで、仮想サービスが様々な入力、特殊なケース、予期しないデータをどのように処理するかを、実運用のデータに依存することなく、テストすることが可能になりました。
BlazeMeterのAIとサービス仮想化技術の組み合わせにより、BTはテストプロセスを飛躍的に改善させ、開発・運用プロセスの最適化と同時に、高品質なソフトウェアの提供も実現しました。
- 1. シームレスな統合:
- BlazeMeterのAIとサービス仮想化技術は、BTの既存のテストフレームワークにシームレスに統合され、継続的なテストとリアルタイムなフィードバックを実現し、テストプロセス全体の強化に貢献しました。
- 2. 継続的な学びと改善:
- AIモデルは新しいデータから継続的に学習することで、テストの精度や問題の発見・解決能力を向上させていきます。AIが自ら学習・成長していくため、変化する要件や新しい技術に併せて、BTのテストプロセスも進化できるようになりました。
- 3. 包括的なテストカバレッジ:
- AIとサービス仮想化技術の組み合わせにより、単体テストからエンドツーエンドのテストシナリオまで、包括的なテストカバレッジを得ることができます。これにより、BTは自社のアプリケーションを徹底的にテストし、不具合発生のリスク軽減やアプリケーションの信頼性向上を実現しました。
BlazeMeter導入の結果
項目 | 導入前 | 導入後 | 改善点 | コスト削減 |
---|---|---|---|---|
テストケースモデル/機能ファイル | 手動 | AIで自動化 | 時間と手間を削減 | $27.5K |
テストケース開発 | 手動 | AIで自動化 | 開発プロセスの高速化 | $260K |
テストスクリプト開発 | 手動 | AIで自動化 | スクリプト作成/管理を高速化 | $500K |
追加機能(UX/アクセシビリティ) | 限定的 | 包括的 | ユーザー満足度の向上 | $2.5K |
サービスの仮想化 | 未対応/限定的 | 自動化 | テストカバレッジと信頼性の向上 | $5.625M |
モビリティテスト | 最低限 | 包括的 | モバイルアプリの品質/使いやすさの向上 | $60K |
自動化フレームワーク | 断片的 | 総合的 | コラボレーションの向上、エラーの減少 | 人的エラーの最小化 |
テスト環境 | 限定的 | 高スケーラビリティ&効率 | テスト効率と使いやすさの向上 | CAPEX: $55K OPEX: $81.25K |
テストデータ生成 | 手動 | AIで自動化 | データ準備の時間を短縮 | $56.25K |
リリースサイクル | 3か月 | 自動化、4週間 | リリースサイクルの短縮 | 4週間 |
スプリント内テスト | 散発的 | スプリント内 | バックログの削減、問題検知の向上 | 自動化カバレッジの向上 |
バグの見逃し | 高頻度 | 大幅な減少 | ソフトウェアの品質/信頼性の向上 | 52%減少 |
ツールコスト | 高(過去6か月) | 最適化 | 大幅なコスト削減 | $6.875M |
BlazeMeterの導入により、BTは次のようなROIを達成しました。
- 数百万ポンドの節約
- BlazeMeterのサービス仮想化とAI技術を活用することで、物理的なテスト環境を用意する必要性が低下しました。さらに、テストのカバレッジと信頼性の向上により、本番環境でのエラー発生リスクを最小限に抑えることに成功。結果として、大幅なコスト削減に貢献しました。
- 市場投入までの時間を4週間短縮
- BlazeMeterのAI/ML機能をはじめとする各種ツールを活用し、5G SAの耐障害性テストでサービス仮想化による包括的テストアプローチを採用することで、BTは新機能やアップデートなどを従来より4週間も早くリリースできるようになりました。これは、高品質なサービスをユーザーに提供するうえで、大きな改善と言えるでしょう。
- 「SpamShield」の成功
- 「SpamShield」の導入によって、BTはスパム報告件数を93%削減し、2億8000万件のスパムテキストをブロックすることに成功しました。BlazeMeterのサービス仮想化とAI技術は、この「SpamShield」導入の成功において重要な役割を果たしました。
- ソフトウェアの品質向上
- サービス仮想化とAIによるテストの自動化と効率化により、BTはソフトウェアの信頼性および安全性を高め、品質を向上することに成功。その結果、BTの経営陣が掲げる目標の一つでもある、顧客満足度の向上に繋がりました。
- シフトレフト
- サービス仮想化とAIにより、BTはシフトレフトを更に推し進め、より早い段階から統合テストの実施が可能になりました。これにより、プロセスが効率化され、エラーを最小限に抑えつつ、より早いサイクルで柔軟な対応がとれるようになりました。
- テストをシンプルかつ身近に
- BlazeMeterは、スキルレベルに関係なく、誰もが容易にテストを実施できる環境を提供することを目指しています。サービス仮想化やAI技術はユーザー視点で設計されているため、初心者から上級者まで幅広く、シンプルにテストを実施することができます。また、テストに関する知識やスキルの向上に役立つリソースへのアクセスも容易になりました。
- ユーザーのスキルアップ
- BlazeMeterは、包括的なトレーニング資料、学習管理システム、チュートリアルの提供を通じ、BTにおけるテスト実施に必要な情報をユーザーが習得できるように支援しました。これには、BlazeMeter Universityやウェビナーなどの学習プラットフォームも含まれます。また、BlazeMeterは、BTが経験豊富なプロフェッショナルからの支援を受けながら、更なる学習とスキル開発を行える体制を整えました。
まとめ
BTは、BlazeMeterとの戦略的パートナーシップを通じて、高度なサービス仮想化やAI技術を活用し、同社のソフトウェアテストのやり方に大きな変革をもたらしました。BlazeMeterの導入によって、テストプロセスが効率化されただけでなく、大幅なコスト削減、市場投入までの時間の短縮、ソフトウェア品質の向上が実現されました。複雑なシナリオのシミュレーション、テストデータ生成の自動化、新しいデータからの継続的な学習により、BTは潜在的な問題を予測し、早期に対処することで、高品質なサービスを顧客に提供することができるようになりました。今回のBTの事例は、BlazeMeterのサービス仮想化とAI技術が、BTのソフトウェア開発ライフサイクルの効率化に大きく貢献したこと、そして他の企業においても同様の成果を得られる可能性があることを示しています。
BlazeMeterが御社にどのようなメリットをもたらすか、ご興味がありましたら、ぜひ以下までお問い合わせください。製品説明に加え、無料体験やデモのご要望も受け付けております。