Bessere Dialoge mit digitalen Gesprächspartnern
Automatisierte Tests machen Sprachanwendungen effektiver und günstiger
10.09.2013 von gek
Zeit sparen mit automatisierten Tests: Forscher der TU Darmstadt entwickeln ein Werkzeug, das Software-Tests schon während des Schreibens der Software durchführt. Das erleichtert den Weg zu perfekt kommunizierenden Computern und beschleunigt die Programmierung von Sprachanwendungen wie Telefon-Banking als Methode des „Customer Care".
![Frau mit Telefon und digitalem Gesprächspartner. Bild: Patrick Bal](/media/daa_responsives_design/01_die_universitaet_medien/aktuelles_6/news_1/medien_news_aelter/news_medien_2013/Sprachsteuerung_870x0.jpg)
Mit einem Computer zu sprechen, ist nicht immer einfach: „Ich möchte 250 Euro anzahlen.“ „Wie möchten Sie bezahlen?“ „Mit meiner Mastercard.“ „Lassen Sie mich das kurz zusammenfassen: Sie möchten 315 Euro mit der Mastercard zahlen. Ist das richtig?“ „Nein.“ „Was habe ich nicht richtig verstanden?“ „Den Betrag.“ „Entschuldigung.“
Das neue Darmstädter Werkzeug mit dem kryptischen Namen „JVoiceXMLUnit“ kann solche Gesprächssenken verhindern helfen. „Die Alltagserfahrungen vieler Bürger mit Telefonieanwendungen sind eher mäßíg: selten trifft man auf wirklich überzeugende ,digitale‘ Gesprächspartner“, erklärt Prof. Max Mühlhäuser, an dessen das Testwerkzeug entstanden ist. „Der Boom mobiler Internetnutzung macht dieses Problem hochbrisant, weil man beim Gehen oder Auto fahren eigentlich liebend gerne sprachbasiert kommunizieren möchte.“ Fachgebiet Telekooperation
Testen per Knopfdruck
Das „klassische Vorgehen“ bei der Entwicklung moderner Sprachanwendungen – das Testen nach der Entwicklung – ist laut , in der das Werkzeug entstand, nicht mehr zeitgemäß. „Werden Fehler zu spät entdeckt, verursachen sie meist enorme Kosten. Mit unserem Tool können sie wesentlich schneller entdeckt und herausgefiltert werden – damit vermeiden wir außerdem unabsichtlich eingebaute Seiteneffekte, also Fehler, die entstehen, weil man an einer anderen fehlerhaften Stelle etwas verändert hat.“ Dr. Dirk Schnelle-Walka von der Arbeitsgruppe
Noch vor der Entwicklung der Software für eine spezifische Anwendung werden Testfälle, mit denen ein Dialog auf seine Funktionstüchtigkeit geprüft wird, mit dem jeweiligen Kunden durchgesprochen. Hierfür werden Dialogdurchläufe aufgezeichnet, aus denen dann Testfälle generiert werden. „Die Tests werden in die Entwicklungsarbeiten eingebunden und der Testablauf auf diese Weise systematisiert“, berichtet Schnelle-Walka.
„Die Software wird also schon während des Programmierens vollautomatisch und regelmäßig nach Programmierfehlern untersucht, die Verständigungsprobleme verursachen könnten. Für Sprachanwendungen kann damit zum ersten Mal eine testgetriebene Softwareentwicklung umgesetzt werden.“
Öffentlich und kostenlos
Zwar gibt es bereits vereinzelt solche Testwerkzeuge, doch eignen sich bisherige Lösungen laut Schnelle-Walka nur für sehr spezifische Anwendungen oder Software. VoiceXML dagegen, die standardisierte Computersprache auf der das Darmstädter Modell basiert, ist eine Beschreibungssprache, die sprachliche Interaktionen unterstützt. Für Sprachanwendungen ist sie noch immer die vorherrschende Sprache – vergleichbar etwa mit HTML, eine Computersprache, die zum Aufbau von grafischen Oberflächen im World Wide Web genutzt wird.
Das wiederum bringt mit sich, dass es keines hohen Aufwandes bedarf, das Testwerkzeug in aktuell existierende Softwaresysteme zu integrieren. Mit Blick in die Zukunft könnte sich JVoiceXMLUnit später auch für weiterführende Telefonie-Anwendungen eignen, z.B. durch Kopplung von sprachbasierten mit web- oder stiftbasierten Ein- und Ausgabeformen. Um die Entwicklung in diese Richtung voranzutreiben, wurde JVoiceXMLUnit als Open-Source-Software konzipiert, ist also für jedermann öffentlich und kostenlos nutzbar – und optimierbar.