Testing
Home → Testing
Testing Strategy
Our testing strategy followed two main principles:
Our development process for the chatbot was such that we aimed to deliver minimal functionality first, before elaborating on features for greater depth. This meant that we developed features in an AGILE sprint process:
This meant that at any point in development, our goal was to have our chatbot fully functional if deployed, even if lacking in features or depth. Thus, testing every addition was crucial, ensuring that the bot behaved both as expected, without bugs or errors.
Version Control
We made good use of Voiceflow’s version history feature to provide a thorough history of each addition which could be easily rolled back at a later date if issues arose. Because the versions on our free plan could only be stored for 30 days however, we had to ensure that bug fixing was a priority before moving forwards, and issues were resolved in a timely manner.
Coverage Testing
Since the PRIDAR chatbot has many branches, involving lots of integrations, computation, and logic along the way, it was important that we tested every possible outcome thoroughly, to avoid undesirable user experiences.
Integration Testing
To test our deployment, we mainly used Voiceflow’s web app, which upon completing a conversation or encountering an error generated a transcript of it for review, with debugging information at each step. This proved invaluable in understanding what went wrong, particularly during custom code execution or API requests, as Voiceflow’s designer UI lacked IDE error checking functions such as syntax highlighting.
Once deployment to Telegram was implemented, we treated this as the last step in our testing, after checking in Voiceflow’s web app that every branch passed it’s test based on possible inputs. While our Telegram bot lacks the transcript feature of the Voiceflow web app, this test was simply for integration purposes, so we never encountered any bugs in our Telegram deployment which weren’t spotted in our previous rounds of testing.
