Challenges in testing ChatBots


        This is the second article on ChatBot Testing. Here is the first article which introduces the chatbots in general and details out why should we test chatbots.

        Chatbots are different to other applications in several ways as listed below which makes them challenging to test and measure the quality.

Self Learning Systems

        Chatbots are built using AI and NLP services and keep learning and improving on their own. This makes it highly unpredictable whether a test case has failed due to the defect or if its improvement. One cannot have the traditional style of testing and write test cases with expected output. Remember, the test data used itself can be used by the bot to learn and update its behaviour, the negative testing may have an impact on the bot !!

Non-linear input

         Voice based chatbots use the speech recognition technologies to convert the voice to text. Chatbots are heavily dependent one such solutions. Along with the dependency comes testing the accent, type voices, speech clarity and speech with background noises(say a song playing in the background or a TV program running in the background J). How does the bot handle such complicated inputs.

 

Error handling

         Ability to test and determine what is out of context and how should an unexpected user input should be handled. This would involve the domain knowledge and the context testing together. For example: Architecture in construction based business would mean different than an IT business.

 

Endless conversational patterns

        Due to the nature of human language it is impossible for software tests to cover all possible situations. This may include the  native jargons used, spelling mistakes, out of context to what bot is designed for and switching between the contexts in the conversations.

 

 

 




Comments

Popular posts from this blog

Cross Browser testing for React Apps

Fixing the appium installation with NPM