1
votes

I have just started working with the IBM Conversation service on Bluemix. Typically, when setting up projects I will also set up a delivery pipeline. Usually, the process is automatic until the solution is deployed to a test environment and the last step, deploy to prod, is done manually.

I have a couple of questions for how the Conversation service fits into this. As far as I know the service has just 1 endpoint, which is for sending a message to it. How can I programmatically do things like deploy a test instance to prod?

Another question is regarding testing of the conversation itself. If I add dialog-nodes/intents/entities, I would like to ensure the service is still able to answer all my previous configured questions. Ideally, I would like the conversation developer to be notified while doing changes if something breaks, but somewhat less frequent is also acceptable. The changes in the service is not coupled with the app code changes, so you can, but it does not really make sense to me to test the service while the app pipeline is running either. My question is: Are there best practices for doing automated testing of the conversation service?

1

1 Answers

0
votes
  1. The Watson Conversation service supports multiple instances of a trained conversation, each with a "workspace" id. An instance of an app points to a workspace ID. Deploying the app from one node to another will "deploy" that conversation workspace instance along with the app promotion.

  2. The conversation service has versions. You can specify which version your app should use in your app environment. If you don't change that, you won't get changes to the service, even if they are available, until you change that. If you learn that the service has been updated, you can change the version in your app in the dev/test environment and run your tests before it ever goes to prod.