ゲームでのテストの自動化はWeb系よりハードルが高い!?

ショックを受ける女性品質管理

Web系のプロダクトでは、テストの自動化に取り組む組織はここ数年で大きく増えましたが、その要因としてMagic pod、Autify、mablなどのツールでローコードで自動化が実現可能になったことが大きいといえます。

これらのツールの登場・普及により、ゴリゴリにプログラムが書けるエンジニアではなくてもテスト自動化が実現できるようになり、テスト経験自体が浅いテスターでもテスト自動化できる可能性ができたことはやはり大きいと感じています。

では、ゲームではテスト自動化の活用状況はどのようになっているでしょうか?

ゲームのテスト自動化は難しい

Web系プロダクトではHTMLなどのコードを参照することが出来るため、Web系のテスト自動化ツールの多くはコード内部の要素を指定して自動化を組む形になります。

しかし、ゲームではユーザーと同じ環境下ではコードを読み取ることは出来ません。それはゲームのバイナリデータに難読化がされているためになります。
難読化とは、コードを改変・複雑化するなどして簡単に解析できないようにすることで、主にセキュリティ対策に使われます。

難読化の影響により、コードを参照して自動化を組むようなテスト自動化ツールはゲームでは合わなくなってしまいます。
ではどうやって自動化をするかというと、画像認識の技術を用いたテスト自動化ツールを活用します。

自動化ツール上で指定した画像とゲーム上の画像が一致しているかを判定し、その指定した画像に対してアクションを設定するようなイメージになりますが、ゲーム上の画像が少しでも変わってしまうと画像認識エラーとなってしまいます。
ゲーム開発やテストの序盤では仮画像であったり、一度画像が実装されても途中でデザインが変更されるといったことはよくあるため、テスト自動化に取り組むタイミングが重要になります。

ゲームに特化したテスト自動化ツール『Air Test』

画像認識ベースのテスト自動化ツールでは、ゲームでは『Air Test』(https://airtest.netease.com/)というツールが主流になっています。

Air Testの環境を構築してある状態でパソコンとスマホを接続すると、Air Test上にスマホの画面がミラーリングされます。
そのミラーリングされたスマホ(ゲーム)画面から画像を切り抜いて、切り抜いた画像に対して操作を指定するような形で自動化を実現していきます。
なお、主要な操作(タップ、スワイプなど)に対するコマンドはあらかじめ用意されているため、プログラムの経験が無い人でも比較的自動化が実現しやすいツールではないかと思います。

簡単な操作はAir Testにあらかじめ用意されたものを使うことで自動化を実現できますが、少し複雑な動きを自動化しようとすると、ある程度プログラム(Air TestではPython)が使えないと実現することが難しいため、ゲームテスト自動化のハードルはまだ高いようにも感じています。

開発とQAが一体となったテスト自動化の取り組み

ここまでは品管視点での話だったのですが、開発と一体となって取り組む場合はゲーム自体に自動化に必要な処理を実装出来たりするため、一段階踏み込んだ自動化が実現できるでしょう。

そういった取り組みのいくつかはCEDEC(Computer Entertainment Developers Conference)でも発表されましたが、有名タイトルでの以下の取り組みが参考になります。

“FINAL FANTASY VII REMAKE”における自動QAシステムの構築と運用
https://cedec.cesa.or.jp/2020/session/detail/s5e7c6a1020766.html

「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
https://cedec.cesa.or.jp/2020/session/detail/s5e71f52615726.html

ゲーム業界でもテスト自動化の波はきている

ゲームのテストではまだハードルはあるものの、コスト削減や品質の維持・向上のために自動化は注目を集めており、実際に取り組んでいる組織も増えてきています。

これまで手動テスト……とりわけフリーテスト(フリーデバッグ)の文化が強い組織では、テスト自動化に意識は向きつつもなかなかこれまでの文化から抜け出せない組織もまだまだ多いのも現実です。

目の前のことを乗り切るだけであれば自動化は不要かもしれません。
しかし、中長期的に考えた場合、テスト自動化の効果が出る可能性は十分あるため、テストの計画や戦略を検討する段階からテスト自動化も含めて取り組んでいくことで、その可能性を高めることができるのではないかと思います。

コメント

タイトルとURLをコピーしました