自動化システム は、ゲームプレイレベルのテストを行うために設計された機能テスト フレームワーク上に構築され、自動化テストを一回以上行うことで機能します。記述されるほとんどのテストは機能テスト、低レベルのコアまたはエディタのテストで、Automation Framework システムを使って記述する必要があります。記述されるこうしたテストは、目的または機能に応じて以下のカテゴリに分けられます。
テストの種類 | 説明 |
---|---|
Unit | API レベルの検証テスト。例については、TimespanTest.cpp または DateTimeTest.cpp を参照してください。 |
Feature | PIE 作業、インゲームの統計作業や解像度の変更などのシステムレベルの検証テスト。こうした例については、EditorAutomationTests.cpp または EngineAutomationTests.cpp を参照してください。 |
Smoke | スモーク テストは、実装者がざっと確認するテストです。エディタ、ゲーム、またはコマンドレットが開始すると 毎回 実行できるように高速で処理されます。UI でもデフォルトで選択されます。 |
Content Stress | すべてのマップのロード、またはすべてのブループリントのロードとコンパイルなど、クラッシュを避けるために特定のシステムを徹底的にテストします。こうした例については、EditorAutomationTests.cpp または EngineAutomationTests.cpp を参照してください。 |
Screenshot Comparison | QA テスティングがスクリーンショットを迅速に比較し、バージョン間、ビルド間でのレンダリングの問題を特定します。 |
自動化テストはプラグインに移動
長い間、自動化テストはエンジンとエディタ全体に広がっていました。つまり、タイトルを出荷するとこうしたものが含まれます。現在、自動化テストは個別に有効化できるプラグインに移動しました。こうしたテストはプラグインにあるのでコンパイル時にパッケージ化したビルドに含めるように選択することもできます。プラグインにコンテンツを保存して Engine Content フォルダに保存しないようにすることができます。
この変更により、作成されているテストの種類によって格納場所が決まります。以下の表のテストの種類を見てどのプラグインに保存するかをご覧ください。
テストの種類 | 保存するプラグイン |
---|---|
Unit | コードと同じモジュールに保存し続けることができます。 |
Project Agnostic Runtime Tests | RuntimeTests のプラグイン |
Project Agnostic Editor Tests | EditorTests のプラグイン |
Functional Tests | EngineTest ゲーム フォルダ |
一部のテストはまだエンジンにあり、プラグインに移動していません。これらは時間の経過に伴い、[Plugins Browser] の [Testing] にある対応する プラグインに移動するでしょう。
自動化テストのプラグインを有効にする
利用可能な様々なテストのプラグインを有効にするにはファイル メニューで [Window > Plugins] の順序で選択して [Plugin Browser] ウィンドウを開きます。

この左側のパネルで [Testing] カテゴリを選択し、使用するテスト プラグインを有効にします。
クリックしてフルサイズ表示。
これらを有効にすると、エディタの再起動を求められます。[Restart Now (今すぐ再起動する)] ボタンをクリックします。

テスト設計ガイドライン
以下はゲームまたはプロジェクトをテストする場合に エピック が従っている自動化テストに関する一般的なガイドラインの一部です。
- 通常のゲームの進行状態やエディタの状態を前提としてテストを行わないでください。テストはバラバラの順番で行われたり、複数のコンピュータで並行して行われることがあります。
- ディスク上のファイルの状態をそのままにしてください。テストでファイルが生成されたら、テスト終了後に削除してください。(将来、こうした生成ファイルを自動的に削除するように変わるかもしれません)。
- 前回テストを実行してからテストは悪い状態のままになっていることを前提にしてください。テスト開始前にこれらを削除しようとするファイルを生成するとよいでしょう。
自動化テストを実行する
- 任意のプロジェクトを開きます。
-
テストに使用可能な プラグイン を有効にし、エディタを再起動します。
-
エディタで [Window] > [Test Automation] の順に進みます。
クリックしてフルサイズ表示。
このメニュー オプションが見えるようにするには、まず最低ひとつの 自動化テストのプラグイン を有効にしなければなりません。
-
[Sessions Frontend] の [Automation] タブの [Test Name] 欄で以下を有効にします。
クリックしてフルサイズ表示。
- Editor
- Project
- System
-
[Automation] タブ ツールバーで [Start Tests] ボタンをクリックします。
クリックしてフルサイズ表示。
テストが終了したら [Test Name] ウィンドウで進捗がわかります。
クリックしてフルサイズ表示。
必須情報
自動化システム には、安定性を高めるために Unreal Message Bus の威力を活かしたユニット テスト、機能テスト、およびコンテンツ負荷テストを行うための機能があります。