モンキーテストとは?再現性が難しいが効果的なテスト

ざっくりと

  • ランダムな操作でテスト
  • 再現性が難しい
  • 画面録画で動きを記録

モンキーテストとは、ランダム操作で行うテストです。

概要説明

モンキーテストとはランダムな操作でソフトウェアをテストする方法である。なぜならば、ユーザーの予想外の操作もチェックできるから。

例えば、アプリが突然閉じるようなバグである。そして、その動きは画面録画で記録する。つまり、後で何が原因か調べられる。だから、小さなバグも見逃さない。

職業職種

  • ソフトウェアテスター
    モンキーテストは、品質保証の一環である。なぜなら、ランダムな操作で未知のバグを見つけられるから。例えば、新しいアプリのテスト。
  • 開発者
    モンキーテストは、コードの安定性を確認する手段である。なぜなら、ユーザーの予想外の操作にも耐えられるかテストできるから。例えば、新機能の追加後。
  • プロジェクトマネージャー
    モンキーテストは、リスク評価の一部である。なぜなら、未知の問題に早めに気づけるから。例えば、リリース前の最終確認。

モンキーテストは、名前の由来はランダムな操作をする「猿(モンキー)」から来ています。

代表例

  • Atlassian
    Atlassianは、モンキーテストで有名である。なぜなら、Jiraというプロジェクト管理ツールでテストケースを管理し、モンキーテストを効率的に行えるから。例えば、Jiraのテスト管理プラグインを使って。
  • Sauce Labs
    Sauce Labsは、モンキーテストで名高い存在である。なぜなら、自動テストのクラウドサービスを提供し、モンキーテストもサポートしているから。例えば、Sauce Labsの自動テスト環境でランダムな操作を行う。
  • James Whittaker
    James Whittakerは、モンキーテストで世間に知られている。なぜなら、テストエンジニアリングにおける権威であり、モンキーテストについても多くの論文や書籍を出しているから。例えば、彼の著書「Exploratory Software Testing」。

手順例

以下は、モンキーテストの基本手順です。
  1. テスト環境を整える
    テスト環境は、安全なものである。なぜなら、テスト中にバグが出た場合、本番環境に影響を与えないようにするから。例えば、仮想マシンを使う。
  2. テストツールを選ぶ
    テストツールは、使いやすいものである。なぜなら、効率よくテストを行いたいから。例えば、SeleniumやAppium。
  3. ランダムな操作を行う
    ランダムな操作は、計画しないで行う。なぜなら、モンキーテストはランダム性が重要だから。例えば、クリックやスワイプをランダムに。
  4. 結果を記録する
    結果の記録は、必須である。なぜなら、後で何が問題だったのかを調査するため。例えば、画面録画やログを取る。
  5. バグを報告する
    バグの報告は、詳細に行う。なぜなら、開発者が問題を理解しやすくするため。例えば、何をクリックしたか、どの画面で問題が起きたかを明記する。

類似語

  • アドホックテスト
    アドホックテストは、モンキーテストの類似語である。なぜなら、事前に計画せずにテストを行う点が共通だから。例えば、テストケースを用意しないでテストする。
  • ゲリラテスト
    ゲリラテストは、モンキーテストの類似語である。なぜなら、短時間で集中的にテストを行う点が似ているから。例えば、一時間以内にテストを完了させる。
  • ランダムテスト
    ランダムテストは、モンキーテストの類似語である。なぜなら、ランダムな操作を行ってテストする点が一緒だから。例えば、ユーザーが予想しないような操作をテストする。

反対語

  • 計画的テスト
    計画的テストは、モンキーテストの反対語である。なぜなら、事前にテストケースや手順をしっかり計画するから。例えば、単体テストや結合テスト。
  • 手動テスト
    手動テストは、モンキーテストの反対語である。なぜなら、自動化されずに人が一つ一つ操作を行うから。例えば、UIテストで手動でクリックする。
  • 確定的テスト
    確定的テストは、モンキーテストの反対語である。なぜなら、テストの結果が確定的で再現性があるから。例えば、スクリプトに従ってテストを行う。

会話例

  • 開発チームの会議中
    「モンキーテストって何?」
    「ランダムに操作してアプリが壊れるかどうかを確かめるテストだよ。」
  • テストエンジニア同士の話
    「モンキーテストはどうやって実施するの?」
    「特定のツールを使って、ランダムな操作を自動で行わせるんだ。」
  • プロジェクトマネージャーとテストエンジニアの会話
    「モンキーテストの結果はどうだった?」
    「いくつかのバグを見つけたけど、再現性が低いから注意が必要だよ。」

注意点

モンキーテストを使用する時の注意点は再現性である。なぜならば、ランダムな操作を行うから、同じバグが再び出るかは分からないからだ。

例えば、何をクリックしたか忘れた場合、バグを再現できない。そして、そのためには、操作ログや画面録画が重要だ。だから、しっかりと記録を取る。

モンキーテストとアドホックテストは、間違えやすいので注意しましょう。

モンキーテストは、ランダムな操作でテストすることです。

一方、アドホックテストは、計画せずに即興でテストを行うことです。

記事を書いてる人

バツイチ貧乏ダメおやじ、自宅SE。20代ギャン中、30代アル中、40代再生中。ガラケー時代からWEB開発やってる自宅SEです。

「○○を知りたい!!」「○○が分からない!!」などありましたら、Twitterでもブログでもコメントいただければ、ご期待に添えるように頑張ります!

雨おやじのSNSを覗く!!
IT用語辞典
雨おやじのSNSを覗く!!
ITkagyo

コメント