Language:
Page Info
Tags:
Engine Version:

自動化システムの概要

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

テストの種類

説明

Unit

API レベルの検証テスト。例については、TimespanTest.cpp or 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

ランタイム テストのプラグイン

Project Agnostic Editor Tests

エディタ テストのプラグイン

Functional Tests

エンジン テストのゲーム フォルダ

一部のテストはまだエンジンにあり、プラグインに移動していません。これらは時間の経過に伴い、TestingPlugins Browser にある対応する プラグインに移動するでしょう。

自動化テストのプラグインを有効にする

利用可能な様々なテストのプラグインを有効にするにはファイル メニューで Window > Plugins の順序で選択して Plugin Browser ウィンドウを開きます。

EnablePlugins.png

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

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

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

RestartTheEditor.png

テスト設計ガイドライン

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

  • ゲームやエディタの状態を想定しないでください。テストはうまく行かなかったり、複数のマシンで並行して行われることがあります。

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

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

自動化テストを実行する

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

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

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

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

    このメニュー オプションが見えるようにするには、まず最低ひとつの automation tests plugin を有効にしなければなりません。

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

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

    • Editor

    • Project

    • System

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

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

    テストが終了したら Test Name ウィンドウで以下が進行します。

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

基本

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