# Managing journeys
Journeys represent end-to-end user flows against your application.
Each journey, generally consists of some interactions that take you from the starting point A to a target point B, and some validations along the way. We call each of these actions a step, and you can separate these actions by checkpoints.
In the previous section we saw how Virtuoso can generate these journeys for you, but what if you want to create your own journey?
# Creating new journeys
The journeys tab of the goal view on the left-hand side of the screen lists all the journeys you have in your goal.
To create a new journey, click on
Add a journey positioned at the end of the journey list.
This will open up the form to name a new journey. After choosing the name, click on save and you will be redirected to the newly created journey.
# Publishing a journey
Creating new journeys often involves tinkering and envisioning how to best represent an end-to-end user flow. To make this less intimidating, newly created journey are created as draft, meaning that they will not be executed when you execute the whole goal, until you publish them. This allows you to freely build your journey, and only once you're happy with it, you include it in your goal's set of tests.
Once you have created your journey and you think it is ready to be included in your goal (described in Adding checkpoints and test steps), you can publish the journey by clicking the publish button on top:
Tip: Code review for tests
One practice that can help with the completeness and quality of your tests, is to seek a review from your colleagues/manager, before you publish a journey.
You can even leave the decision to publish a journey to your manager or colleagues. From the goal settings under
Manage, project managers can enforce rules that allow only managers to publish journeys in the goal.
# Tagging journeys
As you create more journeys, you may wish to organize them in various ways.
For example, some journeys may target a specific feature, some may target a specific user action, some may be part of your core smoke testing pack, some relate to a test specification in a JIRA ticket ID, etc.
We find the best way to organize our tests is through tags. You can tag your journeys in bulk or individually, and you can tag them with anything you want. You can then filter, view their status, and re-execute them simply by their tags. We will cover this in more details on the Journeys Dashboard.
# Journey summaries
It is often difficult to understand what a journey is doing at a glance, introducing an extra layer of work when maintaining your journeys.
To solve this problem, journeys have a summary section, which can show a short description of what your journey does.
To start creating a summary for your journey, click the create a summary button on the right-hand panel of the journey editor.
# Generating a summary
Manually writing summaries for many existing journeys would require a lot of effort.
To help with this, you can use the generate summary button, which automatically generates a summary for your journey from its contents!
While our generative AI strives to be helpful, it may occasionally generate summaries with minor errors. Please review its output and make any necessary adjustments.
Once you've reviewed the summary, and are happy with it, click save changes. You and your colleagues will now be able to see this summary on the right-hand panel of the journey view.
# Updating existing summaries
If you want to update an existing summary, you can do so at any time by clicking the edit journey summary button.
Here, you can:
- update the existing summary;
- generate an entirely new summary; or
- clear the summary altogether.
Note that changes to your summary (including generating a new summary) will not be saved until you click the save changes button. If you prefer the old summary, you can keep it by closing the summary editor without saving.
Other uses of journey summaries
You could also add other information to a journey summary, for example:
- Notes on additional steps that need to be added to the journey;
- Pre-conditions for the journey (e.g. if another journey needs to be executed first);
- What environment the journey should target.
Now that we have some journeys, in the next section, we will look at executing them.