Extract Concept
Extract Concept is the feature that allows users to create a higher level of abstraction in the business intent of the test. You can read more on the use of this feature and see an example here. This section will explain how you can create, modify and delete a concept.
Using this feature, you can create a "concept" from a sequence of logically related business workflow steps. This concept can then be reused at any place in the test suite.
Extracting a Concept
Concepts can be extracted from an existing business workflow. Choose the steps you would like to extract as a concept (by highlighting them), right click and choose "Extract Concept".
In the following dialogue box, enter the name of the concept, including any parameters, as they are stated in the steps. In This example, I am extracting the first 4 steps of the workflow "Fund Transfer Communication". Transferring funds is a basic action in any banking application, and I wish to create a concept, instead of writing the steps involved in a successful transfer.
While naming the new concept, to ensure any of the parameters in the steps are used as parameters in the concept, use "" (quotes) to indicate your parameters, and ensure the parameters have the same data as entered in the step. In the above example, this would mean "500", "SCB007" and "CIT090", which have to be entered exactly as they have been used in the steps.
An extracted concept will appear with a
as the icon
in the scenario editor.
Note: When you extract a set of steps as a concept within a scenario, Twist will automatically replace all scenarios where these set of steps occur with the new concept. Read more about Propagation of Extracted Concepts
You can also created nested concepts, which will help you take existing concepts in Twist and create another level of abstraction. Read more about Nesting Extracted Concepts
Using an Extracted Concept
Using an extracted concpet is quite similar to using any other workflow step in Twist. Simply start typing the name of the extracted concept you wish to use and the content assist (Ctrl + Space) will help you pick the right concept.
In the following example we have used the concept which was extracted in the example from the previous section in the Twist Scenario, "Direct Bill Payment". In this scenario, there are two workflows being tested. One, testing the transfern of funds from an account directly to the "City Council" towards utility bills and two, testing the transfer of funds to the "Phone Company".
The concept being used, transfer "128" from "AMD121" to "CityCouncil", has been used in different situations. Also, the screen shot shows how the content assist gives you details of the concept.

Modifying an Extracted Concept
Once a concept has been create (described above), you can modify it in the following ways:
- Add workflow steps
- Rephrase
- to more accurately describe the business function being tested.
- to include additional parameters - either because a new step has been added to the concept or because you wish to parameterize further.
In case you need to add steps to the Concept, right click on the concept and choose "Navigate to Code" or hit "F3". Twist will navigate to the underlying steps of the concept. You can add workflow steps here, like you would in any Business Workflow.
Main reasons to rephrase a concept:
To rephrase a concept, click on the concept, right click and choose "Rephrase the step"
Consider the example of fund transfer used above. We presently have a concept, with the following steps

Assume you have made some changes to your application, to include the type of account of you would like to transfer form. Using Twist, you can refactor your workflow step to include that, and now the concept would look like -

Since the steps in the concept have been changed, we now rephrase the concept to include "savings"
as a parameter.

The rephrase will ensure that all other occurrences of this concept are automatically updated.
One may also navigate into the concept and rephrase it from within, after adding steps by right clicking within
a Concept Editor and selecting "Rephrase the open concept" from the menu.


Propagation of Extracted Concepts
What does Propagation of Extracted Concepts mean?
When a sequence of steps is extracted into a concept, all occurrences of the same sequence of steps across the entire Twist project will be replaced with the concept. These include steps occurring within other concepts as well.


Conditions Where Propagation Does Not Occur
There are certain conditions where propagation will not occur.
Propagation will not work on the same sequence of steps that exist across different fixtures


Propagation will not work on similar steps that contain a different number of parameters from the original sequence


Propagation will not work on steps that contain different values for parameters that are constant in the concept.


Propagation will not work on steps that contain the same parameter value pattern[A picture is worth a thousand words].



