ゲームアプリ開発におけるテスト・品質管理という仕事【後編】

WRITER: Taka
2022/06/09

Taka: 色々試されたりとか実際に人ベースのテスト業務をやられてこられて、
いろいろ知見とか今現在の技術とかも把握されたと思うんですけど、
たけさんがテストを自動化するサービスを企画するとしたらどんなものを作りますか?

たけ: まだ固まったものみたいな感じではないんですけど、さっき言ったみたいに、
例えば、スプレッドシートとかでデータ化されたものと、実際ゲームの中に入っているデータを照合していく
みたいな事は難しくはなくなってきたのかなとは思います。

もちろん、その実機に入っている元データのコピーをもらって
実際に実機の中に反映してますよ、という比較だけだと全部イコールになっちゃって意味がないので、
例えば、スプレッドシートでプランナーさんが想定したデータと、実機のデータを比較することができるだけでも割と工数減るんじゃないかなと。

Taka: ゲームのテストのめんどくさい部分の一つとして、あらゆるタイプの機種で同じことをやらないといけないっていうのがあるじゃないですか。
いろんな機種にインストールしてかつ同じようにセットアップするっていうところの自動化はできてますか?

たけ: それは多分やられているところもあるんじゃないかなと思います。
端末をリモート操作で動かせるサービスと連動させてなどで。

実際それに似たようなことをうちでもやったことがあって。
うちのゲームの場合、立ち絵動画をテストしたいとなった時に
検証用のアプリを作って、それをネット上にあげて、全部の端末にリモートで入れて、動作を調べるということをFirebaseでやったことがあって。

Taka: うまく動きました?

たけ: 動いたは動きましたね。
例えばこの端末だと動かないね、このスペックの端末だとちゃんと動くね、ていうその辺の線引きとかには多少役にたったかな。

Taka: 今も現役なんですか?

たけ: 今はあんまり使ってないですね…
Firebaseとかはエンジニアやプランナーさんの方で使われたりしてますけど、
なんかたしか制限があったんですよね、一日何回しかできないとか。

それを使ったテストで、ある程度の傾向は見えるけど、
じゃあそれどおり最後まで動くかっていったらそういうわけじゃなくて、
結局いろんな要素が入ってきた時に、このレベルだと動かないみたいなこともあったし。

Taka: 実際プレイしてみないとわからない?

たけ: 大枠の傾向みたいのは掴めるんですけど、決め手にはならないなって。

Taka: AIは使えそうですか?

たけ: そうですね、AIで自動化できそうだなっていうのは
「決まり切った導線の中での照合作業」みたいなことはできると思う。

今うちのチームでやっているテストって、半分がそういうテストなんですよ。
資料見て、実機と照合して、OKだねっていう、
割とそれが物量あったりするので。

Taka: それだけでも自動でできるようになったら楽になる?

たけ: 全然違うと思います。
なので、そういう簡単な照合作業で物量が一番あるものは自動テストにお任せして、
我々はもうちょっと、普通のユーザーがしないような挙動とかをやってみようだったりとか、
もっとクオリティを高めるためにはこういう表現だったら良さそうとか、
そういうクオリティアップを促すみたいなことに力を入れられればいいですね。

Taka: 簡単な照合作業の自動化ツールって、まだ使えないのばかりなんですか?
大手デバッグ会社はそういうツール出してないんですか?

たけ: 僕が知る限りですけど、出してはいないかなと。
今懇意にしている会社さんでE社さんがあるんですけど、そこは自動テストを研究するためのチームを持っていて、
例えば、アプリの更新の時に「アプリ全体の挙動確認をしたい」みたいな時に、
向こうのほうで動作のコードを組んでくれて、
アプリを渡しさえすれば、全体の動作チェックを端末毎に自動でやるみたいなことはオプションパッケージとして入ってます。

だから、そういうことをやれなくはないんですけど、ただそれもそれで最初に言ったことと同じことなんですよ。
最初に道筋をプログラムを組んで、それをやっていくだけみたいな感じなので、
ちょっと変わったりとかするとメンテナンスに時間かかる。

Taka: 結局は自前でたまにデータ入力とか単純な作業をスクリプト化したりとか、そういうことですよね。
だから新しいイベントをする時や、新しいアプリが出たら、その都度プログラミングというかスクリプトは書き直しが必要ってことですね。

たけ: そう、ゲームアプリはすごい多様性もあるし、運用プロジェクトなのでどんどん機能が拡張されていくじゃないですか。
そうなってきた時に十分に対応できない。

Taka: その最初のスクリプトとかプログラミング部分が、全然プログラミング初心者でも簡単に組めるようなUIのツールであればよさそうですね。

たけ: それももうあるんですが、割とめんどくさいです。
結局、最初のところは作成工数がやっぱり発生しちゃうんで。それなりに知識も必要ですし。

Taka: 最初のそのスクリプト作成する時間と、実際人間がテストする時間を比較したら同じくらいになっちゃうんでしょうね。

たけ: 言ってみれば、最低限の動作確認レベルしかできないんですよ。
止まらないよねとか、動かないよねっていうのを検知するレベルのものでしかないんですよ。

そこに力を入れるよりかは、さっき言ったみたいに
もらっている設計書見て、それとパラメータがあってるかとか、
イベントの報酬とかで
100ポイント取ったらこの報酬がもらえる、
150ポイント取ったらたこの報酬をもらえる、
みたいなことを自動的に照合するみたいなものだったら、そこまで工数かからなそうだし、
フォーマットさえちゃんと整えちゃえばそれに見合った成果が得られる気がしていて、そこは研究の余地があるのかなって。

Taka: 今思ったのが、AI着彩の件でいうと、
一番最初はデータ加工したり学習させたりで時間かかるじゃないですか。
でも1回ちゃんとモデル作っちゃえば、その後はどんな線画が来てもちゃんと塗ってくれるんです。
ずっと使えるって意味では最初にそれだけコストをかける意味があるじゃないですか。

でも自動テストの場合は、最初にスクリプト組んだりコストかけても
イベントやアプリが変わると使えなくなっちゃうというところが大きな違いですね。
一回作ったら今後もずっと使えるんだったらやる意味ありますけどね。そこですね違いは。

たけ: 報酬の設定とかに関しては、マスタのカラム構成ってあんまり変わらないんですよ。
ポイントが何ポイントあって、何の報酬が手に入って、を指定してみたいな構成だったりするので。

そういうフォーマットへ合わせて、プランナーさんにも設計書をフォーマットに合わせて作ってもらえれば、
そのフォーマットにデータを入れ込んで、それと実機内容を照合する、ていうのはできなくはなさそうだなとは思っています。

Taka: なるほど

たけ: 個人的な意見ですが、おそらく世の会社さんが困っているのもそういうところだと思うんですよ。
一つの項目についての確認自体は簡単なんだけど、すごい物量がある。
データは、プランナーさんの方でコピペでたくさん作れちゃうので、データを作るのは簡単なんですけど
それをあってるのかどうか、大丈夫なのかどうかを見ていくっていう作業は、
簡単だけど繰り返したくさんやっていくみたいな感じになっちゃうので
そういうところでもっと自動化するアプローチはないかと思っています。

もしかしたら特別なツールを使わなくてもできるのかもしれないですけど、
別の手段でもいいので、人の目じゃなくて機械の手で自動的にやってくれるみたいな仕組みが作れないかなとは思っています。

Taka: 汎用的にずっとどんなタイプのテストにも使えるっていうのが多様性ありすぎて難しいそうですね。

たけ: そうですね…
だからこないだE社の自動テストに関するセミナーというか情報共有会に参加したことあるんですけど、
そこでもうちと同じような課題を抱えていて、それを解消するために試行錯誤してたので、悩んでること同じなんだなって。

Taka: 結局は大手デバッグ企業たちも未だにテスターのバイトをすごい募集してるじゃないですか。人でやるしかまだ今のところないんでしょうね。

たけ: そうじゃないかなと思います。自動化で言うと、照合するとかそういう作業でしか今のところ効果が出せない気がしてますね。

Taka: なるほど、わかりました。
今までテスト業務をやられてきて、これはヤバかった、これは辛かったみたいな思い出ってありますか?

たけ: あります笑
一番最初の話にもあるんですけど、やっぱり我々って最終工程なんですね。

Taka: それ通ったらもう世に出ちゃうわけですからね。

たけ: はい、最終工程なので、その前の工程とかが後ろにずれてくると、どうしても押し出されていくというか、期間がつぶれていくので、まあそうなった時が一番大変ですよね。

Taka: みんなもう残業必至でやるしかないですよね。

たけ: ですね。僕なんかだともう2日連続ぐらい会社に泊まって徹夜してデバッグみたいなところもあったし。
やっぱり納期がずらせないというか、ここにリリースするからそこには絶対間に合わせなきゃいけないみたいな話になる。
だけど検証期間を削られるので、1日の稼働時間を長くするか、人を増やすかしないとどうしようもないっていう。
でも人増やすと人件費かかるのでOKが出ないこともある。
ていうのは、まあどこ行ってもありますね。

Taka: 最終工程であるしリリース日はかといって伸ばせないので、板挟みでどんどん時間的に追いやられるみたいな。

たけ: はい、最終的には「すみません、お手伝いお願いします」って人海戦術で、みたいのが結構常態化してるってのはありますね。

Taka: たけさんの今後の未来について聞かせてください。

たけ: 今後の未来?笑
今僕がここでこういうふうにマネージャーやらせてもらってますけど、
その経験としてはまだぺーぺーだと思っていて、言ってみたらこの会社が初めてだったわけじゃないですか。
足りないところもあるし、まだやり切ってはいないなと思ってるんで、まずはここの品質管理として、もうちょっと全体として精度上げれるようになりたいなとは思ってるんですけどね。

Taka: なんか優等生的な答えでつまらないですね笑

たけ: そうですよねー笑
ただね、自動テストとかさっき言ったことを形にできたら面白そうですよね。
例えばフォーマットに入力してもらって、コピペで張り付ければ、あとは実機内容と照合してくれるみたいな。

Taka: それできたら、それ自体売れるかもしれないですね。
いつかエンジニアが検討してみるかもしれないので、そういうアイディアメモみたいなものをまとめておいていただければ。

たけ: はい、やっておきます笑

Taka: 今日はありがとうございました。