فهرست منبع

updated and reformatted the doc.
removed workflows from one table. added them to a new table
added new workflows to existing tables

Signed-off-by: Michael <[email protected]>

Michael 3 سال پیش
والد
کامیت
4a26577ea6
1فایلهای تغییر یافته به همراه39 افزوده شده و 17 حذف شده
  1. 39 17
      testing-guidance/workflow-tests/scripting/script-canvas-tests.md

+ 39 - 17
testing-guidance/workflow-tests/scripting/script-canvas-tests.md

@@ -24,7 +24,7 @@ Test guidance will sometimes note specific issues to watch for. The common issue
 <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>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>
 <b></b>
-### Workflow 1: Opening and configuring the Script Canvas Editor
+### Area: Opening and configuring the Script Canvas Editor
 
 
 **Product:** 
 **Product:** 
 Visible and responsive Script Canvas editor.
 Visible and responsive Script Canvas editor.
@@ -32,16 +32,38 @@ Visible and responsive Script Canvas editor.
 **Suggested Time Box:** 
 **Suggested Time Box:** 
 15 minutes
 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                                                            | 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                                                                           |
 
 
-### Workflow 2: Script Canvas Graph Basic Workflow Tests 
+
+### Area: Default Script Canvas Editor tools
+
+### Project Requirements
+SC editor with the 5 basic tools enabled
+
+**Product:** 
+N/A
+
+**Suggested Time Box:** 
+30 minutes
+
+| Workflow                                                            | Requests                                                                                                                                                                                                                                                                                                                                                                                              | Things to Watch For                                                                                                                                                                                                                               |
+|---------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| 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                                                                                            |
+| Create a variable node with Variable Manager                        | *   Use Variable Manager to create a variable of any type.<br> *  Modify the properties of the variable.<br> * Drop the variable off the variable manager list onto a graph.<br> * Drag the variable off the variable manager list onto a node's input/ouput field (same type). <br> * Convert a node's input/ouput field to a reference and drag/select variables from the variable manager onto it. | *   Variable properties do not update when modified.<br> * Variable manager list refreshes and updates properly when variables are created, deleted or modified.<br> * Node Inspector updates when variables are selected in the Variable Manager |
+| View and Modify a node with Node Inspector                          | * Click a node on the graph and verify its fields and values are displayed in the Node Inspector.<br> * Verify that the values can be modified through Node Inspector.<br> Verify Node Inspector updates when different nodes or variables are selected. <br> * Select multiple nodes at once and see how they are reflected in Node Inspector.                                                       | *   Fields are properly labeled in Node Inspector. <br> * Changes made through Node Inspector are reflected on the node and vice-versa.                                                                                                           |
+| Create a graph validation error and warning                         | *  Drag several nodes onto a fresh SC graph. Run validation on the graph to verify warnings are generated and nodes are highlighted. <br> * Connect nodes and run validation to verify that warnings are no longer generated.<br> *                                                                                                                                                                   | * Highlighting & Dimming of failing nodes not updated.<br> * Warnings and errors not removed when issue is resolved.<br> * Conditions that produce an invalid graph do not trigger a warning or error.                                            |
+| Use the Node Palette to find node types                             | *   Search the Node Palette for a specific node type.<br> * Use the scrolling view controls to browse nodes.>br> * Drag a node off the palette onto a new SC graph.<br> * Use right click context menu on a SC graph to search & browse for nodes. <br> *   Mouse over a node in the palette to display a tooltip                                                                                     | *   Node palette renders properly when entering/deleting text in search field.<br> * Node categories can be expanded and collapsed.                                                                                                               |
+
+
+**Product:** 
+Visible and responsive Script Canvas editor.
+
+### Area: Basic Script Canvas graph tests 
 Testing in this area verify basic functionality of script canvas graphs and more in-depth functionality of the default editor tools.
 Testing in this area verify basic functionality of script canvas graphs and more in-depth functionality of the default editor tools.
 
 
 ### Project Requirements
 ### Project Requirements
@@ -58,7 +80,7 @@ Script canvas graph files that produce verifiable outputs when attached to entit
 | 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 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                                                                                                                                    |
 | 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
+### Area: Advanced Script Canvas graph Tests
 Tests in this verify more advanced core features of script canvas.
 Tests in this verify more advanced core features of script canvas.
 
 
 ## Project Requirements
 ## Project Requirements
@@ -68,10 +90,10 @@ Any project with a new level. SC editor with the 5 basic tools enabled
 Script canvas graph files that produce verifiable outputs when attached to entities and run through game mode or interpreter
 Script canvas graph files that produce verifiable outputs when attached to entities and run through game mode or interpreter
 
 
 **Suggested Time Box:**
 **Suggested Time Box:**
-60 minutes
+120 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. |
-|                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 
-|                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                                             |
+| 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.                                                               |
+| Generate and modify translation data                                              | * Generate translation data for nodes.<br> * Modify the translation data and verify that the modifications are reflected in Script Canvas editor.<br>                                                                                                                                                                                                                                                                                                                                                                                                   | * Generating translation data does not cause performance dips.<br> *Non-english characters render properly in SC graph. <br> *                                                                                                            |
+| Use groupings and annotations to organize a graph.                                | * Place groupings on a graph.<br> * Add and remove nodes to the groupings. <br> * Place annotations on the graph. <br> * Change the size and positions of groupings and annotations. <br> * Use Node Inspector to modify the test and format of groupings and annotations.                                                                                                                                                                                                                                                                              | * Groupings and annotations not rendering when placed on the graph. <br> * Nodes not "Sticking" to a grouping when size or position is changed. <br> * Modifications to groups and annotations not maintained when graph is saved/loaded. |