#はじめに
今年もこの時期がやってきました。
毎年何について書こうか悩むのですが、今回は昨年から取り組んでいるデータチェック自動化について書くことにしました。
今期は特に工数削減に注力しており、データチェック自動化の導入が大きく貢献してくれたのでその成果を記載していきたいと思います。
検証工数の削減を検討されている方の参考になれば幸いです。
#データチェック自動化とはなにか
仕様書とマスターデータを機械的に比較してデータの整合性を担保する検証です。
データ検証、データチェックなど、他にも呼び方があるかもしれませんが、弊社ではこの検証をデータチェック自動化と呼んでいます。
#マスターチェッカー導入のメリット
スマホゲームの場合、ガチャやイベントクエストなどアプリ内の動作の多くはマスターで制御されていると思います。
開催期間、消費スタミナ、獲得経験値etc......、必要な各種データをマスターデータに登録することである程度自由にイベントなどを開催することが可能です。
反面、登録したマスターデータに誤りがあると正常に開催されなかったり意図しない動作をしてしまうため、マスターデータが更新された箇所は必ず検証を行う必要があります。
検証を行う場合は実際にマスターデータを反映してアプリ上で確認するのが一般的です。
アプリ上での検証はテスト環境の準備や、再現確認のために同じ手順を何度も繰り返して確認を行う必要があったりと中々に時間がかかる作業です。
また人が確認を行うため、手順違いによる見逃しや見間違いによるミスなどが発生してしまう可能性もあります。
同じイベントを開催する場合、特に仕様変更が入らない限りは基本的に同じ箇所のマスターデータを次のイベント用に更新するだけです。
つまり更新予定のマスターデータと更新箇所がわかっていれば、それぞれを比較して一致していることを確認することで、意図通りの状態になっていることの担保がとれているため、アプリ上での確認を不要にすることができ、確認工数を抑えることができます。
また、ツール上で機械的に比較する形になるため、設定値のミスや誤字、脱字などの人の目では見逃しやすいミスも検知しやすくなります。
つまり、確認工数の削減と検証精度の向上の両方が見込めるのです!
#注意点
データチェック自動化での確認には、いくつか注意点があります。
①データチェック自動化で検証を行うデータの影響範囲を確認する
検証対象のマスターデータを使用する機能や影響範囲についてプロダクト側のエンジニアに、データチェック自動化での検証内容についてレビュー(検証内容のすり合わせ)を行っておいた方がよいです。影響がないと思っていたけど実は…なんてことも起こりえますので、事前に問題がないことを確認しておきましょう。
②マスターデータが正しく反映されていることを確認する
いくらマスターデータが正しいことを確認できていたとしても、アプリに反映されていなければ意味がありません。
変更箇所全てを確認する必要はないと思いますが、更新したマスターデータで動作する機能を実際にアプリ上で確認したりサポートツール※などで確認を行ったほうがよいです。
※サポートツールとはサーバー上に反映されているマスターデータをブラウザなどで確認できるツールのことです。
③画像の内容はデータチェック自動化では確認不可
データチェック自動化でも画像のファイル名や設定の有無はチェック可能ですが、画像の内容については確認ができません。
こちらもアプリ上やサポートツールで確認する必要があります。
#導入例
データチェック自動化は大量のデータ確認が必要な箇所や、データを更新する箇所、内容が固定化されている施策、機能に導入すると効果が大きいです。
実際に私が担当しているタイトルで導入した施策と導入効果を紹介します。
◆事例1
1つ目はキャラクターの強化機能です。
確認するデータ量が多く、スキルの内容や強化素材の値が固定されているため導入しやすい機能でした。
以下2点が確認箇所です。
- スキル効果確認
- 強化素材の設定確認
導入前は1キャラクターあたり300項目のテストケース数が導入後は20項目まで削減でき、確認工数は約93%削減できました。
◆事例2
2つ目はガチャです。
設定する箇所や設定内容は変更点がないため、データチェック自動化の導入がしやすく、また検証対象のガチャ本数が多いため導入時の削減効果も見込める機能でした。
以下4点が確認箇所です。
- 開催期間
- 排出カード
- 価格
- おまけ(おまけが付くガチャの場合)
導入前はガチャ1本あたり70項目のテストケース数が、導入後はガチャ1本あたり10項目まで削減でき、確認工数は約90%削減できました。
#さいごに
導入にあたり、データを比較するための仕組みを用意したり、プロダクト側と認識のすり合わせを行うなど事前準備にも工数がかかります。
ですが導入できれば効率よく、精度高く検証が行えるようになると思いますので、導入してみてはいかがでしょうか。