We are looking at introducing the ability for helping admins do a test run of a program. There have been several threads
discussing on the same and several aspects to this.
The problem we are trying to solve is as follows -
The journey designer configures a complex program spanning several steps and finishes the mapping and also syncs the source or has an idea of the fields he wants to bring in from the source.
The designer wants to see whether the journey works as per the configuration and wants to do a "Test Drive" with a sample participant and wants to walk through the journey.
Currently , there is no easy way to do this without involving cloning of programs and multiple configurations. This has been a recurring pain point which we want to address.
PS - This thread is about the program design and helping the designer in evaluating if the individual steps configured in the program are working as per expectations for the business case you are trying to solve.
Testing of a program also involves testing of the various sources and the participants. This use case does not attempt to solve that problem . For testing the source sync of the configured bionic query , we will have a separate thread and discussion.
Keeping that in mind, I will walk through an example flow of what we are thinking about -
1. Consider a program which is configured as below and the admin wants to do a test run -
2. When user clicks on start button, the user will have the option of selecting a participant (if sync has already happened) or add participant manually. The form shown below will capture the user inputs for manual addition of participants.
3. After participant added, test run begins. As you can see below , the designer will have the option to preview the Email Step or Skip the Step.
4. When user clicks on Preview, the user will be able to see the preview of the email and the designer can choose to send the email and actually test the email delivery or choose to skip and continue.
5. Participant continues to Conditional Wait and user input is needed here to decide the path the participant needs to take.
6. User selects the input for the condition in conditional wait. For example, we want to test the flow for whether or not email was opened and the user has decided that for this test run , he/she want to test the Email Opened = Yes path.
7. Based on above conditional wait, since the overall condition is evaluated to False, the participant goes to else path based on CW condition evaluation
Similarly , the participant continues throughout the journey until the end of the program.
[i]We are looking for feedback on the above proposal and guide us with respect to whether the above approach will meet the use case of Testing program design. [i]Are there any other use cases which you felt we have missed?
As we are in the early stages of this design, things might become flexible in the future based on other considerations or use cases. :)