what is monkey testing software testing
幅優先探索c ++
ソフトウェアテストにおけるモンキーテストとは何ですか?
前書き :
モンキーテストは、ユーザーがランダムな入力を提供して動作をチェックすることによってアプリケーションをテストする(またはアプリケーションをクラッシュさせようとする)ソフトウェアテストの手法です。ほとんどの場合、この手法は、ユーザーがランダムな無効な入力を入力して動作を確認する場合に自動的に実行されます。
前に述べたように、ルールはありません。この手法は、事前定義されたテストケースや戦略に従わないため、テスターの気分や腸の感覚に作用します。
多くの場合、この手法は自動化されています。つまり、ランダムな入力を生成し、テスト対象のアプリケーションにフィードして動作を分析できるプログラム/スクリプトを作成できると言えます。このテクニックは、 負荷/ストレステスト ノンストップのランダム入力を証明してアプリケーションを壊そうとしたとき。
「モンキー」についてお話しする前に、「ホース」についてご紹介します。
馬の手綱が見えますよね?それは、馬が焦点を失うことなく、道路をまっすぐ走ることだけに集中するように、馬を誘導および制御するために使用されます。
同様に、手動であろうと自動化であろうと、テストケース/計画と戦略によって指示および推進され、品質メトリックによって制御されるため、私たちはテストの馬のようです。私たちの周りには手綱があるので、焦点をそらして一連のテストケースに厳密に集中し、それらを素直に実行したくありません。
馬であることはまったく問題ありませんが、猿であることを楽しんでいないこともありますか?
モンキーテストとは、「やりたいことをすることです。自動的に」。
Androidマーケット向けの無料音楽ダウンローダー
このテスト手法は、特定のパターンに従わないため、少し混乱しています。しかし、ここでの質問は
どうして?
大きなWebアプリケーションを世界に公開するときはいつでも、アプリケーションを提供しているユーザーの種類を想像できますか?確かに良いユーザーはいますが、厄介なユーザーがいないかどうかは定かではありません。サルのような厄介なユーザーが「n」人いて、アプリケーションをいじって、奇妙な入力や大きな入力を提供したり、アプリケーションを壊したりするのが大好きです。
したがって、これらの行でテストするには、テスターもモンキーになり、アプリケーションが外部の厄介なサルから安全になるように考え、最終的にテストする必要があります。
サルの種類
2つあります:スマートとダンプ
スマートモンキーズ –スマートモンキーは以下の特徴によって識別されます:-
- アプリケーションについて簡単に考えてください
- 彼らは、アプリケーションのページがどこにリダイレクトされるかを知っています。
- 彼らは、提供している入力が有効または無効であることを知っています。
- 彼らは、アプリケーションを壊すために働くか、集中します。
- 彼らがエラーを見つけた場合、彼らはバグを報告するのに十分賢いです。
- 彼らはメニューとボタンを知っています。
- ストレステストと負荷テストを行うのに適しています。
ダムモンキー –ダムモンキーは、以下の特徴によって識別されます。
- 彼らはアプリケーションについて何も知りません。
- 彼らは、提供している入力が有効か無効かを知りません。
- 彼らはアプリケーションをランダムにテストし、アプリケーションの開始点やエンドツーエンドのフローを認識していません。
- 彼らはアプリケーションを認識していませんが、環境障害やハードウェア障害などのバグを特定することもできます。
- 彼らはUIと機能についてあまり考えていません
結果:
モンキーテストの結果として報告されたバグには、詳細な分析が必要です。のステップのため バグの再現 (ほとんどの場合)不明であるため、バグの再現が困難になります。
経験豊富なLinuxインタビューの質問と回答
この手法は、すべての機能がテストされ、アプリケーションの有効性にある程度の信頼性があるテストの後の段階で実行されるとよいと思います。テストフェーズの開始時にそれを行うと、リスクが高くなります。有効および無効なランダム入力を生成するプログラムまたはスクリプトを使用している場合、分析は少し簡単になります。
モンキーテストの利点:
- すぐに使用できるエラーを特定できます。
- セットアップと実行が簡単
- 「それほど熟練していない」リソースで実行できます。
- ソフトウェアの信頼性をテストするための優れた手法
- より大きな影響を与える可能性のあるバグを特定できます。
- 費用がかからない
モンキーテストのデメリット:
- これは、バグが発見されなくなるまで何日も続く可能性があります。
- バグの数が少ない
- バグの再現(発生した場合)が課題になります。
- いくつかのバグは別として、テストシナリオの「予期しない」出力が存在する可能性があり、その分析は困難で時間がかかります。
結論
「テストモンキー」またはモンキーテストは混沌としていると言いますが、それを計画し、後の段階で時間を割り当てることをお勧めします。
この手法の初期段階では、いくつかの良いバグが見つからない場合がありますが、最終的には、メモリリークやハードウェアのクラッシュなどの本当に良いバグを見つけることができます。通常のテストでは、「このシナリオ」は決して起こらないと考える多くのケースを無視しますが、発生した場合、深刻な影響をもたらす可能性があります(例–優先度が低く重大度が高いバグ)。
モンキーテストを行うと、実際にこれらのシナリオを掘り下げることができます。どうしてもそのような状況に遭遇したので、時間をかけて分析し、解決策を考え出すことをお勧めします。
私の意見では、最良の方法は「馬」と「猿」の両方を一緒にすることです。
「馬」を通して、私たちはよく計画され、明確に定義され、洗練されたテスト方法に従うことができ、モンキーを通して、私たちはいくつかの本当に厄介な状況を発見することができます。そして一緒に、それらはソフトウェアのより高い品質と信頼を達成することに貢献することができます。
推奨読書
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- ソフトウェアテストQAアシスタントジョブ
- ソフトウェアテストコース:どのソフトウェアテスト機関に参加する必要がありますか?
- キャリアとしてのソフトウェアテストの選択
- ソフトウェアテストテクニカルコンテンツライターフリーランサーの仕事
- いくつかの興味深いソフトウェアテストのインタビューの質問
- ソフトウェアテストコースのフィードバックとレビュー
- ソフトウェアテストはアフィリエイトプログラムを助けます!