Testing Programs/AOs - Program Design Testing


Hi,



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. :) 



Thanks

Abhishek S

13 replies

Badge
Hi Abhishek



This is of great need. Wondering why you are not considering using a similar approach to rules: we pick that this should execute NOT IN PRODUCTION: then clearly, the steps we are about to go through are simulations and cannot issue an email by mistake.



Also, in simulation mode, do the delays get skipped to accelerate the testing?



Lastly, it have been relabeling my mail sends with an appropriate short description which helps reference when troubleshooting and monitoring long multi step mail chains. I opened an enhancement request for the same with conditional waits which would be of great value at both levels - to easily be situated when looking at the chain level as well as when digging into the step.



Thanks 
Hi Diane,



Yes. You will have the ability to skip the delay timer steps as you are doing the test run.



With respect to description for email steps and conditional wait, there is one more thread for this - https://community.gainsight.com/gainsight/topics/annotating-notes-on-journey-orchestrator-configurat... We will address this in the future.



Thanks

Abhishek S
Badge +3
This looks amazing!  But while we're testing - we're often meet with two testing options.  The quick way - which we just need to make sure that it works so we can get it out the door.  And then the slower way - which allows us to actually go through and analyze each step.  Similar to what it looks like in the original post.  [It could be the headache - but it looks like there are a lot of 'steps' to test a Journey.]



I found the post today - because I'm testing out a new Journey that includes a few more steps than I have typically done in the past.  And there is no way for me to fully test it - without Publishing it and sending it to everyone.  Or as stated - creating a small user list - and cloning my Journey.



I'm looking forward to reading everyone's feed back on this!  It's greatly needed!  [Especially for us newbies! :)]


Userlevel 6
Badge +2
I like where it's going, but I'm not sure about having to test each step and it not being 'live' test data, ie, I can get to the email step and decided whether to send an email or just preview it in the screen. And to Sagan's point, this could be a lot of manual checking if the programs have a lot of decision steps and branching.



I can see the value in it, but I hope the option will exist to be able to just test a draft program with an uploaded list that has the various conditions already outlined, and confirm externally what behavior functioned as expected for the test contacts. This is hard to do with test email addresses that are not Salesforce contacts, therefore not in Gainsight. 
Thanks for sharing your feedback. I do think the above approach of step by step test run is one mode and we will need one more way of doing a test run where it is just about uploading and testing the program as it is and see how the journey is executed and then once the admin is comfortable with the design , configure the actual sources and then make it live(publish) the program.
Userlevel 4
Badge +1
Hi Abhishek, is this still being considering for a future release? I'm in the process of creating a new program with a number of steps and conditional waits. It would be great to be able to easily test and confirm that it will behave as expected. As others have mentioned, currently the only way to do so is to clone programs and use a smaller test set of participants.


Userlevel 7
Badge +3
@abhishek_sivaraman


Badge
This is a GREAT NEED for us. We're adopting Programs more and more and the current way of testing programs is time consuming and cumbersome. It would be amazing to get this testing design/process up and running ASAP.


Agreed. This would be huge for our program and we would really like to see this as well.


Userlevel 2
Badge

This is a great start!  In your conditional wait step 6 above will we also be able to change the values in each of the A, B, and C conditions that are based on data, in addition to changing the main condition?  That is what we’re looking for.  thanks

Definitely need this functionality, especially when using complex queries to generate participant lists based on ancillary data, as well as calculated fields based on other data values to dictate paths through the program. A step debugger with the ability to inject values would go a long way to allow proper JO program testing.

Userlevel 4
Badge +1

Is this still on the roadmap?

Userlevel 6
Badge +9

Any news on this? Proper preview or proper testing are absolutely required.

Reply