自動化システムの概要

ユニットテスト、機能テスト、コンテンツ負荷テストのために使用する自動化システムの概要です。

自動化システム は、ゲームプレイレベルのテストを行うために設計された機能テスト フレームワーク上に構築され、自動化テストを一回以上行うことで機能します。記述されるほとんどのテストは機能テスト、低レベルのコアまたはエディタのテストで、Automation Framework システムを使って記述する必要があります。記述されるこうしたテストは、目的または機能に応じて以下のカテゴリに分けられます。

テストの種類

説明

Unit

API レベルの検証テスト。例については、TimespanTest.cpp または DateTimeTest.cpp を参照してください。

Feature

PIE 作業、インゲームの統計作業や解像度の変更などのシステムレベルの検証テスト。こうした例については、EditorAutomationTests.cpp または EngineAutomationTests.cpp を参照してください。

Smoke

スモーク テストは、実装者がざっと確認するテストです。エディタ、ゲーム、またはコマンドレットが開始すると 毎回 実行できるように高速で処理されます。UI でもデフォルトで選択されます。

全てのスモーク テストは、1 秒以内に終了することを意図しています。ユニット テストもしくは高速な機能テストのみをスモーク テストとして指定してください。

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] ウィンドウを開きます。

EnablePlugins.png

この左側のパネルで [Testing] カテゴリを選択し、使用するテスト プラグインを有効にします。

クリックしてフルサイズ表示。

これらを有効にすると、エディタの再起動を求められます。[Restart Now (今すぐ再起動する)] ボタンをクリックします。

RestartTheEditor.png

テスト設計ガイドライン

以下はゲームまたはプロジェクトをテストする場合に エピック が従っている自動化テストに関する一般的なガイドラインの一部です。

  • 通常のゲームの進行状態やエディタの状態を前提としてテストを行わないでください。テストはバラバラの順番で行われたり、複数のコンピュータで並行して行われることがあります。

  • ディスク上のファイルの状態をそのままにしてください。テストでファイルが生成されたら、テスト終了後に削除してください。(将来、こうした生成ファイルを自動的に削除するように変わるかもしれません)。

  • 前回テストを実行してからテストは悪い状態のままになっていることを前提にしてください。テスト開始前にこれらを削除しようとするファイルを生成するとよいでしょう。

自動化テストを実行する

  1. 任意のプロジェクトを開きます。

  2. テストに使用可能な プラグイン を有効にし、エディタを再起動します。

  3. エディタで [Window] > [Test Automation] の順に進みます。

    クリックしてフルサイズ表示。

    このメニュー オプションが見えるようにするには、まず最低ひとつの 自動化テストのプラグイン を有効にしなければなりません。

  4. [Sessions Frontend] の [Automation] タブの [Test Name] 欄で以下を有効にします。

    クリックしてフルサイズ表示。

    • Editor

    • Project

    • System

  5. [Automation] タブ ツールバーで [Start Tests] ボタンをクリックします。

    クリックしてフルサイズ表示。

    テストが終了したら [Test Name] ウィンドウで進捗がわかります。

    クリックしてフルサイズ表示。

必須情報

自動化システム には、安定性を高めるために Unreal Message Bus の威力を活かしたユニット テスト、機能テスト、およびコンテンツ負荷テストを行うための機能があります。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル