「モンキーテスト」とは
「モンキーテスト」はJSTQB(Japan Software Testing Qualifications Board)用語集では、「製品の使用方法を全く考慮せずに広範囲の選択肢から『ランダムに選択』して、ボタンを『ランダムに押す』ことでテストを行なう方法」と定義されています。ソフトウェアテストの一種で、システムの仕様を考慮せずにやみくもに行うテストです。
株式会社SHIFTでは、ソフトウェアテストに関して豊富な実績とテストナレッジを保有しており、あらゆるお客様のニーズを満たしたテスト・品質保証を上流~下流(テスト計画・テスト設計・テスト実行・テスト品質管理)まで一気通貫でご依頼いただけます。
ソフトウェアテストのことならSHIFT
「3分で知るSHIFTのテストサービス」の資料ダウンロードページへ
>>ソフトウェアテスト・第三者検証のページへ
>>導入事例ページへ
>>料金についてページへ
>>お問い合わせページへ
アドホックテスト、探索的テストとの違いとそれぞれの特徴
モンキーテストと同じようにテストケースを作成せずに実施する「アドホックテスト」「探索的テスト」についても解説していきます。
アドホックテスト
JSTQBの用語集では、「公式なテストの準備をせず、仕様やコードのような公式な情報をもとにしたテスト設計を行わず、テスト結果も予測せずに実施する」と定義されています。「アドホックテスト」の「アドホック」には、「その場限りの」「場当たり」という意味があります。「場当たり」とはありますが、モンキーテストのように、ランダムではなく、トラブルに結びつきやすいユーザー操作や過去プロジェクトで検出された不具合データなどを元に、ある程度の目的を定めてから行います。
>>アドホックテストのページへ
探索的テスト
「探索的テスト」は、「探索」という言葉の通り、探って調べることを意味しています。あらかじめ決めたテスト目的やテスト範囲、テスト観点についてテストを実施していくのですが、その際、システムの動作を確認しながら、次に必要なテストは何かを探っていきます。そして、必要だと考えたテストを実施するということを繰り返します。テスト設計をしながら、テスト実行を行っていくというやり方です。そのため、モンキーテストやアドホックテストにくらべて、探索的テストを実施するテスト実行者には高度なスキルが要求されます。
▼あわせて読みたい▼
>>探索的テストはテストケースを書かないって本当? 探索的テストのメリット・デメリットをわかりやすく解説のページへ
JSTQBの用語集では、次のように定義されています。「テスト担当者がテスト対象とその欠陥についての学習、完了すべきテスト作業の計画、テストの設計と実行、および結果の報告を同時に行うという特徴がある。テスト担当者は、テスト実行時にテストのゴールを動的に調整し、軽量のドキュメントのみを準備する」
それぞれの特徴は、表の通りです。
|
狙い |
実施タイミング |
事前準備 |
テスト実行者のスキル |
モンキーテスト |
開発者が想定していない操作で起こり得る不具合を検出する |
仕様で想定した動作において不具合が取り除かれてから実施 |
なし
|
スキルや経験は不要
(仕様を知らない第三者にモンキーテストを実施してもらうことが有効)
|
アドホックテスト |
実施にあたり狙いを定める |
狙いや目的にあわせて実施タイミングを定める |
準備を行うことがある
(テストの目的や狙いを確認してから実施することがある)
|
ある程度のスキルや経験は必要
(テストの目的を達成するために、ソフトウェアに対して最低限の仕様理解は必要)
|
探索的テスト |
実施にあたり狙いを定める |
狙いや目的にあわせて実施タイミングを定める |
準備を行うことが多い
(テストチャーターというテストのゴールや目的を記述したドキュメントを準備してから実施することが多い)
|
高いスキルや経験が必要
(ソフトウェアの動作や仕様を確認しながら、次に何を確認すべきか、テスト設計とテスト実行を同時に行う)
|
※:JSTQB(Japan Software Testing Qualifications Board)用語集、シラバス参照
これら3つのテスト手法は、システム仕様書やシステム設計書といったドキュメントがない、または不足する場合でも実施することが可能で、テストケースを作成しない分、テストに早く着手でき、フィードバックを迅速にできるというメリットがあります。
しかし、テスト実行者の直感や感覚、経験やスキルに依存しやすい手法です。各手法の特徴を理解せずに実施したり、実施するタイミングを誤ったりすると、テストの目的が達成できずに、狙った不具合も見つけられない場合があります。
ソフトウェアテストに外注の選択肢を
「ソフトウェアテストを外注すべき5つの理由とは!?」の資料をぜひご覧ください。
モンキーテストの特徴
①テストケースを活用するテストでは見つけにくい不具合を見つけることができる
モンキーテストは、想定していない操作方法やイレギュラーな値の入力などをランダムに行い、システム仕様書には考慮されにくいこと、テストケースを作成して実施するテストでは見つけにくい不具合を見つけることができます。幼い子どもやソフトウェアを使い慣れていないユーザーは、開発者が想定していない操作をすることがあります。モンキーテストを実施しておくことにより、リリース後、思いがけない障害の発生を防ぐことができます。
②準備作業なしですぐに着手できる
モンキーテストは、テストの開始前に、テストケースを作成したり、仕様を把握したりと準備の必要がありません。そのため、すぐにテスト実行に着手でき、テスト結果の迅速なフィードバックが可能になります。また、準備期間が短くなる分、コストもあまりかからずに実施できます。
③他のテスト手法と組み合わせることでさらなる品質の向上を目指す
モンキーテストはランダムに想定外の動作に対して行うため、不具合が見つからなくても、モンキーテストの実施だけでは品質が高いとは言えません。また、「何をどれくらい網羅したのか」というように、網羅性を担保することもできません。そのため、システム仕様書に書かれている操作やデータパターンの網羅を確認するテストと組み合わせて実施することにより、それぞれの弱点を補い、さらなる品質向上を目指します。
モンキーテストの実施ポイント
モンキーテストを実施する際にはどのようなことに気を付ける必要があるのか。実施する際のポイントについて見ていきましょう。
実施者
モンキーテストは開発者やテスト実行者も実施しますが、仕様をよく理解している人が実施すると、先入観を排除できず、開発・テスト実行時と同じようなポイントに着目した操作をしてしまうことがあります。そのため、仕様を知らない第三者にモンキーテストを実施してもらうことが有効と言えます。
実施タイミング
モンキーテストの特徴を理解した上で、適切なタイミングで実施することも重要です。
仕様で想定した動作において不具合が取り除かれてから実施します。想定した動作における不具合が取り除かれていない時にモンキーテストを実施してしまうと、モンキーテストの狙いではない不具合も合わせて見つかることになります。そのような場合には、狙った不具合の検出が遅れたり、不具合が見つからないままモンキーテストが終了してしまったりすることがあります。
再現性
モンキーテストは、実施時の記録をドキュメントとして明確には残しません。そのため、不具合を見つけた場合であっても、手順を再現できないことがあります。そのようなことがないように、テスト実行者は実施したことを覚えておくようにするだけでなく、テストの様子を録画したり、画面の操作ステップを記録するツールを用いたりするなど、簡単に記録を残せるようにするとよいでしょう。
まとめ
モンキーテストは、想定していない操作方法やイレギュラーな値の入力などをランダムに行うテストです。システム仕様書には考慮されにくいこと、テストケースを作成して実施するテストでは見つけにくい不具合を見つけることができます。ただし、狙った効果を得るためには、モンキーテストの特徴やポイントを理解した上で実施することが必要になります。
株式会社SHIFTでは、ソフトウェアテストに関して豊富な実績とテストナレッジを保有しており、あらゆるお客様のニーズを満たしたテスト・品質保証を上流~下流(テスト計画・テスト設計・テスト実行・テスト品質管理)まで一気通貫でご依頼いただけます。
>>ソフトウェアテスト・第三者検証のページへ
>>導入事例ページへ
>>料金についてページへ
>>お問い合わせページへ
ソフトウェアテストの悩みはSHIFTが解決できます!
「自社で効率よくソフトウェアテストを実施できない…。」
「どうしてもテスト工数が膨らんでしまう…。」
「期日に間に合わない…。」
「リリース後に不具合が発生してしまっている…。」
といった悩みを抱えている企業は多いでしょう。