99.テスト界隈で使われる言葉『モンキーテスト=アドホックテスト=探索的テスト?』
会社によって用語が異なるコトはたくさんあるのですが、その代表格が「自由に行うテスト」です。
作者が聞いたことがあるものだと……
なんとなく「ランダムっぽい言葉」や「軽く触ってチェックする(をスルーと言ってる気がする)」といった意味の言葉が含まれる気がします。
その中でも多く使われているのがモンキーテストとアドホックテストかと思います。
これら会社の用語に慣れた後でテストの勉強をすると
『探索的テスト』
なんて言葉が出てきて「?」ってなってくるのですよね。
この辺、中岫さんのスライドがわかりやすくまとめられています。
さて。
どの言葉も本来少しずつ意味が違うのですがアドホックテストとモンキーテストは端的に言うと以下。
- アドホックテスト=場当たり的なテスト
- モンキーテスト=お猿さんが叩きまくるようなテスト
テスト界隈でこの言葉を使うと「テキトーに触ってる」といったニュアンスが含まれた言葉で受け取られたりします。
テキトーと言うと聞こえが悪いわけですが、「とりあえずポチポチしてみるか……」みたいに、その場の思い付きで操作をしているといった雰囲気です。
行動それぞれが「とりあえず……」であって単発で後に繋がりがないといったところです。
じゃあ探索的テストはなんだ、となりますね。
マンガで描いた通り「試してみて、その結果から次にどうするか考えて設計して……」というように前の結果を踏まえて次どうするか決めていく、というように繋がりがあります。
以下記事で描いています。
探索的テストには方針や設計もある
アドホックテスト、モンキーテストはとりあえず触りまくるわけで「どうしていこう」という方針や設計が特にないのです。
探索的テストは「こういう結果だから次はこうしていこう」と方針があったり「ここをこういう風に見ていくか」という設計があったりします。
純粋なアドホックテストってできるのか?
場当たり的なテストにアドホックテストやモンキーテストという名前がついているだけで、自由なテストをしていると「あれ? こうなってるんだからこういうところ見た方がいいんじゃないか?」というように探索的テストになっている人が多いかな、と思っています。
あんまり厳密にこだわって「今のはアドホックテストでここから探索的テスト」みたいに線は引かなくていいかと思います。
呼び方はさておき、テストは目的が大事
「何のためにそのテストをするのか」
これが一番大切です。
ゲーム界隈ですとランダムな入力で問題が発生することもあり、そういった問題を発見するにはムチャクチャ入力するテストもありでしょう。
(TAS(tool-assisted speedrun : ツールを使ったゲームのタイムアタック)という動画を見ると、一見適当な動作でもメモリ配置がちょうどよくなってエンディングに飛んでしまったり、乱数が調整されゲーム進行に影響が起きたりします)
逆に、なんの目的なく行うようなテストは時間がもったいないです。
社内で使う分には通じる用語で。社外で使うときは要注意
アドホックテストの文脈でも探索的テストの文脈でも、社内用語でモンキーテストやスルーチェックと呼んでよいと思います。
言葉は意思疎通のためのインターフェイス。
何をするのかが通じることが大切です。
その昔作者は、言葉をどうにかしようと奮闘したこともありましたが、ただのうるさい人になっただけで、とくに根付かずという経験はしました(^-^;
けれど社外で使う場合は要注意です。
何をするのか通じず、齟齬が発生します。
作者もその昔、社外での講演(たぶん初講演?)で「アドホックテストのやり方」と題して講演しまして。
講演後はもちろん「それってアドホックテストですか?」みたいなマサカリが……。