テストは、バグのない信頼性の高いソフトウェアを提供するソフトウェア開発ライフサイクルの重要な要素です。 ただし、従来のテスト チームは、ソフトウェア開発の終了に向けてテストをビルドして実行します。 このアプローチでは、迅速なフィードバックやバグの早期発見はサポートされておらず、テストはコストのかかるプロセスとなり、最終製品の市場投入までの時間が長くなります。 アジャイル チームをサポートし、迅速なテスト フィードバックを実現するには、ソフトウェア開発ライフ サイクルの早い段階でテストを実施する必要があります。 このテスト戦略は「左シフト」と呼ばれ、機能テストと非機能テストに適用できます。 シフト左テストを使用すると、開発者とテスト担当者は、開発サイクルの初期段階でテスト ケースを構築および実行するために緊密に作業できます。
シフト左テストとは何ですか?
従来のテストアプローチでは、高価なハードウェアをインストールして維持する必要があり、開発の最終段階でテストを実行しますが、シフト左テストは、開発または統合された時点で、ソフトウェアの個々のコンポーネントに対して小さなテストケースを実行することに焦点を当てています。
シフト左テストは、次の基本原則に基づいています。
品質に対する責任の共有
従来のアプローチでは、バグやパフォーマンスの問題を見つけることはテスターの責任のみであり、テスターが提供する項目リストに基づいて問題が修正されます。 このアプローチでは、容易に特定できない多くのパフォーマンスの問題や欠陥を見落とします。 さらに、このアプローチにより、開発者とテスト担当者は、開発サイクルで可能な限り、開発者とテスト担当者の両方でアドホック テストを実行することで、品質を維持する責任を共有します。
開発者による自動化
テスト自動化により、テスト担当者はテストケースを作成して再利用し、テストプロセスを迅速化できます。 シフト左テストアプローチでは、開発者はテストの自動化を迅速かつ品質重視にするテスト自動化の作成にも貢献します。
統合テストモード
良質のソフトウェアは、開発者とテスターが推進する相互努力に依存します。 シフト左テストはこの考え方に従い、開発者は、テスト担当者がベースラインを確立し、これらのアドホック テスト ケースに加えて、より包括的なテスト ケースを構築するために使用できる、小規模なアドホック テストを作成および統合する必要があります。
シフト左テストのメリットとメリット
- バグ、欠陥、およびパフォーマンスの問題は、開発ライフサイクルの早い段階で特定できます。
- テストおよびメンテナンスコストは、さまざまな問題を早期に検出し、解決することで大幅に削減できます。
- 最終製品は、非常に少数のバグとパフォーマンスの問題で、より高品質です。
- 迅速なフィードバックを伴う開発との統合テストにより、市場投入までの時間が短縮されます。
- ユーザー エクスペリエンスの向上と一貫性のあるユーザー エクスペリエンスにより、顧客満足度が向上します。
- より高品質なコードベースが達成され、維持されます。
- テストのROIを増加しました。
シフト左テスト戦略によるロードテスト
ロード テストは、ウェブ サイトまたはソフトウェアの速度、安定性、およびスケーラビリティを確認するために行われる非機能的なパフォーマンス テストです。 ウェブサイトが通常の動作で多数のユーザー(負荷)を維持できるかどうかを判断するために使用されます。 これは、ウェブ サイト上で予想される負荷量を生成することによって行われ、パフォーマンスはさまざまなリソースやメトリックに対して測定されます。 パフォーマンスのボトルネックと改善の範囲を特定し、ウェブ サイトを最適化してパフォーマンスを向上させ、高いトラフィック状況下でパフォーマンス ベンチマークを維持するのに役立ちます。 従来、ロード テストは、ウェブ サイトの開発後または運用環境で実行されるほとんどの場合です。
ロード テストは、次の問題を識別するのに役立ちます。
- サーバー応答時間
- システムパフォーマンス
- データベースのパフォーマンス
- ネットワークの遅延と容量
- 設計上の問題
- サーバー構成の問題 (データベース・サーバー、ウェブ サーバー、アプリケーション・サーバー、CDN など)
- ハードウェアのボトルネック (CPU、メモリ、ネットワーク コンポーネントなど)
ロード テストにシフト左アプローチを適用すると、開発者とテスト担当者は、新しいリリースと更新のたびに、ウェブ サイトが常に高トラフィックの状況に合わせて最適化されていることを確認する独自の機会を提供します。 シフト左ロードテストには、主に次の 2 つの作業を行う必要があります。
ロード テストの個々のコンポーネント
シフト左テストを採用するには、独立したモジュール、API、サードパーティのAPI統合、UIレイヤー、異なるウェブ ページなど、個々のコンポーネントをすべてロードテストする必要があります。 そのためには、クラウドベースのロード テスト ツールを使用して、パフォーマンスを分析するためのモジュール コンポーネントをテストします。 ロード テストから収集されたレポートとデータに基づいて、これらの個々のコンポーネントを最適化し、ウェブ サイトのパフォーマンスを詳細なレベルで確保できます。
CI/CD パイプラインでのロード テスト
シフト左テストは自動化を利用します。 自動化により、パフォーマンス・テストは、パフォーマンス・レポートを見直し、それに応じてアクションを実行する必要がある効率的なプロセスになります。 CI/CD パイプライン は、負荷テストを展開して、パフォーマンスに関する統合や開発の問題を特定し、それらを効果的に最適化できる完璧なプロセスです。 新しいコードをシステムに統合したり、リリースをビルドしたり、展開したりするたびに、ロード テストを実行すると、パフォーマンスの問題を早期に特定して解決するためのテストの利点が得られます。
ロードビューを使用した左ロードテストのシフト
シフト左ロードテストでは、個々のコンポーネントのテストやCI/CDパイプラインの自動化に簡単に使用できるロードテストツールが必要です。 LoadView は、ウェブ アプリケーション、ウェブ ページ、REST API、サードパーティ API などのテスト用に迅速にデプロイするクラウドベースのロード テスト ツールです。 LoadViewを 、ジェンキンスなどのCI/CDオートメーションツール と統合して、左シフトを最大限に活用し、より高品質なウェブサイト/アプリケーションを提供することができます。 次に、シフト左ロードテストに LoadView プラットフォームを使用する場合の重要な利点を示します。
- LoadView は、負荷テスト要件に対して高価なハードウェアのセットアップを購入して維持する必要のないクラウドベースのツールです。
- LoadViewは、実際のブラウザとデバイスを使用して負荷を生成し、パフォーマンスの正確さを実現するために現実的なエンドユーザーをシミュレートします。
- LoadViewは、異なる地理的な場所からユーザーを生成して、さまざまな地域でのパフォーマンスをテストして、より理解と最適化を行います。
- リアルタイムで負荷を調整して、システムのパフォーマンスを微調整し、スケーリングの計画を立てることができます。
- LoadView は、プログラミングの知識の有無にかかわらず、誰でも使用できる EveryStep Web Recorder を使用してポイント アンド クリック スクリプト生成を使用するため、専用のテスト リソースがない場合に最適です。
結論
シフト左テストは、アジャイルチームとDevOpsプラクティスをサポートし、コストと時間を削減してより良い品質の製品を生成します。 シフト左アプローチによる負荷テストは、ウェブサイトが常にパフォーマンスに最適化されていることを確認するための非常に洗練された戦略です。 LoadView は、シフトレフトロードテストに効率的に適用できるクラウドベースのロードテストツールで、より優れたパフォーマンスと市場投入までの時間を短縮した高品質な製品を実現します。 さまざまな タイプのシフト左テスト と、LoadView が DevOps の実践を強化する方法について詳しく説明します。