【もんきーてすと】

モンキーテスト とは?

💡 おサルさんにアプリを触らせたら、思いもよらないバグが見つかった!
📌 このページのポイント
モンキーテスト ランダム操作 🐒 タップ・スワイプ 変な文字入力 高速連打 アプリ 📱 想定外の操作を受信 クラッシュ発見! 正常動作 ✓ ダムモンキー(Dumb) 完全ランダムな操作 アプリの知識なし スマートモンキー(Smart) アプリの状態を認識 より効果的な操作を選択
モンキーテストのイメージ
ひよこ ひよこ

モンキーテストって本当にサルみたいに操作するの?

ペンギン先生 ペンギン先生

そうだよ。テスト手順を決めずにランダムにボタンを押したり、変な文字を入力したりする。人間が「こう使うだろう」と想定しないパターンからバグが出てくるんだ

ひよこ ひよこ

それってちゃんとしたテストなの?

ペンギン先生 ペンギン先生

計画的なテストの代わりにはならないけど、補完としてとても有効だよ。Androidには「UI/Application Exerciser Monkey」という公式ツールがあって、ランダムなタッチイベントを大量に送り込めるんだ

ひよこ ひよこ

スマートモンキーとダムモンキーって何なの?

ペンギン先生 ペンギン先生

ダムモンキーは完全にランダムな操作で、アプリの知識がゼロ。スマートモンキーはアプリの状態を多少理解して、より効果的な操作をするよ。Netflix の Chaos Monkey はサーバーをランダムに落とす仕組みで、これもモンキーの思想だね

ひよこ ひよこ

ファジングと何が違うの?

ペンギン先生 ペンギン先生

ファジングAPIプロトコルにランダムなデータを送る手法で、モンキーテストはGUI操作が中心なんだ。どちらも「予想外の入力でバグを見つける」点は共通しているよ

ひよこ ひよこ

どんなプロジェクトで使うといいの?

ペンギン先生 ペンギン先生

スマホアプリやWebアプリのリリース前に走らせると効果的だよ。特にクラッシュやフリーズの発見に強い。CIパイプラインに組み込んで毎晩実行するチームも多いんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「モンキーテスト」って出てきたら「ランダムにアプリを触って想定外のバグを探すテスト」と思えればだいたいOK!
📖 おまけ:英語の意味
「Monkey Testing」 = 猿のテスト
💬 猿がタイプライターをランダムに叩く「無限の猿定理」が語源だよ。Macの古いテストツール「The Monkey」が名前の由来という説もあるんだ
← 用語集にもどる