浏览代码

Merge pull request #66 from o3de/michleza

Script canvas testing LKG.
michleza 3 年之前
父节点
当前提交
a2c53b0d6a
共有 1 个文件被更改,包括 77 次插入0 次删除
  1. 77 0
      testing-guidance/workflow-tests/scripting/script-canvas-tests.md

+ 77 - 0
testing-guidance/workflow-tests/scripting/script-canvas-tests.md

@@ -0,0 +1,77 @@
+# Script Canvas Workflow Tests
+
+Testing in this area should focus on the functionality of Script Canvas editor.
+
+## Project Requirements
+Any project can be used and no special gems are required.
+
+## Common Issues to Watch For
+
+Test guidance will sometimes note specific issues to watch for. The common issues below should be watched for through all testing, even if unrelated to the current workflow being tested.
+1. Asset processor errors when loading/saving graph files
+2. Warnings or assets that appear in the graph validation log
+3. Unresponsive UI elements 
+
+### Common Terms
+<b>Script Canvas (SC) Editor</b>: Editing tool separate from O3DE's Editor used to create and modify script canvas graph files
+
+<b>SC Graph</b>: A collection of node objects that can be modified and saved to a file.
+
+<b>SC Editor Basic Tools</b>: The 5 default tools opened and anchored to the main SC editor window; Node Palette, Variable Manager, Node Inspector, Minimap, Graph Validation
+
+<b>SC Component</b>: A component that can be searched and attached to an entity in O3DE editor.
+
+<b>User Function</b>: A type of SC graph that has 2 special nodes: Entrance & Exit nodelings. User Functions are intended to give users a way to generate re-usable graph logic similar to a function in a standard programming language. When a valid User Function graph is created and saved it will appear in the Node Inspector under the 'User Functions' category.
+
+<b></b>
+### Workflow 1: Opening and configuring the Script Canvas Editor
+
+**Product:** 
+Visible and responsive Script Canvas editor.
+
+**Suggested Time Box:** 
+15 minutes
+
+| Workflow                                                            | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Things to Watch For                                                                                                                                                     |
+|---------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Launch and configure script canvas editor                           | *   Check different methods of entry to SC editor (tools menu, SC component, keyboard shortcut)<br>*   Verify default SC editor panes render and resize. panes can undock, dock back onto SC editor.<br> * Verify no rendering issues when panes are altered.                                                                                                                                                                                                                 | *   Script Canvas editor launch method does not work or does not launch quickly. <br> * Script Canvas Editor not retaining configuration settings on close/relaunch     |
+| Verify main Script Canvas window pane renders a script canvas graph | *   The main script canvas editor window should render a script canvas graph when a new or existing file is opened<br>*   creating or opening multiple files should generate multiple tabs in the main window<br> * Creating or opening several files should not impact script canvas editor's performance<br> * Modifying an existing file places am asterix in the graph's tab<br> * A drop down menu for file selection appears when enough script canvas files are opened | *   An asterix appears on the tab only if a change is made to the file<br>* You are always prompted to save a modified file when closing the tab                        |
+| Verify default SC editor tools                                      | *   Verify SC editor launches with the 5 default tools<br>*   Verify UI elements in each of the tools respond when clicked or dragged                                                                                                                                                                                                                                                                                                                                         | *   Script Canvas tools do not render properly<br>*   Tools become unresponsive after configuring them                                                                  |
+| Use basic Script Canvas graph controls                              | *   Open or create a new script canvas graph file and make sure the basic script canvas graph controls function when clicked or keyboard shortcut is used.<br>*   Check if a helpful tooltip is generated and rendered properly for each control.<br> * Tooltip does not go away prematurely<br> * Pan/Zoom on the script canvas graph and make sure graph renders properly                                                                                                   | *   Control does not respond or responds too slowly when used<br> *   Controls gray out under appropriate circumstances<br>*   Cannot interact with grayed out controls |
+| Use and observe minimap behavior                                    | *   Open or create a graph with multiple nodes<br>*   Dragging the minimap will pan the main script canvas graph view<br> * Switching between multiple files will update the minimap                                                                                                                                                                                                                                                                                          | *   The minimap does not render or update properly<br>*   Panning around the minimap does not cause the effect in in main editor window and vice-versa                  |
+|                                                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 
+
+### Workflow 2: Script Canvas Graph Basic Workflow Tests 
+Testing in this area verify basic functionality of script canvas graphs and more in-depth functionality of the default editor tools.
+
+### Project Requirements
+Any project with a new level. SC editor with the 5 basic tools enabled
+
+**Product:** 
+Script canvas graph files that produce verifiable outputs when attached to entities and run through game mode or interpreter
+
+**Suggested Time Box:**
+60 minutes
+
+| Workflow                                                                                                        | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Things to Watch For                                                                                                                                                                                              |
+|-----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Create and save a new script canvas graph with basic input and output                                           | *   Use any method to create a blank script canvas file.<br>    *   Use the node palette or right click context menu to add and connect multiple nodes.<br>    *   Create a logic sequence that will occur on graph start or on the activation of an entity<br>    *   Use the variable manager to create one or more new variables. Change a field on a node to a reference and use the newly created variable<br> * Click on a variable you created and use the Node Inspector to modify it. Change the name, default value and scope.<br> * Save the graph file and verify it functions as expected by attaching it to an entity and running the game or loading the graph in the Interpreter                                                                                                                                                                                 | *   Saving the file causes asset processor errors or warnings<br>*   Repeatedly running the game causes the graph to produce no results or inconsistent results<br>*   Console warnings or errors regarding Lua  |
+| Create a 2nd script canvas graph file and use a script event to make the two files communicate during gameplay  | *   Use the O3DE asset editor to create a new script event.<br> *   Add a new event to the script event asset. Give it a unique and recognizable name<br> * Add input parameters to the event and save the asset. Verify the file appears on disk<br> * Search the Script Canvas editor's node inspector for the new event asset. Verify that you can add a send/receive signal to a graph. <br> * Configure two or more script canvas files to send and receive signals from each other. Verify the communication with debug output or with more complex logic and game behavior <br><br><b> Examples: </b><br> * Attach a send signal to a timer node so every other second the receiving script changes a light's color. <br>* Send multiple different script events and a script canvas file that has different logic predecated on receiving each of the different signals  | *   Tool display issues/unusable portions of tool<br>*   Interactivity issues                                                                                                                                    |
+
+### Workflow 3: Script Canvas Graph Advanced Workflow Tests
+Tests in this verify more advanced core features of script canvas.
+
+## Project Requirements
+Any project with a new level. SC editor with the 5 basic tools enabled
+
+**Product:**
+Script canvas graph files that produce verifiable outputs when attached to entities and run through game mode or interpreter
+
+**Suggested Time Box:**
+60 minutes
+
+| Workflow                                                                          | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Things to Watch For                                                                                                                                                         |
+|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Create a user function and verify its input/output when called from another graph | * Use Script Canvas editor to create a graph file with enter/exit nodelings<br> * Place complex logic or entity behavior between the enter/exit nodelings. <br> * Give the graph file a unique recognizable name and save it<br> * Call the user function from another graph by finding it in the node palette or right click context menu <br> <br> <b>Example Functions: </b><br>  Two color parameters and returns a blended color<br> Entity parameter and returns the number of child entities <br> No parameters or output but triggers behavior. | * Recursive functions are <b>NOT</b> supported at the moment<br> * Modifications to the user function file should require scripts calling the function to also be modified. |
+|                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 
+|                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                                             |