1. はじめに
とあるスマホ向けゲームアプリのQAを担当しています。
クエストデータのテストを一部自動化できたので紹介します。
2. 背景
- クエストにはステージ毎に、登場する敵やそのスキル、行動パターンなどが設定されている
- プランナーがExcelでクエストデータを作成している
- 開発環境の管理ページ(Rails)でデータ設定が確認できる
- クエストデータの設定値の組み合わせによってNGとなるパターンがある
- 敵スキルと行動パターンが適切な組み合わせになっていない
- あるキャラクターが違うキャラクターのスキルを使ってしまう 等
これらは進行不能や、世界観的にNGとなるので不具合となります。
再現工数が高い、キャラクターの知識が必要など検知しづらく、自分のチームではノウハウのあるテスターに頼っている状況でした。
3.やったこと
クエストデータにNGパターンがあると、管理ページにワーニングメッセージを表示する様にしました。
具体的には
- テストケースとテスト担当者からのヒアリングで実装すべき項目をリストアップ
- 検証したいデータのカラム名、NGとなる値の範囲と組み合わせ条件を整理
- 上記の条件で管理ページにメッセージを表示するようにエンジニアへ実装を依頼
観点 | カラム | 条件 |
---|---|---|
敵スキルと行動パターンが適切な組み合わせになっていない | skill_id, attack_pattern | 物理スキル(id:10xxxxx)の時、行動パターン1~5以外が設定されている |
あるキャラクターが違うキャラクターのスキルを使ってしまう | character_id, skill_user | character_idとskill_userが一致しない |
4.よかったこと
QAでは一般的に仕様書を元にテストすると思いますが、ルールベースでのテストなのでデータの仕様書自体が間違っていた場合でもNGを検知することができます。
今回はサーバ側で実装してもらえたのですが、SpreadsheetやExcelで関数を組み合わせてQA側でテスト用のシートを作る場合と比較して以下のようなメリットがあります。
- 設定するプランナー側でも確認でき、NGが無いか一発でわかるのでQA前品質が上がる
- マスタデータを取得してシートに流し込む手間がないのでQA工数が減らせる
また、自分のチームでは属人化していたテストを他のテスターでも実施できるようになりました。
5. まとめ
データ設定のテストにを効率化したいと考えている方に、こういった方法もあることを知っていただければ幸いです。
もちろんエンジニアの実装・メンテナンス工数が必要になりますが、メリットは小さくないので可能であれば提案してみてください。