こんにちは、ワンダープラネット グローバルスタジオでQAを担当しておりますT・Hと申します。
今回はいつものエンジニア向けの記事と少し視点が変えまして、ソシャゲ業界におけるテストケースについて書かせて頂きたいと思います。
この記事のターゲット層は
「ソシャゲのQAってどんな感じ?」
「ソシャゲのテストケースを書いてみたい!」
といった QA入門者の方々を対象とした記事になっておりますのでご了承ください。
そもそもテストケースとは?
テストケースとは、テストの具体的な作業手順や期待結果をまとめたドキュメントだ。 画面上でデータ入力したりボタンを押したりといったテストの実行はテストケースに沿って実行する。(参考:テストケースの必須5項目と作成方法 https://xtech.nikkei.com/atcl/nxt/column/18/00137/102600026/)
とまあ言われてもよくわからないので実際に書いていきましょう。
書く前に...
ボケットモソスター、通称ボケモソと言うゲームがあったとしてバトルの属性と相性による倍率検証をするとします。(なんだか2タイプ同時発売しそうなタイトルですね)
※本作品はフィクションです。実在の人物や団体などとは一切関係ありません。
テストケースは一般的には大項目、中項目、小項目の分類を決め、そこから前提条件、操作手順、確認内容などを記載することが多いと思います。
今回は【前提条件】【操作手順】【確認内容】に注目していきます。
実際にテストケースを書いてみよう
【前提条件】
・自身のパーティーに「でんきネズミ(でんきタイプ)」を編成している
・同一タイプの技を使うと1.5倍の攻撃力
・でんきタイプの技は水タイプにこうかはばつぐんで2倍となる
・でんきタイプの技 10マソボルトの攻撃力は90
・でんきネズミは10マソボルトが使える
・相手は水タイプであり防御力は0とする
・相手のボケモソのHPは270より大きいとする
・お互い攻撃力や防御力の増減補正は無いものとする
以上のことより相手に与えるダメージは
90(元の技の攻撃力)×1.5(タイプ一致)×2(こうかばつぐん) =270
となることを正とする。
【操作手順】
1 でんきネズミの10マソボルトを使う
2 相手のHPの減った数値を確認する
【確認内容】
相手のHPが270減っていること
実際にテストケースにしてみるとこんな感じになります。
この手順に従い減ったHPを確認すれば問題なしと、一見良さそうに思うかもしれませんが実はこれだとテストケースとしては不十分 です。
デバッグ業務をやったことがある方だとお気づきかもしれませんが、これでは操作手順が曖昧すぎます。曖昧な記載だと作業者は次のような疑問にぶつかると思います。
「でんきネズミをどのように手持ちに配布するのか?」
「ゲームのUI上どこの箇所をタップすると攻撃できるのか?」
このようなことは実際によくあり、テストする側への配慮が足りないとすぐに詰まってしまいます。
曖昧な記載から起こり得る問題点
例えばテストを外部の会社に依頼するとしたときに、このレベルのテストケースだとテスト手順がわからずテストケース作成者と作業者の間で無駄な連絡工数が発生してしまい手間を取られてしまいます。
時間勝負のQAにとってはテストを始める前の準備段階でこういったやり取りで時間がかかるのは非常にもったいないです。
確認のチャットやメールを送信するにしてもテストケース項目Noいくつの前提条件が〜操作手順が〜など、文面のやりとりでかなり時間を取られてしまいます。
常駐で作業をしてもらっている場合はここをタップして攻撃してください、これはこういう仕様なのでこれでOK、など口頭だと数秒で済むことでも、外注やリモート業務をしているとそうはいかないです。
テストケースが雑だったり曖昧な手順で作業を依頼した場合、良質な成果物が期待できなかったり、下手をすれば仕様確認等に時間がかかりすぎてテストが終わらなかった、なんてことにもなりかねません。
なのでテストケースが曖昧な記載しかされていないということは非常にリスクが伴うのでよろしくないです。
以上のことを踏まえてどのようなことが記載されていれば無駄な報告コストを削減することができるか考えていきましょう。
ポイントその1
テストで使うユニットなどのIDを記載する
会社内などの場合はモンスターなどの名前や略称で呼んで話が通じることが多いのでついつい
「でんきネズミを付与する」
などと簡略して記載しがちです。
ですがこれは前提の知識があってのことなのでテストケースに記載するときはこのようにしましょう。
【前提条件】
・管理ツールよりユニットID 55 :「でんきネズミ」を付与してあること。
・「でんきネズミ」をパーティーの先頭に編成していること。
このように記載してあげると作業者もきっと困らないと思います。
また、必要に応じてクエストID、アイテムIDなども記載しておくと親切です。
基本的にテストで使用するユニットやクエストは管理ツールやデータベースからIDを検索して探すことが多いのでIDの記載は重要です。
ポイントその2
操作方法を詳しく記載する
幼少期からゲームに慣れ親しんで育っていたり日常的にゲームをプレイしているデバッガーの方は経験でここをタップすると攻撃、ここがメニュー、など経験である程度操作方法がわかることが多かったりします。
ですが中にはゲーム経験が浅い、デバッグ会社に入ってからゲームを始めたなんて方もいたります。
こういった方の場合は正直苦労することもあるのですが、仕事を頼んでいる以上やってもらうしかないのでこちらも丁寧な仕事の依頼をする必要があります。
例えばテストケースの操作手順の記載が
「でんきネズミの10マソボルトを使う」
だけではどこをタップすればいいかが記載されていあにのでわからない場合がありますので実際に記載する場合はこのようになります。
【操作手順】
1 バトル画面の「たたかう」ボタンをタップする
2 「たたかう」画面内の「わざ」ボタンをタップする
3 表示されている「10マソボルト」をタップする
このような感じでUI上どこのボタンをどうタップするかをしっかり記載していると円滑にテストができると思います。
若干手間ではあるかもしれませんが事前に細かく記載しておくことでの後々のやりとりが少なくなり結果的に工数削減に繋がることが実際の現場でもあったりします。
こちらの方がわかりやすくて親切ですね
さいごに
長々書きましたが正直これでもテストケースの説明としてはかなりざっくりしています。
本当に優れたテストケースというのは仕様書レベルの内容が落とし込まれていて誰が見てもテストできる代物になっていることが理想なのですが、実際問題そこまで質が高いものはなかなかないのかなと思います。(目指してはいるのですが...)
このご時世リモートワークが定常化することでテストケースの質を高めていかないと意図が伝わらないことが多いなーと改めて感じたので自分への復習の意味も込めて今回記事にしてみました。
このブログを読んでみて
「ソシャゲのQAってこんな感じか!」
「テストケースの書き方ってこうなのか!」
など何かを感じて頂き皆様のヒントに少しでもなれれば幸いです。
(ソシャゲのテストケースについて書いてるブログは意外と少ない気がしたので)
以上、外出自粛生活が続いて厳しいご時世ではございますが、皆さまどうかStayHomeで乗り越え1日でも早く元の生活が送れるようになることを祈っております。
楽しいね!を、世界中の日常へ。