Files
UnrealEngineUWP/Engine/Documentation/Source/Programming/Automation/Automation.CHN.udn
Max Chen 4561801a81 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) @7119039
#rb none

[CL 7120528 by Max Chen in Dev-Editor branch]
2019-06-21 01:21:43 -04:00

164 lines
7.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
INTSourceChangelist:3801260
Availability: Public
Crumbs: %ROOT%
Title:自动化系统概述
Description:概括叙述用于单元测试、功能测试和内容压力测试的自动化系统。
Type: Landing
Version:4.17
Parent:Programming
Order:
Tags:Programming
Navigation:topic
[TOC(start:2 end:2)]
自动化系统是基于功能测试框架而构建的其设计目的是执行一个或多个自动化测试来执行Gameplay关卡测试。编写的大多数测试
都是功能测试、低级核心或编辑器测试,这些都是使用自动化框架系统所必需的测试。编写的这些测试
可以根据用途或功能划分为以下类别:
[REGION:simpletable]
| 测试类型 | 说明 |
| --------- | ----------- |
| **单元** | API级别验证测试。请参阅 **TimespanTest.cpp** 或 **DateTimeTest.cpp** 以了解相关示例。|
| **功能** | 系统级别验证测试如验证PIE是否工作验证游戏中统计是否工作以及分辨率变化较大时是否有效。请参阅 **EditorAutomationTests.cpp** 或 **EngineAutomationTests.cpp** 以了解相关示例。|
| **冒烟** | 冒烟测试只是实施者的速度承诺。它们旨在快速因此可以在编辑器、游戏或commandlet_每次_启动时运行。它们也是[UI](Programming/Automation/UserGuide#UserInterface)中选择的默认选项。[REGION:warning]所有冒烟测试都应在1秒钟内完成。仅将单元测试或快速功能测试标记为冒烟测试。[/REGION] |
| **内容压力** | 为了避免崩溃而对特定系统的更详尽测试,例如,加载所有贴图,或加载并编译所有蓝图。请参阅 **EditorAutomationTests.cpp** 或 **EngineAutomationTests.cpp** 以了解相关示例。|
| **截屏比较** | 这允许执行QA测试快速比较截屏以识别不同版本之间的潜在渲染问题。|
[/REGION]
## 自动化测试已移至插件
长期以来,自动化测试分布于引擎和编辑器的多个位置,意味着您在交付作品时也会包含这些测试。现在,这些测试已经移到自己的插件,
可以单独启用。这也表示,由于这些测试位于插件中,您可以在编译时选择将它们包含在封装版本中。插件还可以存储内容,
这样就不必保存在引擎内容文件夹中。
由于这一更改,所创建的测试类型将指示应存放在哪里。下表提供了各种测试类型以及它应该与哪个插件一起保存:
[REGION:simpletable]
| 测试类型 | 用来存储的插件 |
| --------- | ----------- |
| **单元** | 这些可以继续存储在与代码相同的模块中。|
| **项目不确定性运行时测试** | RuntimeTests插件 |
| **项目不确定性编辑器测试** | EditorTests插件 |
| **功能测试** | EngineTest游戏文件夹 |
[/REGION]
[REGION:note]
部分测试仍在引擎中,尚未移到插件。这些测试将陆续移到 **插件浏览器Plugin Browser** 中相应的插件,
迁移后会列示在 **测试Testing** 部分中。
[/REGION]
### 启用自动化测试插件
要为不同的可用测试启用插件,转至文件菜单,选择 **窗口Window** >**插件Plugins** 以打开“插件浏览器”Plugin Browser窗口。
![](EnablePlugins.png)(w:350)
在左面板中,选择 **测试Testing** 类别,启用想要使用的测试插件。
[REGION:lightbox]
[![](PluginsBrowser.png)(w:625)](PluginsBrowser.png)
[/REGION]
[REGION:caption] 单击查看大图。[/REGION]
选择完成后,系统将提示重新启动编辑器。单击 **立即重启Restart Now** 按钮。
![](RestartTheEditor.png)
## 测试设计准则
在测试游戏或项目时请参考Epic在自动化测试时遵循的一些通用准则
* 不假设游戏或编辑器的状态。测试可以在各机器中无序或并行运行。
* 让磁盘上的文件保持原状态,不要改动。如果测试生成了文件,则在测试完成时将它删除。(这一点在未来可能会改变,允许选择自动删除生成的这类文件)。
* 假设上一次运行测试结束后,测试状态不佳。一种比较好的做法是先生成文件以尝试删除它们,然后再开始测试。
## 运行自动化测试
1. 打开任意项目。
1. 启用可用于测试的[插件](#enablingautomationtestplugins)并重新启动编辑器。
1. 在编辑器中,转至 **窗口Window** >**测试自动化Test Automation**。
[REGION:lightbox]
[![](TestAutomation.png)(h:300)](TestAutomation.png)
[/REGION]
[REGION:caption] 单击查看大图。[/REGION]
[REGION:note]
为了显示该菜单中的选项,首先必须至少启用一个[自动化测试插件](#enablingautomationtestplugins)。
[/REGION]
1. 在“会话前端”Sessions Frontend“自动化”Automation选项卡的 **测试名称Test Name** 列中,启用以下各项:
[REGION:lightbox]
[![](AutomationWindow.png)(w:600)](AutomationWindow.png)
[/REGION]
[REGION:caption] 单击查看大图。[/REGION]
* 编辑器Editor
* 项目Project
* 系统System
1. 在“自动化”Automation选项卡工具栏中单击 **开始测试Start Tests** 按钮。
[REGION:lightbox]
[![](StartTests.png)(w:600)](StartTests.png)
[/REGION]
[REGION:caption] 单击查看大图。[/REGION]
测试完成过程中您可以在“测试名称”Test Name窗口中关注进度。
[REGION:lightbox]
[![](RunningTests.png)(w:600)](RunningTests.png)
[/REGION]
[REGION:caption] 单击查看大图。[/REGION]
## 基础
**自动化系统** 提供了使用 **虚幻消息总线** 的功能执行单元测试、功能测试和内容压力测试的能力,以提高稳定性。
[DIR(output:"topiccompact" parent:"Programming/Automation" org:"hierarchy" tags:"Programming" end:"1")]
[COMMENT:none]
-
[EXCERPT:Intro]
**自动化系统** 提供了使用
**虚幻消息总线** 的功能执行单元测试、功能测试和内容压力测试的能力,
以提高稳定性。
自动化系统的工作方式是执行一个或多个自动化测试。自动化测试根据用途或功能,
可以划分为不同的类别:
[/EXCERPT:Intro]
$ 单元测试API级别验证测试。请参阅TimespanTest.cpp或DateTimeTest.cpp以了解相关示例。
$ 功能测试系统级别验证测试如验证PIE是否工作验证游戏中统计是否工作以及
分辨率变化较大时是否有效。请参阅EditorAutomationTests.cpp或EngineAutomationTests.cpp以了解相关示例。
$ 冒烟测试:冒烟测试只是实施者的速度承诺。它们旨在
快速因此可以在编辑器、游戏或commandlet_每次_启动时运行。它们也是
[UI](Programming/Automation/UserGuide#UserInterface)中选择的默认选项。
[REGION:warning]所有冒烟测试都应在1秒钟内完成。仅将单元测试或快速功能测试标记为冒烟测试。[/REGION]
$ 内容压力测试:为了避免崩溃而对特定系统的更详尽测试,例如,加载所有贴图,
或加载并编译所有蓝图。请参阅EditorAutomationTests.cpp或EngineAutomationTests.cpp
以了解相关示例。
$ 截屏比较截屏比较工具允许执行QA测试快速比较截屏以识别
潜在渲染问题。[截屏工具参考](Programming/Automation/ScreenShotComparison)。
[DIR(output:"topiccompact" parent:"Programming/Automation" org:"hierarchy" tags:"Programming" end:"1")]
-
[/COMMENT]