Voll im Trend aber kaum getestet: TestMyBot tritt an, um Chatbots zu testen

TestMyBot ist das erste Open Source Automation Framework für Chatbots. Bei der Entwicklung haben wir das österreichische Unternehmen mit unserem Software-Testing-Wissen unterstützt. Wie genau die Anwendung funktioniert und wieso es ein Muss ist Chatbots zu testen, erklärt Florian Treml in diesem Gastbeitrag:

Chatbots sind voll im Trend. Im Netz findet man unzählige Artikel die sich mit der Entwicklung von Sprachbots befassen. Plattformen wie der Facebook Messenger oder die Slack API bieten die nötige Basis dafür.

Aus technischer Sicht gibt es dabei kaum Hürden zu überwinden. APIs und SDKs sind gut dokumentiert, sodass auch unerfahrene Entwickler Chatbots innerhalb von Tagen oder sogar Stunden launchen können. Für den Betrieb ist zudem kein eigener Server nötig, Heroku (auch in der free Version) oder AWS Lambda sind ausreichend.

Trotz alledem zeugen die meisten neu veröffentlichten Chatbots von schlechter Qualität oder sind sehr einfach gestrickt. Das folgende Airline Chatbot Beispiel zum Buchen von Flügen spricht Bände…

TestMyBot testet Chatbots auf Herz und Nieren

Die natürliche Sprachverarbeitung entwickelt sich

In Sachen User Experience versagen viele Chatbots, da das Level der Sprachverarbeitung noch sehr niedrig ist. Schuld daran haben nicht die Entwickler, vielmehr sind aktuelle AI Plattformen mit den Fähigkeiten eines Menschen einfach nicht vergleichbar. Das wird sich in den nächsten Jahren aber gewiss ändern.

Qualitätssicherung… ein MUSS!

Die schlechte Qualität der verwendeten APIs ist keine Entschuldigung um auf State-of-the-art Qualitätssicherung in Chatbot Projekten zu verzichten. Qualitätssicherung ist ein MUSS!

Randnotiz: Viele Chatbot Entwickler sind sehr jung und bringen vermutlich wenig Erfahrung mit großen Software-Entwicklungsprojekten mit. Das könnte ein Grund dafür sein, dass der Bedarf zu testen oft sträflich vernachlässigt wird.

TestMyBot – Automatisiertes Testen für Chatbots

TestMyBot ist ein Automations-Framework für Chatbot Projekte und völlig unabhängig von den eingesetzten Entwicklungswerkzeugen. Und das Beste: TestMyBot ist free und Open Source. Testfälle werden mit Hilfe von Capture & Replay Tools aufgezeichnet und können wieder und wieder automatisiert den Chatbot testen. Ähnlich wie Unit Tests ist TestMyBot dafür ausgelegt, nahtlos in die vorhandene Continuous Integration Pipeline des Projekts integriert zu werden.

Ein einfaches Anwendungsbeispiel könnte ein Mathe-Bot sein (zB. ein wissenschaftlicher Rechner), basierend auf dem Facebook Messenger und einer CI Pipeline in Codeship.

Nach dem Aufzeichnen der Testfälle und der Integration in die CI Pipeline haben wir folgendes Ergebnis:

  • eine ganze Testsuite aus Konversationen, die der Chatbot verarbeiten kann
  • eine Codeship Pipeline, die mit jedem Push auf Github getriggert wird
  • ein Test-Runner (TestMyBot), der die Konversationen mit dem Bot führt
  • ein Test-Report, der erfolgreiche und fehlgeschlagene Konversationen ausweist
  • Das Beispiel findet man übrigens auch auf Github.

Zusammenfassung

Es gibt sehr viele Tools zur einfachen und raschen Entwicklung von Chatbots. Auch der Betrieb stellt keine großen Probleme dar. Die existierenden Werkzeuge zur Qualitätssicherung und Automation von Testfällen lassen sich hingegen nur sehr schwer für Chatbot Projekte adaptieren. TestMyBot füllt diese Lücke und spielt seine Stärken in der Zusammenarbeit mit CI Services wie Codeship aus.

About Sarah

    You May Also Like