ゲームのテストは過酷です。機能を適切に設計・実装する必要があり、ユーザビリティテスターは新機能をテストし、QAテスターはバグの発見に努め、侵入テストサービスではセキュリティホールがないことを確認します。
これは、ゲーム作成におけるテスト ライフサイクルのほんの一部です。

ゲーム、特にアプリの世界では、新機能の追加、バグ修正、アップデートなど、常にテストが必要な要素が加わりながら進化していきます。プレイヤーは、ゲームが小規模なインディーズデベロッパーから大手開発スタジオまで、あらゆるジャンルで「洗練」され、非常にスムーズに動作することを期待しています。バグ修正やパッチは迅速に行われなければなりません。
自動テストがゲーム開発者に最もメリットをもたらすのはこの点です。
モバイルゲームの自動テストの種類
テストは開発前段階または本番環境から開始され、ゲームの開発期間全体にわたって継続されます。開発前の段階で実施されたテストの多くは、開発の進行に伴い削除されます。
モバイル ゲームの自動テストには次のような種類があります。
互換性テスト
ゲームは複数のモバイル オペレーティング システム バージョンにインストールおよびアンインストールされますか? Android と iOS はオペレーティング システムにアップデートを展開するため、古いデバイスを使用しているユーザーの中には、サポートされなくなったデバイスを使用しているユーザーがいる場合があります。
互換性テスト フェーズを自動化すると、次のことが保証されます。
- 最新のオペレーティングシステムを持っていないプレイヤーでもゲームを実行できる
 - 収益とダウンロードはより多くの視聴者に届く
 
これらのテストは定期的に実施する必要があります。もちろん、ゲームがすべてのオペレーティングシステムのバージョンで動作するわけではないので、サポートするバージョンの範囲を設定する必要があります。
iOS の場合、iOS 12以降を実行しているデバイスをサポートすることを選択できます。
パフォーマンステスト
パフォーマンスチューニングは、自動化することで非常に効果的なテスト手法の一つです。パフォーマンステストを通じて、以下のような主要なパフォーマンス問題に対処できます。
- プレイのピーク時の問題
 - ネットワークカバレッジ
 - メモリリーク
 - 異常なバッテリー使用量
 - CPUとメモリの消費
 - 読み込み時間
 - ゲームスピード
 
これらの指標はすべて、ゲーム開発者とプレイヤーにとって重要です。徹底的なパフォーマンステストを実施することで、ユーザーエクスペリエンスとプレイヤー満足度を向上させることができます。
また、ゲームの制約とゲームが実行されるネットワークについても学習します。
浸漬試験
ソークテストの目的は、プレイヤーが12時間アイドル状態であっても、ゲームを長時間実行させ、ゲームに戻った際に何が起こるかを確認することです。これらのテストは、複数のゲーム画面で、様々な状況で実行され、以下の点を確認することができます。
- エラー
 - メモリリーク
 
ソークテストを使用すると、見落とされる可能性のあるゲーム エンジンの潜在的な欠陥を見つけることができます。
回復テスト
データの整合性と復旧は、特にモバイルデバイスでは懸念事項です。モバイルデバイスでは、ユーザーが気付かないうちにデバイスが再起動したり、バッテリーが切れたりする可能性があります。復旧テストを行うことで、開発者はデバイスがクラッシュしたり、何らかのハードウェア障害が発生した場合に何が起こるかを把握できます。
テストには多くの場合、次のものが含まれます。
- データ整合性テスト
 - データ修復
 
開発者は、リカバリテストを行うことで、プレイヤーのリカバリ性が向上するだけでなく、ゲーム エンジンが強化され、全体的なパフォーマンスが向上する場合もあることを学びます。
セキュリティテスト
侵入テストとセキュリティテストは高度に自動化されており、ゲーム本体とサーバーの両方で実施する必要があります。データ侵害やセキュリティホールは開発者に多大な損失をもたらす可能性があるため、これらのテストはますます重要になっています。
セキュリティ テストでは次の点を確認します。
- オペレーティングシステムの問題
 - データ漏洩
 - 暗号化の問題
 - その他
 
プレイヤーが自身のプライバシーにますます関心を持つようになるにつれ、ゲームとサーバーに対する侵入テストとセキュリティテストを実施することがこれまで以上に重要になっています。ソースコードが更新されるたびに、バグや潜在的なセキュリティ問題が発生する可能性があります。
ゲームテストの中には自動化されないものも存在します。世界最大級のゲームを開発するブリザード社は、今でも統合テストとプレイテストのために専任のテスターを配置しています。
なぜ?
自動化するには難しすぎるテストや、手動テストに最適なテストがいくつかあります。
自動テストを導入する際には、どのテストを自動化すべきか、すべきでないかを判断することが重要です。モバイルゲームが複雑になり、より多くのユーザーがゲームをプレイするようになると、自動テストはアジャイル開発の概念につながり、開発のスピードアップにつながります。