Hi @jabberlope! I think you will struggle to be able to use a TDD-based approach because it is really hard to anticipate how users will use your bot and for you to know everything in advance. I think you will be better off designing its capabilities and then getting it in the hands of real people as soon as possible.
The way I would approach it is by coming up with a dozen or so utterance examples per intent and some stories that you think users will follow. Then, I would use the
share your bot feature in Rasa X and get your friends/coworkers to play around with the bot. From there, you can review the real conversations they have with it, correct any NLU or Core mistakes, add them to your training data, and retrain your model.
Once it gets good enough, then you can follow this same process with real users. I personally think automated testing is more important as a way to ensure that as you add more and more training data, you do not end up with regressions. I would also recommend checking out End-to-End Evaluation in the Rasa Docs