9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

モバイルゲームQAAdvent Calendar 2019

Day 14

データ設定のテスト自動化

Last updated at Posted at 2019-12-13

1. はじめに

とあるスマホ向けゲームアプリのQAを担当しています。
クエストデータのテストを一部自動化できたので紹介します。

2. 背景

  • クエストにはステージ毎に、登場する敵やそのスキル、行動パターンなどが設定されている
  • プランナーがExcelでクエストデータを作成している
  • 開発環境の管理ページ(Rails)でデータ設定が確認できる
  • クエストデータの設定値の組み合わせによってNGとなるパターンがある
  • 敵スキルと行動パターンが適切な組み合わせになっていない
  • あるキャラクターが違うキャラクターのスキルを使ってしまう 等
20191213_171113.png

これらは進行不能や、世界観的にNGとなるので不具合となります。
再現工数が高い、キャラクターの知識が必要など検知しづらく、自分のチームではノウハウのあるテスターに頼っている状況でした。

3.やったこと

クエストデータにNGパターンがあると、管理ページにワーニングメッセージを表示する様にしました。

具体的には

  1. テストケースとテスト担当者からのヒアリングで実装すべき項目をリストアップ
  2. 検証したいデータのカラム名、NGとなる値の範囲と組み合わせ条件を整理
  3. 上記の条件で管理ページにメッセージを表示するようにエンジニアへ実装を依頼
20191213_182154.png
観点 カラム 条件
敵スキルと行動パターンが適切な組み合わせになっていない 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. まとめ

データ設定のテストにを効率化したいと考えている方に、こういった方法もあることを知っていただければ幸いです。
もちろんエンジニアの実装・メンテナンス工数が必要になりますが、メリットは小さくないので可能であれば提案してみてください。

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?