how choose best automation testing tool
このチュートリアルでは、簡単に参照できるように、テスト自動化ツールの選択基準とテスト自動化ツールの比較マトリックスを含むチェックリストについて説明しました。
プロジェクトに最適な自動化ツールの選択に関するAto Zガイド:
これは4ですthテスト自動化チュートリアルシリーズのチュートリアル。このページでこのシリーズに投稿されたすべての記事を確認してください:=> プロジェクトで自動化テストを開始するための究極のガイド
テスト自動化ツールの選択は、組織で自動化を開始する前の最も重要なステップの1つです。
ツールは自動化作業全体に大きな影響を与えるため、これは重要です。ツールが優れていて、必要な機能を提供している場合、自動化はより簡単で効果的になります。
自動化ツールを選択する際に考慮すべき多くの基準があります。それらのいくつかは、以前の記事の1つで説明しました。ここでは、テスト自動化ツールを選択する際に考慮すべき最も重要な側面をリストアップしました。
学習内容:
- 自動テストはあなたのためのソリューションですか?
- テスト自動化はいつ意味がありますか?
- プロジェクトに自動化ツールを選択する方法は?
- テスト自動化ツールの評価基準
- テスト自動化ツールの選択基準とチェックリスト
- 質問1:自動化ツールに対する組織の予算はいくらですか?
- 質問#2:ツールの実際の価格はいくらですか?
- 質問3:ツールは、アプリケーションが実行されているオペレーティングシステム/ブラウザまたはデバイスをサポートしていますか?
- 質問4:ツールは、アプリケーションで使用されるテクノロジーとサードパーティのコントロールをサポートしていますか?
- 質問5:ツールがサポートする言語はいくつですか?これらの言語に関する熟練したリソースはありますか?
- 質問#6:ツールは異なるデータソースへの接続をサポートしていますか?
- 質問#7:自動化ツールのレポートメカニズムはどのようになっていますか?
- 質問#8:ツールをテストケースおよびバグ管理リポジトリと統合できますか?
- 質問#9:ツールの公式テクニカルサポートはどうですか?
- 質問#10:確認すべきいくつかの技術的側面
- 結論
- 推奨読書
自動テストはあなたのためのソリューションですか?
私は自分のキャリアの中で多くのプロジェクトに取り組んできました。同じプロジェクトに1年以上取り組んでいると、いくつかのタスクを自動化する必要性を強く感じ始めます。プロジェクト管理者がこれまで検討していなかった場合、プロジェクトに自動化テストを導入することを考え始めます。
1年は、誰もがプロジェクトの詳細を知るのに十分な時間です。一度 プロジェクトの機能を詳細に知っていると、自動化する必要のある反復タスクを決定するのが簡単になります。
いくつか テスターも退屈します 同じ繰り返しタスクを何度も繰り返すと、テスト自動化の必要性を強く感じ始めます。
それはあなたがすぐに自動化テストに飛び込むべきであることを意味しますか?
絶対にありません!
自動化がソリューションであるかどうかを判断する前に取り組む必要のある多くの基準があります 。
テスト自動化はいつ意味がありますか?
- 繰り返しテストが多い場合
- 回帰テストの反復が頻繁にある場合
- あなたがする必要があるとき 多数のユーザーをシミュレートする アプリケーションリソースを使用している人
- AUTのUIが比較的安定している場合
- BVTケースのセットが多い場合
- 重要な機能について手動テストの実行だけに頼ることができない場合
参考文献:
- いつ自動化に行くべきですか?
- 自動テストを開始する前に読むべきヒント
時間とお金を優れた自動化ツールに投資するのに適切な時期であることがわかったら、ニーズに合った最適な自動化ツールを探し始めることができます。
プロジェクトに自動化ツールを選択する方法は?
自動化テストの成功は、適切なテストツールの選択に大きく依存します。市場で入手可能な関連する自動化ツールを評価するには、多くの時間がかかります。しかし、これは長期的にプロジェクトに利益をもたらす必須の1回限りの演習です。
プロジェクトの自動化ツールを確認して選択する機会を得た状況はほとんどありませんでした。テストのニーズとコスト制限を管理する必要があったため、このタスクは困難でしたが、経験する価値がありました。
テストツールを選択する前に考慮する必要のある基準は次のとおりです。
テスト自動化ツールの評価基準
1) 自動化タスクに割り当てるために必要な熟練したリソースがありますか?
二) 予算はいくらですか?
3) ツールはテストのニーズを満たしていますか?使用しているプロジェクト環境やテクノロジーに適していますか?コードで使用されるすべてのツールとオブジェクトをサポートしていますか?ツールがアプリケーションで使用されているオブジェクトを識別できないために、小さなテストで行き詰まることがあります。
上記の3つの要素は、ツールを選択する上で最も重要であると考えています。
4) ツールは、決定を下す前に評価できるように、無料の試用版を提供していますか?また、ツールには試用版で利用できるすべての機能がありますか?
5) 現在のツールバージョンは安定していますか?ベンダー企業は、優れたカスタマーサポート、オンラインヘルプリソース、およびユーザーマニュアルで設立されていますか?
6) ツールの学習曲線はどうですか?学習時間はあなたの目標に受け入れられますか?
7) プロジェクトのニーズのみに対応する自動化ツールが必要ですか、それとも社内のすべてのプロジェクトに共通のツールを探していますか?プロジェクトでほとんどのコーディング言語をサポートするツールを選択するのは良い選択です。
トップ10の無料mp3ダウンロードサイト
8) どのテストタイプをサポートしていますか?最大のテストタイプ(ユニット、機能、回帰など)をサポートするツールが常により良い選択です。警告–すべてのテストタイプをサポートしているという理由だけでツールを選択しないでください。また、ツールが複雑な要件を自動化するのに十分強力である必要があることも重要です。
9) ツールは、テストスクリプトを作成および保守するための簡単なインターフェイスをサポートしていますか?記録されたスクリプトを編集する機能を備えた記録および再生ツールは、優れたソリューションになる可能性があります。
10) 複雑なタスクを実行するためのシンプルなインターフェイスでありながら強力な機能を提供しますか?
十一) 複雑なテストまたは負荷テストの入力テストデータを提供するのはどのくらい簡単ですか? Excel、XML、テキストファイルなどのさまざまなデータファイルからのテストデータ入力をサポートするツールは、テスターの自動化にとって大きな安心になります。
12) グラフィカルインターフェイスを備えた強力なレポートを提供しますか?明確で簡潔なレポートは、常にテスト結果を迅速に結論付けるのに役立ちます。
13) プロジェクト計画やプロジェクト計画などの他のテストツールとうまく統合できますか テスト管理ツール ?
次のような他の基準も検討することをお勧めします。
14) ツールベンダーの返金ポリシー
15) ツールの既存のカスタマーレビュー
16) ベンダーは初期トレーニングを提供していますか?
チップ: 要件の収集は、適切なツールを選択するための最も重要なステップです。要件を必須、便利、必須ではない機能カテゴリに分類してください。これは、ツールをすばやく評価するのに役立ちます。自動化のすべてのニーズをサポートするツールが市場ですでに入手可能ではないことを忘れないでください。
HP QTP / UFTおよびSelenium 現在利用可能な2つの最も人気のある機能テストオプションです。 QTP / UFTは、幅広いコーディング言語とプラットフォームでサポートされている最高の機能テストツールですが、Seleniumは最高のオープンソース機能Webテストツールです。
TOPツールのリストについては、この記事をお読みください。
次の記事では、 手動および自動化テストの課題 。
テスト自動化ツールの選択基準とチェックリスト
最高の自動化テストツールを選択する前に尋ねる10の質問
組織の自動化ツールを選択する状況にあるときはいつでも、次の質問をしてください。
質問1:自動化ツールに対する組織の予算はいくらですか?
私の意見では、これは自動化ツールを選択する際に考慮すべき最も重要なことです。
なぜ探すのか QTP / UFT ライセンスを購入できないときに調査しますか? QTPツールの費用は約8000ドル(約)です。組織がライセンスを購入でき、確認された場合は、トライアルをダウンロードし、その機能をテストするためにピボット自動化プロジェクトを作成する必要があります。そうでなければ、あなたはそれについて研究することに時間を費やすべきではありません。 (会社のライブプロジェクトでQTPを使用する場合は、このシナリオについて話します。学習目的でダウンロードする場合は、試用版をダウンロードしてもかまいません。)
質問2:ツールの実際の価格はいくらですか?
次は自動化ツールの価格です。ライセンス価格だけでなく、アドオンの価格(必要な場合)、サポート料金、トレーニング料金、アップグレード料金もあります。
データベース開発者インタビューの質問と回答pdf
最初にライセンスについて話しましょう。
a)ライセンスの種類:
ライセンスには次の種類があります。
1)ノードロックユーザーライセンス。
ノードロックユーザーライセンスは、企業ネットワーク内の単一の物理コンピューターで使用するテスト自動化ツールをサポートします。ライセンスを取得したコンピューターで一度に実行できるツールのインスタンスは1つだけです。このライセンスは通常、マシンのホスト名にバインドされています。
2)同時フローティングユーザーライセンス
フローティングユーザーライセンスは、異なるマシン間で共有できますが、一度に使用できるのは1台のマシンのみです。マシン名などにバインドされるのではなく、ライセンスマネージャー(サーバーにインストールされている)を使用して、異なるマシン間で同じライセンスを管理します。
基本的に、ノードロックライセンスでは、ツールを1台のマシンにインストールし、アンインストールしてから、他のマシンに再度インストールする自由はありません。ただし、フローティングユーザーライセンスを使用すると、それを行うことができます。
3)ランタイムライセンス
上記の2種類のライセンスは通常、スクリプトを「開発」するために購入されます。つまり、これらは「開発」ライセンスです。異なるマシンでスクリプトを実行するには、各マシンの「実行」または「ランタイム」ライセンスが必要です。
例:
たとえば、テスターが同じマシンでテストケースを開発して実行する必要がある場合、1つの開発ライセンスで十分です。
ただし、1台のマシンで開発し、3つの異なる仮想マシンまたは物理マシンでテストケースを実行する必要がある場合は、1つの「開発」ライセンスと3つのランタイムライセンスを購入する必要があります。
一部のベンダーは無料のランタイムライセンス(コード化されたUIなど)を提供し、一部のベンダーは価格で提供しています(Test Complete、Ranorexなど)。したがって、それはすべてベンダーごとに異なります。
4)オープンソースライセンス
商用ツールを購入してコストを支払うか、オープンソースツールを購入するかは、会社の選択です。
市販のツールは高価ですが、優れたサポートを提供し、多くのトレーニング資料が提供されているので使いやすいです。商用ツールは通常、「すべてのニーズに対応する1つのツール」です。オープンソースツールは無料ですが、一般的に習得するのは困難です。公式のサポートはほとんどありませんが、さまざまなフォーラムにアクセスして解決策を見つけることができます。オープンソースソリューションは通常、特定のニーズに対応しています。
b)サポート、アップグレード、およびトレーニング料金:
サポート、トレーニング、およびアップグレード料金については、会社の担当者に電話する必要がある場合があります。一部の企業はライセンスの一括購入に特別割引を提供しているため、この情報がWebサイトに明確に記載されていない場合があります。情報は電話またはメールでのみ入手できます。
質問#3:ツールは、アプリケーションが実行されているオペレーティングシステム/ブラウザまたはデバイスをサポートしていますか?
この質問は通常、使用しているアプリケーションの種類によって異なります。
a)デスクトップベースの場合:
デスクトップアプリケーションで作業している場合は、そのアプリケーションをテストするオペレーティングシステムの数について概説する必要があります。デスクトップベースのアプリケーションで作業していて、Windows7とWindows8.1でテストしたいと思いました。そこで、両方をサポートするコード化UIを選択しました。
b)ブラウザベースの場合
Webアプリケーションで作業している場合は、このアプリケーションをテストするブラウザーの数について概説する必要があります。 FireFox、Chrome、IEでテストケースを実行したかったのです。これらすべてのブラウザーをサポートしているため、Webアプリケーションにセレンを選択しました。選択するツールが、必要なブラウザの古いバージョンと新しいバージョンの両方をサポートしていることを確認してください。
c)モバイルベースの場合
モバイルアプリケーションで作業している場合は、テストケースを実行する必要があるモバイルオペレーティングシステムを知っておく必要があります。アプリケーションがAndroidとIOSの両方で実行されている場合、ツールはそれをサポートしている必要があります。 Seleniumには、Android、IOS、Windows Phone、BlackBerryでスクリプトを実行するための個別のドライバーがあります。モバイルOSごとに個別のツールを使用することもできます。 Android用のRobotium、IOSとAndroidの両方用のAppium、WindowsPhoneアプリ用のCodedUIがあります。
繰り返しになりますが、これはオープンソースとコマーシャルの議論になります。ご覧のとおり、別のオープンソースがあります Webベースをテストするためのツール 、 モバイルベース およびデスクトップベースのアプリケーション。ただし、Test complete、Ranorex、Test Studioなどの商用ツールを使用する場合は、3つのタイプ(モバイル、デスクトップ、ブラウザーベースのアプリケーション)すべてをテストできます。したがって、商用ツールの場合、Web、デスクトップ、およびモバイルアプリケーションをテストするために学ぶ必要があるツールは1つだけです。
質問#4:ツールは、アプリケーションで使用されるテクノロジーとサードパーティのコントロールをサポートしていますか?
これは、ツールを選択する際の非常に重要な側面です。アプリケーションで使用されているテクノロジーを直接知っておく必要があります。開発者に相談し、これらを書き留めてください。 WebアプリケーションでHTML5またはSilverLightを使用している場合は、それらをサポートする自動化ツールは多くないことに注意してください。ツールがこれらのテクノロジーのサポートを主張している場合は、そのツールの試用版をダウンロードして、アプリケーション内のさまざまなオブジェクトを識別してみてください。ツールがそれらを識別できない場合、それらの主張は誤りです。その活動はその後の惨めさからあなたを救うでしょう。
テスト自動化ツールの比較マトリックス:
トレントファイルを開く方法mac
次の表では、ライセンス価格とさまざまなテクノロジのサポートに関して、さまざまなツールを比較しています。 (このチャートは、さまざまなツール間の比較を作成する方法の学習方法として使用する必要がありますが、提供されるデータの精度は100%ではありません)
(画像をクリックすると拡大表示されます)
Y =サポートされている、N =サポートされていない、U =不明
質問#5:ツールがサポートする言語はいくつですか?これらの言語に関する熟練したリソースはありますか?
ツールの学習は1つの側面です。言語を学ぶことは別の側面です。 Javaの専門知識を持つリソースがあり、ツールがJavaをサポートしていない場合は、新しい言語を学習する時間が自動化の取り組みに追加されます。
もう1つの側面は、製品がJavaで構築されている場合、Javaの専門家である開発者のチームが必要であるということです。これらの開発者は、言語関連の問題に関して自動化チームを支援することもできます。リソースに精通した言語を提供するツールを選択することは重要であり、リソースの学習曲線を最小限に抑えるのに役立ちます。
ザ・ Selenium WebDriver C#、Java、Python、Ruby、JavaScriptなどの複数の言語でスクリプトを作成できます。 TestCompleteは、VBScript、JScript、DelphiScript、C ++ Script、C#Scriptなどの複数のスクリプト言語でスクリプトを作成することもできます。
質問#6:ツールは異なるデータソースへの接続をサポートしていますか?
キーワード駆動やデータ駆動などの自動化フレームワークを使用している場合は、ツールを任意のデータソースに接続する機能が必要です。ツールがさまざまなデータソースとの接続を簡単に提供する場合、それは非常に有益です。
CSVファイル、Excelファイル、XMLファイル、データベースなどの一般的なデータソースのサポートを参照してください。これらがツールに存在する場合は、問題ありません。
質問#7:自動化ツールのレポートメカニズムはどのようになっていますか?
スクリプトを実行すると、成功するか失敗するかのどちらかです。パスの場合、期間と環境情報を除いて、必要な情報はあまりありません。しかし、失敗した場合は、失敗に関する包括的なレポートが必要です。レポートは、スクリプトがどのステップで失敗するかを正確に示しているはずです。失敗の瞬間のスナップショットは、追加の利点になります。
また、このレポートは、利害関係者と共有できるように、さまざまな形式にエクスポートする必要があります。多くのツールにはこれらのオプションが組み込まれており、一部のツールでは、レポートを包括的にする方法があります。これは、ツールの試用版をダウンロードするときに注意すべきもう1つのことです。障害に関する包括的なレポートを提供している場合は、組織にとって最適です。
質問#8:ツールをテストケースおよびバグ管理リポジトリと統合できますか?
組織がすでにテストケースを使用している可能性が高い、または バグ管理ツール 。企業は明らかに、アプリケーションのライフサイクル全体が適切に管理されるように、自動化されたツールを既存のテストケース管理ツールと統合することを望んでいます。この側面は、テスト自動化ツールを選択するときにも確認する必要があります。
QTPはQLMをサポートし、コード化されたUIはサポートします TFS TestCompleteはQACompleteをサポートします。一部のオープンソースツールには、既存のオープンソーステスト管理ツールとの統合もサポートされています。それはすべて、組織が実際に使用しているものによって異なります。
質問#9:ツールの公式テクニカルサポートはどうですか?
ここでは、商用ツールについてのみ説明します。商用ツールを選択する場合、それらのサポートの側面は非常に重要です。 Webサイトで提供されているトレーニング資料を参照してください。ウェブサイトにはビデオやチュートリアルが含まれていますか?ウェブサイトには質問をするための公式フォーラムがありますか?トライアルをダウンロードし、フォーラムで質問をして、回答が得られる日数を確認してください。彼らは電話のサポートを提供していますか?
あなたはツールにかなりの金額を費やしているので、上記の質問は本当に毎回尋ねられるべきです。ツールが適切にサポートされていない場合は、わざわざ購入しないでください。
質問#10:見るべきいくつかの技術的側面
他にも、次のような技術的な側面があります。
a)記録と再生のサポート
テスト自動化では推奨されるアプローチではありませんが、ツールがあると便利です。ツールの学習プロセスを簡素化し、簡単なシナリオを簡単に自動化するのに役立ちます。
b)さまざまなオブジェクト認識方法とオブジェクトマッピングのサポート
異なる方法で同じオブジェクトを選択するさまざまな方法があるはずです。一部のオブジェクトは認識が困難です。したがって、さまざまな選択方法が常に役立ちます。例えば、セレンはオブジェクトの選択をサポートします id、name、class、link test、XPATH 、 CSSセレクター およびJavaScript。これがチュートリアルです– QTPがオブジェクトを一意に識別する方法 。 1つの選択方法が機能しない場合は、他にもさまざまな方法を選択でき、常に役立ちます。
同様に、これらのオブジェクトをオブジェクトリポジトリに適切にマッピングするオプションが必要です。このリポジトリは、簡単に更新および管理できる必要があります。 Seleniumにはオブジェクトマッピングのサポートが組み込まれていないことを思い出してください。
c)さまざまなチェックポイントまたはアサーションサポート。
テストケースは、チェックポイントまたはアサーションに基づいて合格または不合格になります。ツールに期待される結果を確認するためのさまざまな方法がある場合、それは有益です。 QTPには、次のようなさまざまなチェックポイントがあります。 標準 、 ビットマップ 、 テーブル 、 XML、データベース およびファイルコンテンツのチェックポイント。
d)回復シナリオの処理。
テストケースが失敗し、実行を継続したい場合、ツールはそれを簡単にサポートしますか?リカバリシナリオをツールで簡単に管理できる場合は、問題なくテストケースを実行できます。夜間にテストケースを実行すると、午前中に、どのテストケースが失敗し、どのテストケースが合格したかを示す結果が得られます。これは、失敗したテストケースからの回復をツールで簡単に管理できる場合にのみ発生します。そうしないと、回復シナリオの処理にかなりの自動化作業が無駄になります。見る QTPでのリカバリシナリオ管理 。
結論
どのツールも良いツールでも悪いツールでもないことを常に忘れないでください。それはすべてあなたの要件と製品の性質に依存します。
Seleniumは最も人気のある自動化ツールかもしれませんが、製品がデスクトップベースの場合、このツールは役に立ちません。最初に製品を理解してから、このチュートリアルに記載されているガイドラインを使用して、要件に一致する適切なツールを検索してください。
自動化ツールを正しく選択することは、自動化を成功させる上で重要な役割を果たします。
次のチュートリアル –このシリーズの次のチュートリアルは、「スクリプト開発と自動化フレームワークと例」です。もう一度確認してください このページのこのシリーズのすべてのチュートリアル 。
適切な自動化ツールの選択について、以下に質問/コメントを投稿してください。