#はじめに
実は私は業務でユースケーステストを使ったことはありません。
なんとなく大きなシステムの大枠部分で適用するイメージを持っており、
なんとなくJSTQBとかを勉強したときに知っている程度です。
そんな私が、ふと家でロールプレイングゲームをやっていたときに、
これってユースケーステストでテストできるのかな?と思ったことをきっかけに
今回の記事を書いてみようと考えました。
##注意点
・勉強しながら書いてみたため、必ずしも正しい内容ではない可能性があります。
・出てくるサンプルは、妄想の産物です。
#ユースケーステストとは
※詳細はJSTQBのシラバス (http://jstqb.jp/syllabus.html#syllabus_foundation) をご参照ください。
アクター(ユーザーなど)と対象となるシステムの相互作用を記述したユースケースに沿ってテストケースを設計する手法です。
ソフトウェアテスト教科書 JSTQB Foundation<第3版>では、ユースケース記述の例として
以下のフォーマットを紹介しています。
##ユースケース記述のフォーマット
- ユースケース名
- 目的
- アクター
- 事前条件
- 事後条件
- 基本フロー
- 代替フロー
- 例外フロー
- 備考
それぞれの詳細は、上述の教科書をご参照ください。
このフォーマットに沿って、ゲームシナリオを想定したユースケースを作成してみました。
#ゲームシナリオを想定して使ってみた
##仕様
メインストーリーを盛り上げるために、人気キャラの活躍にフォーカスしたサイドストーリーを実装する。
サイドストーリー内では、新たな村やダンジョンも解放され、それらを攻略するクエストも追加する。
ここでは、そのうちのおつかいクエストの仕様を定義する。
##ユースケースの記述例
なんとなく仕様に明記されていないところも脳内補完しつつ、
以下のようなものを作成してみました。
##感想
###対象を決めるのが難しい
サンプルとして、どういうゲームの仕様ならテストしやすいか考えたのですが、けっこう難しいと感じました。
いくつか参考書を読みながら、初心者でも当てはめやすい事例を考え、
まずは小規模な範囲で「おつかいクエスト」をピックアップしました。
結果としては上記のとおりですが、個人的にはこのレベルがしっくりきました。
###ステップが難しい
不慣れなこともあり、ステップは何回か見直しつつ作成しました。
個人的にはここが一番難しかったです。
(全体を通して作成したあと見直すと、どこか一部だけレベル感が違う、という結果になることも・・・)
対象とするシステムの規模感にあわせてステップを作成できるようになると、
もう少しまともなユースケースを作れるようになりそうなので、
このあたりはもう一段勉強してみたいと思います。
#まとめ
今回試してみて、まだまだ検討の余地ありそうだな、というのが正直な感想です。
個人的にモバイルゲームにおいて、ユースケーステストが有効かも、と思ったのは、
- RPGのように大筋に沿ったゲーム性になっている
- メインとなる流れがありつつ、それに影響するサブ要素があるもの
といったケースで、仕様を整理しつつ、どういったところをテストしていくかを検討する際に使えるかも?というところです。
機会があれば今度は別の範囲などで考察してみようと思います。
すでにユースケーステストをやってる!という方がおられましたらコメント&ご助言いただけますと幸いです。
##参考書籍
- はじめて学ぶソフトウェアのテスト技法/日経BP社
- ソフトウェアテスト教科書 JSTQB Foundation<第3版>/翔泳社