How to Test a Chatbot — Part 2: Superpowers for the testers

Handmatig vs. automatisch testen:

  • Handmatig testen voor validatie (hebben we het juiste gebouwd? Conform requirements?)
  • Automatisch testen voor verificatie (hebbenwe het op de juiste manier gebouwd? Conform design?)

Handmatig testen

Ontkom je niet aan. Crowd testing, exploratory testing, A/B testing. Zou er zelf nog aan willen toevoegen: taalkundige naar laten kijken, veel botfouten zijn terug te voeren op relatief bekende taalkundige principes (coherentie, cohesie, logica).

Source: How to Test a Chatbot — Part 2: Superpowers for the testers

How to Test a Chatbot — Part 1: Why is it so hard ?

Drie redenen:

  • Learning cloud services: je hebt nooit een standaard baseline waartegen je test als je gebruik maakt van NLP/NLU/andere zelflerende algoritmes.
  • Testdata wordt onderdeel van je learning set, dus als je teveel false positives of andere niet-representatieve data voert, beinvloed je daarmee de kwaliteit van je bot.
  • Input is niet eenduidig: je kunt nooit alle mogelijke input voorspellen; iedere gebruiker is anders. Mogelijke input is oneindig.
  • Geen barriere tussen gebruiker en systeem: GUI beperkt input aanzienlijk (knoppen, hyperlinks, predefined interactiemogelijkheden. Tekstinput is in basis ongelimiteerd: iedere input moet in wezen worden afgehandeld. Ook grammaticale onzin, onvolledige zinnen, of semantisch ambigue input.

Ontwerp testcases dus met onverwachte scenario’s in het achterhoofd:

  • onzinzinnen (goedemiddag, welke informatie zoekt u? – “Appels en peren”)
  • onvolledige input (goedemiddag, welke informatie zoekt u? – “Treinen”.
  • ambigue informatie (goedemiddag, welke informatie zoekt u? – “Ik wil met de fiets met de trein”.

Source: How to Test a Chatbot — Part 1: Why is it so hard ?