ソフトウェアテスト
【6.テストツール編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
アドホックテスト・モンキーテストは、フリーテストとも呼ばれる、事前準備なしでフットワーク軽く行えるソフトウェアテストのことです。テスト設計なども行わないため限界はあるものの、適切に活用すれば成果をあげることができます。
一方で、アドホックテスト・モンキーテストの内容はきちんと理解されておらず、しばしば混同されるのは否めません。これらテストで成果をあげるためには、それぞれの特徴や違いを把握する必要があるのです。
この記事では、アドホックテスト・モンキーテストの概要や違いを解説します。その上で、これらのテストと比較されることが多い探索的テストとの違いも紹介しますので、あわせて参考にして下さい。
アドホックテストとは事前の準備をせず、場当たり的に思いつくまま行うソフトウェアテストの種類です。
一般的にソフトウェアテストではテスト内容の取り決めや設計を行ったり、手順をまとめたりしてから実行に移ります。より専門的には、「テストケース」※をきちんと準備してから行うものです。アドホックテストでは、そういった事前準備を一切せずテストケースも作成せずに実行されることが特徴です。
※テストケースとは
ソフトウェアテストを実行する手順や利用するデータ、条件、期待される結果などを文章化したもの
その上でアドホックテストは、ソフトウェアの仕様を理解した技術者によって実行されるのも特徴と言えます。場当たり的に行うといっても、アドホックテストは何の脈絡もなく行われるわけではありません。
アドホックテストは担当者自身の知識や経験値に基づいて、「価値がある」と考えられる内容のテストが実行されます。そのためアドホックテストの品質や精度を高めるためには、一定以上のスキルと経験値が必要です。
モンキーテストもアドホックテスト同様に、事前の準備なしに行われる種類のソフトウェアテストです。
ただしモンキーテストはアドホックテストとは異なり、ソフトウェアの仕様に関する知識がない担当者でも実施することができます。そのため、実行されるテスト内容はランダムです。
アドホックテストであれば、テスト時に入力される文字や数値には何がしかの意味があります。一方でモンキーテストでは、テストで意味がある文字や数値が入力されるとは限りません。モンキーテストでは文字通り猿(モンキー)に操作させるように、ランダムに(無秩序に)いろいろな操作が実行されるわけです。
「探索的テスト」は、アドホックテスト・モンキーテストと同様にテストケースを用意せず「手探りで」行うソフトウェアテストの種類です。探索的テストとアドホックテスト・モンキーテストは、そういった点で似ているためによく混同されます。
ただし探索的テストは、他の2つと異なり事前準備を全くしないわけではありません。テストケースこそ作成しませんが、テストを行う目的を取りまとめ、テストチャーター※を用意してから実行します。
※テストチャーター
テストの目的を達成できたと判断するための指針
またアドホックテスト・モンキーテストでは記録をせずに進めますが、探索的テストでは手順などを記録することが推奨されています。これらの点から探索的テストの方が他2つの種類より精度が高く、高い成果を出しやすいわけです。
探索的テスト | アドホックテスト | モンキーテスト | |
---|---|---|---|
事前準備 | テスト目的/テストチャーターのみ用意 | 不要 | 不要 |
テスト手順などの記録 | 行うことを推奨 | 行わない | 行わない |
再現性 | 他の2つより高い | 低い | 低い |
テストの精度 | 最も高い | モンキーテストより高い | 低い |
実行者のスキル | 高いスキルが必要 | モンキーテストより高いスキルが必要 | 高いスキルは不要 |
テストケースを用意せず行われるアドホックテスト・モンキーテストには、どのようなメリットがあるのでしょうか。以下、主なメリットを1つずつみていきましょう。
一般的にソフトウェアテストを行う場合は、テストケースを作成するなどの準備に手間とコストがかかります。一方、アドホックテスト・モンキーテストはそういった準備なしにフットワーク軽く実行が可能です。
そのため時間の余裕がない場合に、一定のテストが行える点はアドホックテスト・モンキーテストのメリットと言えます。通常のソフトウェアテストが終了したあと、余った時間でテストの品質を高めるために実行するのも有効です。
アドホックテスト・モンキーテストは、事前に作ったテストケースに制限を受けることなく場当たり的に(自由に)行われます。そのため、かえって想定していなかったバグが発見されることもあるのです。
通常のソフトウェアテストでは仕様書や設計書をベースにして、テストケースの作成が行われます。けれど仕様書や設計書も、ソフトウェアに関する全てを網羅できているわけではありません。そのためテストケースに依らないアドホックテストやモンキーテストで、開発者も想定していなかったバクがみつかることがあるわけです。
モンキーテストに関しては、ソフトウェアの知識もスキルも必要がありません。そのためモンキーテストは担当者を選ばず誰でもアサインして実行させることができます。モンキーテストであれば、スキルの高い担当者を確保する必要がないわけです。
※アドホックテストに関しては、ソフトウェアの知識やスキルが必要です。そのため実行の際は、適切な担当者をアサインする必要があります。
アドホックテスト・モンキーテストは、事前準備をせずテストケースも作成しないことからいくつかのデメリットがあることは否めません。メリット・デメリットを把握して、適切に実行する必要があるわけです。以下、アドホックテスト・モンキーテストの主なデメリットをみていきましょう。
アドホックテスト・モンキーテストでは、テストの手順を記録しないことがほとんどです。そのため仮にバグを発見できたとしても、手順が複雑だったり特殊だったりした場合は再現できないことも少なくありません。再現性を高めるためには担当者が手順を覚えておくように努めるか、再現手順を記録するツールを導入する方法があります。
一般的なソフトウェアテストでは、あらかじめ定められた品質の指標に基づいてその評価ができるように設計されるものです。一方でアドホックテストやモンキーテストでは、品質指標がないか参考にしない状態で場当たり的に実行されます。
そのためアドホックテスト・モンキーテストは、品質の評価には適していません。仮にアドホックテストやモンキーテストでバグが発見されなかったとしても、それをもって「品質がよい」とは言えないわけです。
アドホックテスト・モンキーテストは場当たり的に実行されるため、どんな内容をどのように検証するかはテストを実際に行う担当者次第です。属人的なテスト手法であることから、テストの結果や品質は担当者によって大きく変わることになります。
繰り返すようにアドホックテスト・モンキーテストは、事前の準備なしで実行することが可能です。そのためテストをする時間がないときや、通常のソフトウェアテストを終えたあとにテストの精度を高めたいときに行われます。なおゲームテストの現場ではアドホックテストは行われることがあるものの、モンキーテストに関してはあまり行われていないようです。
一般的に、以下のようなテストは自動化に適していないと言われています。
・テストの手順が明確ではない
・テストで期待される結果が明確ではない
・変更が多い/同じ手順を繰り返す頻度が少ない
アドホックテスト・モンキーテストは上記の特徴に該当することから、自動化に適していないと考えられているのです。
AIQVE ONEでは、アドホックテスト・モンキーテストは本当に自動化できないか検証を行いました。その検証内容や結果は、以下記事にまとめておりますので興味がある方はご覧ください。
【テクバン×MIXI×AIQVE ONE 3社共催セミナーレポート】テスト自動化でフリーテストを実現することはできるのか?(AIQVE ONE株式会社 花房)
上記検証では、アドホックテスト・モンキーテストも一定の範囲内で自動化が可能なことと課題が多いことが分かっています。
アドホックテスト・モンキーテストは、いずれも事前準備なしに行うソフトウェアテストの種類です。両者の大きな違いは、テストを行う担当者のスキルにあります。
モンキーテストは、ソフトウェアに関して知識のない担当者によるランダムな操作によって実行されるテストです。一方、アドホックテストはソフトウェアに関する知識をもつ技術者によって行われます。
アドホックテストは担当者がソフトウェアに関する知識とスキルに基づき行うため、操作はランダムではありません。テストの品質は担当者のスキルと経験によって左右されますが、モンキーテストより高い成果があげられます。
なおアドホックテスト・モンキーテストとよく混同される探索的テストは、特徴が大きく異なるソフトウェアテストの種類です。探索的テストはテストケースこそ用意しないものの、全く事前準備を行わないわけではありません。あらかじめ用意したテストの目的とテストチャーターに従って実行され、アドホックテストより高い成果を上げることができます。
ソフトウェアテスト
【6.テストツール編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【5.テストマネジメント編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【4.テスト分析と設計編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【3.静的テスト編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【2.ソフトウェア開発ライフサイクル編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【1.テストの基礎編】JSTQB Foundation Levelシラバスの最新バージョンが公開!具体的な変更点まとめ