getting started with cloud testing
この記事では、「クラウドテスト」の実行方法を学習します。これを理解するには、まずクラウドコンピューティングの概念を知る必要があります。この記事では、クラウドコンピューティング、クラウドテスト、およびクラウドでのテストに関する主な課題について説明します。
クラウドコンピューティングの紹介
数年前、業界は「仮想化」と呼ばれる新しい流行語とテクノロジーを目撃しました。仮想化の出現により、スケーラビリティを向上させ、資本コストを削減し、ITインフラストラクチャの管理を容易にするために、複数のオペレーティングシステム間でコンピューティングリソースを共有するというイデオロギーが、複数の企業のバックボーンになりました。
過去数年間で、ITはクラウドコンピューティングの形で仮想化の進化を目の当たりにしてきました。クラウドの初心者は、クラウドコンピューティングを、すべてを「サービスとして」見るモデルとして描く必要があります。
クラウドコンピューティングを、ITをサービスとして提供するトータルソリューションとして定義することは明らかです。仮想化と同様に、そのモットーは、割り当てと可用性がインターネットを介してオンデマンドで行われるリソース共有です。
(画像 ソース )
クラウドコンピューティングを説明する実際の例:
の理論を簡単に理解できます クラウドコンピューティング レストランで食事をするという簡単な例を見てみましょう。 例えば、 家で食事をするのではなく、レストランで食事をすることを検討してください。目的は純粋に食事の消費ですが、これらの両方の場合に使用されるアプローチまたはモデルは大幅に異なります。
家では、食事に必要なすべての材料が揃っているかどうかを確認する必要があります。特定の料理を調理するために必要な準備が整っていることを確認する必要があります。あなたは食べ物を調理し、料理が調理された後、周囲を整頓する責任はあなただけにあります。
一方、レストランで食事をすることは、サービスであるケータリングと言えます。顧客として、あなたはレストランに行き、あなたが選んだ料理を注文し、そしてサービスの代金を払うだけです。
食材の所持、料理の準備、料理、そのプレゼンテーション、料理の提供、一度行ったテーブルの片付けと掃除、余分な残り物の梱包のボーナスはすべて、レストランの管理にあります。
この例は、クラウドコンピューティングのイデオロギーと原則、つまり「オンデマンドの可用性」、「サービスとして」、「使用料の支払い」に類似していると見なすことができます。
学習内容:
クラウド配信モデル
Macで.datファイルを開く方法
(画像 ソース )
クラウドには主に、「サービスとして」機能を提供する3種類の配信モデルまたはコンポーネントがあります。
- サービスとしてのインフラストラクチャ(IaaS) :これは、クラウドの構成要素を形成する最も基本的なレイヤーです。これは主に、ストレージ、ネットワークデバイス、コンピューティングサーバーなどの物理リソースで構成されます。これらのコンピューティングリソースはすべてオンデマンドで利用でき、ユーザーは使用量に応じて料金を支払います。
- Platform as a Service(PaaS) :クラウドの中心層はプラットフォームです。ここでは、基盤となるインフラストラクチャを制御することはできませんが、デプロイされたアプリケーションにアクセスすることはできます。したがって、これにより、開発環境またはテスト環境である可能性のあるランタイム環境全体がオンデマンドで提供されます。したがって、このモデルでは、最も一般的には、OSや必要なミドルウェアなどの完全な環境を必要なときに利用できるVMがあります。
- サービスとしてのソフトウェア(SaaS) :ここでの最上位のレイヤーはアプリケーションレイヤーであり、通常はすべてのユーザーに表示されます。ここでは、アプリケーション/製品は、インターネットを介してオンデマンドでユーザーが利用できます。したがって、特定のユーザーのライセンスを取得する代わりに、これがライセンスが常に使用されていることを確認するための最も費用効果の高い方法であることがわかります。この例としては、Gmail、Googleドキュメント、Photoshopなどがあります。
雲の種類
クラウド形成には、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドの3種類があります。
- パブリッククラウド は、サービスがすべての人に利用可能であり、リソースが要求に従って動的に割り当てられ、プロビジョニングされるものです。
- プライベートクラウド 通常、特定の組織のファイアウォールルール内で管理され、社内のユーザーのみが使用できます。
- ハイブリッドクラウド プライベートクラウドとパブリッククラウドの両方が混在しています。組織は、すべての人に公開するサービスと、組織内のユーザーにのみ公開するサービスを決定できます。
クラウドテスト-必要性
クラウドテストとは、オンデマンドで利用できるハードウェア、ソフトウェアなどのリソースのテストを指します 。ここでのテストでさえ、「サービスとして」見ることができます。クラウドオファリングの場合、サービス(製品)が機能要件だけでなく非機能要件も満たしていることを確認することが不可欠です。クラウドにはさまざまなアプリケーションがあり、クラウドテスト戦略の開発が不可欠になっています。
クラウドテストのメリット
クラウドテストの必要性は、クラウドテストから得られるメリットが多すぎるため、簡単にわかります。以下では、その理由を説明する最も明白な利点について説明しようとしました。 雲 時間の必要性です:
- の動的可用性 テスト環境 :どの組織でも、通常のテストアプローチは、テストに必要なハードウェア/ソフトウェアインフラストラクチャに投資することです。ほとんどの場合、要件が急速に変化するため、テストチームに提供される環境が顧客の環境と一致することはめったにないことに同意するでしょう。その結果、企業がそれを維持することは非常に困難です。クラウドはこの問題に対する唯一の答えであり、ユーザーは顧客環境を簡単に複製して、サイクルの早い段階で欠陥を見つけることができます。
- 低価格 :前のポイントに対する別の角度は、企業がインフラストラクチャに投資する場合、その通常の原因は、サーバーの多くが常に使用されていないことです。その結果、ライセンスの更新に追加費用が発生する可能性があります。クラウドへの移行は、このシナリオでも役立ちます。ユーザーは必要に応じてアプライアンスを試運転できるため、組織の莫大なコストを節約できます。
- 簡単にカスタマイズ可能 :クラウドを使用すると、組織が使用状況に応じてカスタマイズすることでエンドユーザー中心の環境をエミュレートすることが簡単になり、コストと時間を節約できます。テストチームは、さまざまなOS、ブラウザ、構成など、さまざまな順列と組み合わせで負荷テストとパフォーマンステストのシナリオを簡単に実行できます。
- スケーラビリティ :これはクラウドの最も魅力的な機能の1つであり、必要に応じてコンピューティングリソースを増減できます。これは、ビジネス要件が頻繁に変更され続ける状況で広く使用されています。
クラウドテストの詳細
クラウドに関するテストでは、従来の方法と新しい時代の方法の両方を使用してテストを実行します。テストとクラウドは、それぞれのパスで同じように大きなドメインです。以下のセクションで、両方を一緒に表示する方法を学びましょう。
#1)クラウドテストフォーム
クラウドテストは、目的に基づいて大きく4つのカテゴリに分類できます。
- クラウド全体のテスト: クラウドは、その機能に基づいてエンティティ全体と見なされ、それに基づいてテストが実行されます。
- クラウド内でのテスト: これは、クラウドの各内部機能をチェックすることによってクラウド内で実行されるテストです。
- クラウド全体でのテスト: 仕様に基づいて、ここでは、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなど、さまざまなタイプのクラウドでテストが実行されます。
- クラウドでのSaaSテスト: 機能テストと非機能テストは、要件に基づいて実行されます。
#2)クラウドテスト環境
クラウドテスト環境には次の3種類があります。
- デプロイされたアプリケーションの品質を検証する必要があるプライベート環境またはパブリック環境。
- ハイブリッド環境。アプリケーションにデプロイされているアプリケーションの品質を検証する必要があります。
- クラウドベースのテスト環境。クラウドにデプロイされたアプリケーションの品質を検証する必要があります。
#3)クラウドで実行されるテストの種類
クラウドでのテストでは、機能要件が満たされていることを確認するだけでなく、非機能テストにも重点を置く必要があります。実行されるさまざまな種類のテストを見てみましょう。
機能テスト :
機能テストを実行して、オファリングがユーザーが支払っているサービスを提供していることを確認する必要があります。機能テストは、ビジネス要件が満たされていることを確認します。
機能テストのいくつかを以下に説明します。
- システム検証テスト :これにより、さまざまなモジュールが相互に正しく機能するかどうかが確認され、期待どおりの動作が保証されます。
- 受け入れ試験 :ここでは、クラウドベースのソリューションがユーザーに渡され、ユーザーの期待に応えていることを確認します。
- 相互運用性テスト :どのアプリケーションも、さまざまなプラットフォームで問題なく動作する柔軟性を備えている必要がありますが、クラウドインフラストラクチャから別のインフラストラクチャに移動するときにもシームレスに動作する必要があります。
非機能テスト:
非機能テストは、主にWebアプリケーションベースのテストに焦点を当てており、目的の要件を満たしていることを確認します。
インドで最高のウェブホスティング会社
以下に説明する非機能テストのいくつかの形式を示します。
#1)可用性テスト :クラウドスーパーバイザー/ベンダーは、クラウドが24時間利用可能であることを確認する必要があります。多くのミッションクリティカルな活動が行われている可能性があるため、管理者は消費者に悪影響がないことを確認する必要があります
#2)マルチテナンシーテスト :ここでは、複数のユーザーがクラウドサービスを使用しています。複数のユーザーが単一のインスタンスを使用している場合に、データの十分なセキュリティとアクセス制御があることを確認するために、テストを実行する必要があります。
#3)パフォーマンステスト :応答時間の検証は、満たす必要のある要求が多い場合でもすべてが損なわれていないことを確認するために行う必要があります。ネットワーク遅延も、パフォーマンスを評価するための重要な要素の1つです。
また、負荷が軽減された場合は、リソースを廃止してワークロードのバランスをとる必要があります。したがって、負荷とストレスのテストはクラウドオファリングで実行され、負荷とストレスの増加/減少に対してアプリケーションが最適に実行されていることを確認します。
#4)セキュリティテスト :クラウドではすべてがいつでも利用できるため、すべてのユーザーの機密情報に不正アクセスがなく、ユーザーのプライバシーが損なわれないようにすることが重要です。クラウドでアプリケーションを保守する場合は、ユーザーデータの整合性も検証する必要があります。
#5)ディザスタリカバリテスト :可用性テストですでに述べたように、クラウドは常に利用可能である必要があり、ネットワークの停止、極端な負荷による故障、システム障害などの障害がある場合は、障害が示される速度と、ある場合は測定します。この期間中にデータ損失が発生します。
#6)スケーラビリティテスト :必要に応じて、オファリングにスケールアップまたはスケールダウン機能を提供する機能があることを確認するためのテスト。
クラウドテストツール
このセクションでは、クラウド環境で実行されるさまざまな種類のテストで使用されるツールのいくつかについて説明します。ツールの詳細は、この記事の範囲外です。
クラウドでのパフォーマンステストのためのツール:
ツールの多くは、基本的にパフォーマンス、負荷、ストレステストに使用されます。以下のこれらのツールのいくつかは、機能テストにも使用できます。
- SOASTA CloudTest
- LoadStorm
- CloudTestGo
- AppPerfect。
- Jmeter
- Cloudslueth
- CloudTestGo
- AppPerfect
クラウドセキュリティテストツール:
一般的に使用されるセキュリティ関連のツールもいくつかあります。
- Nessus
- Wireshark
- Nmap
=>クラウドベースの自動化テストツールの完全なリストについては、ここをクリックしてください
クラウドテストの課題
雲が聞こえるほどエキサイティングですが、ここではすべてがハンキーではありません。インフラストラクチャとしてクラウドに依存して使用することにも、いくつかの課題があります。クラウドを使用する際の主な懸念事項のいくつかを見てみましょう。
課題#1) すべてのユーザーがオンデマンドで利用できるため、セキュリティは企業にとって主要な問題です。現在、業界ではセキュリティ標準を設定するために多くの議論と研究が行われています。ユーザーのプライバシー保護、クラウド上のセキュリティ標準、クラウドで実行されているアプリケーションのセキュリティ、 セキュリティテスト手法 クラウドインフラストラクチャで対処する必要がある主要な問題のいくつかです。
課題#2) もう1つの大きな課題は、クラウド、特にプライベートクラウドでのアプリケーションのパフォーマンスです。多くのユーザー間で共有されるため、遅延が発生する可能性もあります。また、メンテナンスや停止に関連するアクティビティの場合、帯域幅が不十分であるように見える場合があります。
課題#3) テストの目的で、サーバー、ストレージ、またはネットワークに関して、クラウドプロバイダーでサポートされていない可能性のある特定の構成が必要になる場合があります。これにより、お客様の環境をエミュレートすることが困難になる場合があります。
チャレンジ#4 )もう1つの一般的に直面する課題は、テスターがネットワーク、データベース、サーバーなどをテストする統合テストに関するものです。このような状況では、テスターは基盤となる環境を制御できません。次に、これらのコンポーネント間に相互作用が必要な場合、テスターはクラッシュ、ネットワークの故障、サーバーの故障などのリスクを予測する必要があるため、課題は2倍になります。
結論
今日、クラウドコンピューティングは、業界におけるそれらの「ビッグバン」の1つになっています。現在、ほとんどの組織は、クラウドを採用する傾向にあります。 柔軟性、拡張性、およびコストの削減 。
クラウドをテストに使用することで、組織は必要なツール、ソフトウェアライセンス、インフラストラクチャを非常に低コストで取得できます。クラウドをセットアップして、後で最大の使用率を心配する必要はありません。
明らかに、クラウドは長い間存在し続けており、クラウドテストにも明るい未来があります。 :)
著者について :これはSnehaNadigによるゲスト記事です。彼女は、手動および自動化テストプロジェクトで7年以上の経験を持つテストリーダーとして働いています。
クラウドテストに取り組んでいますか?あなたの経験を共有してください。または質問がありますか?コメントでお気軽に投稿してください。