Decision Elements allow you to express additional IVR logic visually in a CX Model, assisting with automatic test case generation. These elements can express complex IVR logic and allow for multiple scenario-based test cases to be generated from a single CX Model.
Decision Elements are designed to assist with the generation of test cases, a pre-formatted Data Set can either be uploaded before constructing the model, or generated automatically with place-holder data after the model is built. When generating test cases from a CX Model that contains Decision Elements, a test case will be built for each scenario that exists within the model. See the Decision Element Example for a demo that highlights how test case generation functions.
Note: Currently Decision Elements cannot be automatically discovered by the crawl function; Decision Elements must be manually added to CX Models. Also, model paths containing decision elements cannot be crawled either. Decision Elements and their related options also can not include Variables, Parameters or Choice tags. Parameters should instead be used as an Input above a Decision Element; see the CX Model Decision Element Example for more information on how this functions.
CX Models with Decision Elements require an attached and formatted Data Set, for more information on Data Sets, refer to the CX Model Data Sets article.
Note: Decision Element names should not contain special characters. (,&,<, etc.) as this can cause issues with Automatic Test Case Generation.
Adding a Decision Element to a CX Model
Adding a Decision Element is much like adding any other element type; you click on the + Icon underneath an existing element.
Select the Decision menu option and a decision element will be added with two template decision options. These options can be edited by clicking on the option element and editing the option element in the right hand side details panel.
You can add additional decision options using the details menus on the right hand side. The details panel allows you to also capture an All Else option. This represents all other cases not directly covered by an existing option to map out your IVR system logic. Options can be deleted by either right clicking on them and selecting Delete or clicking on the Trash Can icon in the right hand side panel.
Two decisions options can follow the same path as shown in the example below. To link a
decision with an outcome, click the link icon underneath the decision element, this
will display a list of options that you can connect to.
Deleting a Decision Element
Decision Element Example
In the below example, a demo CX Model with Decision Element has been built, highlighting how test case generation functions and how the attached Data Set is used to drive test cases. The CX Model here describes two decisions, both of which are using Data Driven Parameters: the Membership Level and the Order Shipped Status. This CX Model example highlights just one path of the Decision Element logic, but CX Models support having multiple Decision Elements with different outcomes within the same model.
- Listen to the welcome Menu.
- Enter a Membership Number of a "Gold" level customer.
- Listen to the order menu prompt.
- Enter a shipped order number for a "Gold" customer.
- Listen to the "Order has Shipped" menu.
The corresponding Data Set for the above example would contain the following columns and data; note the difference between the Decision columns and Input columns. (The example below is formatted as Column Heading = Data)
- {Decision} CustomerType = Gold
- {Decision} OrderStatus = Shipped
- {Input} MemNumber = 112233
- {Input} OrderNumber = 1234
The Data Set columns may contain tags to identify their purpose:
- {Decision} marks the column to be used for a decision and its options
- {Input} marks the column to be used for menu inputs to drive a CX Model path
- {Notification} marks that the column is there to provide additional information. Typically, a warning about missing data in the set
Starting with the CX Model above, a basic menu prompt first asks for a Membership Number input. This input is using a Parameter, just as how Data Driven Test Cases use Parameters (note the square brackets). A corresponding column with the heading of "MemNumber" must exist in the attached Data Set. For each row of data within the Data Set, a new test case will be generated.
Below is a test case that has been generated from the above "Gold + Shipped" scenario; here you can see how the Reply With field is using Data Driven Parameters to input Membership Numbers and Order Numbers.
The Data Set attached to the CX Model however has more data associated with it. This
{Input} MemNumber column is how the system will make the
Decision of which members are part of the "Gold" level in this testing scenario, the
{Decision} CustomerType column in this example. When you
automatically generate a Test Case Data Set, any decisions that do not have an
associated input will be automatically pre-filled with a ? mark to highlight
that there is missing data here. Below is the example Test Case Data Set for this
scenario example.
This Data Set can be downloaded in a CSV format and edited in Excel,
then re-uploaded to the Cyara Portal to replace the existing Data Set once
scenario data is filled in. The
Notification menu will appear if you have
missing scenarios in your Data Set that would prevent the generation of Test
Cases.
If you click on the link in the Source column, the element that doesn't have valid scenario data will be highlighted in your CX Model.
Comments
0 comments
Please sign in to leave a comment.