はじめに

執筆者の自己紹介をさせていただきます。
AIQVE ONEの中嶌と申します。よろしくお願いいたします。
主にスマホゲームなどのゲーム系のテスト、時々、Web系(サイトやシステム系などの非ゲーム系)のテストを経験しています。
現在は技術支援部、技術推進セクションにてテスト自動化の技術的な支援活動を行っています。

今回の記事では、ゲームテスト自動化にて考えるべき8つのトレンドについてご紹介させていただきます。今回ご紹介するトレンドは第三者検証サービスによるQA活動でのゲームテスト自動化についてであり、開発会社部署内で行えるゲームテストとは多少毛色が異なることをご留意いただければ幸いです。

2022年 ゲームテスト自動化で考えるべき8つの最新トレンド

1:ノーコード・ローコードで動く自動化テストツールの選定と導入

テスト自動化ツールの成功で最も大事なことは、ソフトに適したツールの選定と導入です。ゲームテスターは非開発者が多いため、有力な候補として「ノーコード・ローコードで動く自動化テストツール」が挙げられます。ローコード・ノーコード自動化ツールは、コーディングスキルが低い方でもテストケースが作成できるため導入しやすいというメリットがあります。

ローコード・ノーコード自動化ツールを導入できる環境ならば、かなりの数のテストを低コストかつ高速で自動化でき、従来のテストツールと比較して自動化導入の平均時間が短縮できます。この種のツールは年々増加しており、独自に作成している企業もあります。ツール選定で重要なのは「テスト実行に必要な機能を備え、低コストで導入できる」点にあります。無理に導入しようとしても想定以上のコストを支払う可能性がありますので注意が必要です。

市場調査会社「Future Market Insights (FMI)」によると

projects codeless testing demand to increase at 15.5% CAGR between 2021 and 2031.

引用元: https://www.futuremarketinsights.com/reports/codeless-testing-market

つまり

ノーコードテストの需要は2021年から2031年の間に年平均成長率(CARG)15.5%で上昇します。

とあるように、ノーコード・ローコード自動化テストの需要は長期的に増加することが推測されるため、ゲームテスト界においてもトレンドの一つとして考えられます。

2:マネジメントツールによる進捗状況のモニタリング

テスト自動化を導入したものの、期待した効果を得られていないと判断されることもままありますが、多くの場合、テストプロセスを十分な期間にわたって詳細にモニタリングしていないことが主な原因となります。

これはマネジメントツールを導入し、テスト実行をモニタリング、分析することで改善できる可能性があります。モニタリングの情報として主に得られるものは、テスト実行進捗状況、不具合報告数、在席状況などです。現在、オフィスから離れリモート上やオンサイトで業務の多様化が進んでいることもあり、スタッフの状況確認は更に重要になっています。

3:CI/CD(の改善)

CI/CDは継続的インテグレーション、継続的デリバリーと呼ばれる開発手法です。
より良い製品を効率的に提供しようと心掛けている現場であれば、プロセス改善の一環として採用しているところが多いかと思います。JenkinsやGit、Redmineといったバージョン管理やビルド、BTSツールを利用しているなら、CI/CDが導入されていると言っていいでしょう。

CI/CDを導入している場合は、開発の各段階にてテストレベルを問わず自動テストが実施されていることになります。継続的にテストを挟んでいる場合、欠陥を作り込まないうちに発見でき、比較的低コストで対処することができるでしょう。

また、CI/CDに関するツールを導入している場合でもPJに適したより良いプロダクトがリリースしている可能性があります。適度なタイミングで振り返りを行い、CI/CDの改善を検討してみてはいかがでしょうか。

4:非機能テストでのデータ可視化

ユーザ体験が重要といえるゲームにおいて、昨今、非機能要件を分析する必要性がより高まっています。非機能要件を認識することは、すべてのQAにとって必須事項です。

ユーザ視点から不具合と感じられる非機能要件の発見には機械学習・深層学習を利用するのが良いですが、自動化テストに置き換えることは一部の領域を除けば困難です。そのため手動テストで行うべきテストプロセスを自動化しようとすると、深刻な悪影響をもたらす可能性があります。

2022年には自動化テストだけを重視するのではなく、手動と自動の意識的な切り分けと組み合わせが重要になるでしょう。

5:機械学習・深層学習を用いたテスト

機械学習・深層学習を利用したテストはQAチームがより優れたテストケース、テストデータ、およびレポートを生成する手助けになります。また、リアルタイムのデータを使用し、よりスマートなテスト戦略を策定するのに利用できます。

他にも毎日行うテストの負担を減らす余地があります。これにより、テストのコスト低減ができ、より高品質のソフトウェアが提供できます。

色々と華々しく言われる機械学習・深層学習を利用したテストですが、これらを活用したテストの適用は新分野のため、効果的な使い方については確認されつつありますが、まだ発展途上です。

人間が顧客の行動を正確に予測することは不可能ですが、機械学習を利用した分析は今まで見つけられなかった優位な箇所を発見できます。今後数年間、テスト自動化のトレンドに常に登場する技術分野となるでしょう。

6:RPAツールの導入

RPAツールの利用を検討する方は、日々のタスクの負担を減らそうと考えている方だと思います。無償で利用できるRPAツールとしては、「Windows Power Automate」やエクセルのマクロ、GoogleスプレッドシートのGASが代表的でしょうか。導入する精神的ハードルは非開発者には高めですが、意外と作成は簡単なので、試してみてはいかがでしょうか。利用している方に聞くのも良いヒントになります。

RPAツールは複雑なタスクを消化できませんが、簡単なタスクについては便利なツールで、テストケースの作成、プロジェクトのファイル配置などの補助に利用できます。積極的に利用することで冗長な仕事から離れることができます。

7:コンプライアンスリスクとセキュリティテストの自動化

開発において、セキュリティや脆弱性診断による強固さが一定以上であることを確認することは重要です。また、企業はコンプライアンスリスクについても順守しなければなりません。

幸いにも、システムやソフトを分析して、セキュリティ標準に準拠しているかを確認する自動化ツールが市場に出回っています。

ゲームだから仮に事故が発生しても影響は比較的軽微という理由で労力を割かないと、チーターが蔓延し、結果的にユーザが減り、機会損失が発生することが懸念されます。低コストでセキュリティテストの自動化が出来る場合は利用した方が良いでしょう。

8:ブロックチェーン用の自動ツールの採用

分散型台帳技術の発展により生み出されたブロックチェーンは、世界で最も関心を集めている技術の1つです。 金融取引の保護から企業データの安全な共有まで、そのユースケースは多岐に渡ります。

日本のBCG(ブロックチェーンゲーム)は、NFT(非代替性トークン)といわれるそのユーザのみが所持する暗号(アイテム)を利用しプレイするのが一般的です。

このNFTは、利用しているチェーン(暗号資産を利用した取引データを管理するために使われている技術)が他のサービスでも使用されるポピュラーなものであれば、運営が保守対応を行うことによって、仮にゲームがサービス終了した場合でもユーザが思い出の品として保持し続けたり、 他のゲームで利用可能にしたり、リセールすることが可能です。そのため、今まで概念としてあったゲーム資産を喪失することなく保持できるようになります。

BCGではNFTを利用する他にもトークンと呼ばれる暗号資産を利用したトケノミクスと呼ばれるある種の経済圏を運営する概念もあり、ゲームを遊んで獲得する暗号資産を高頻度で決済を行うため、決済のテストも重要なものになります。

BCGをテストする場合、E2Eテストだけではなく決済のシステムテストも重要視されるため、ブロックチェーン用の自動テストツールの採用が重要です。 テストするための代表的なツールは、BitcoinJ、Ethereum Tester、Populus、Embark、およびTruffleがあります。 これらのツールは暗号資産毎に使用するツールが異なるため、テストを行う際はどのチェーンかの確認を行うことが基本となります。

また、BCG開発は品質とスピード感とコミュニティ形成・運営が重要視される傾向にあるため、開発はアジャイル開発、テストはシフトレフト方式で行わなければ面白さ・熱気を保つことが非常に難しいです。 そのためBCGのテストにおいては、テストについての基礎知識をある程度有しており、 BCGの一般的な仕様・テストに関する特定の知識を持つテスターがより必要とされるでしょう。

まとめ

スマホ・ゲーム機器のスペックが増大するにつれて、より機能を複雑に作成出来るようになりつつあるため、各種ゲームの運営・新規開発のコストは指数関数的に増加し続けています。

ゲーム自動化テストは、通常の自動化テストと同様にゲームの開発速度を速めるのに役立ちます。また、包括的なエビデンスを提供することにより、開発チームとテストチームがソフトウェアの品質を向上させるのを支援し、結果的にユーザの満足度を向上に貢献することができます。

テスト自動化により、より良いゲームをユーザに提供する新たな一歩になると信じています。