Besonderheiten im Testmanagement von Sprachbenutzerschnittstellen (VUI)

Beim Testmanagement von Sprachbenutzerschnittstellen zeigen sich im Softwaretest mehrere Heraus­for­derungen. Es gibt Unterschiede zwischen dem Test von Sprachbenutzerschnittstellen und grafischen Benutzerschnittstellen. Dies liegt vor allem an der Vielfalt der Eingabemöglichkeiten durch gesprochene oder geschriebene Sprache. Außerdem ist nicht klar, wie die Genauigkeit von Sprachbenutzerschnittstellen gemessen werden kann. Zur Beseitigung dieses Umstands sind von vornherein Anforderungen und Abnahmekriterien bestimmt werden. Zusätzlich ist es schwierig, geeignete sprachliche Äußerungen für einen Test finden, der die Breite der sprachlichen Möglichkeiten umfasst. Schließlich ist zu klären, wie Tests mit der Vielfalt an Äußerungen so automatisiert werden können, dass sie wertstiftend und risikoorientiert sind. Diese Punkte werden in diesem Artikel beschrieben und es werden gleichzeitig Lösungsmöglichkeiten gezeigt.

2       Softwaretests und die Anforderungen von Sprachbenutzerschnittstellen

2.1     Werkzeuge zur Qualitätssicherung in der agilen Softwareentwicklung

Anforderungen in agilen Entwicklungsteams sind beschrieben durch:

Die Anforderungen an die Software werden durch das Team aus Kundensicht beschrieben und in Benutzergeschichten notiert. Gleichzeitig werden Akzeptanzkriterien und die Definition of Done notiert und werden zu Anforderungen.

2.2     Testausführung an Sprachbenutzerschnittstellen

Für Sprachbenutzerschnittstellen (VUI) gibt es Unterschiede bei der Eingabe. Die Geschwindigkeit der Spracheingabe hat einen Einfluss auf die Genauigkeit der Spracherkennung genauso wie die Lautstärke, die Artikulation oder die Tonhöhe. Das entscheidet über Erfolg und Fehlschlag der Eingabe und somit der Applikation.

Zwar entstehen bei Texteingaben auch Schreibfehler, in meiner Erfahrung werden diese jedoch weniger stark empfunden als die Abweichung. Schreibfehler werden eher den Benutzern zugeordnet, werden Spracheigenarten unzureichend in Text übertragen, wird das der Applikation angelastet.

3       Testäußerungen für Sprachbenutzerschnittstellen finden

3.1     Sprachkompetenz und Sprachstil für Testdaten einbeziehen

Die genannten Einflussgrößen wirken sich ebenfalls auf die Zusammenstellung von Testdaten aus. Testdatensätze sollen möglichst alle Einflussgrößen repräsentativ abbilden. Dabei entsteht die Herausforderung, dass die Verteilung der Einflussgrößen in der Zielgruppe im Allgemeinen nicht bekannt ist. Da die Gewichtung der zu betrachtenden Parameter bei der Testpopulation und bei der Population im Feld sich unterscheidet, sind Abweichungen der Erkennungsgenauigkeit zu erwarten. Als verpflichtende Parameter für die Auswahl von akustischen Testdaten sind diese Einflussgrößen zu beachten.

  • Geschlecht
  • Regionale Herkunft
  • Alter
  • Bildungsabschluss

Die Beachtung dieser Kriterien ermöglicht die Teilhabe möglichst aller Bevölkerungsgruppen an der Sprachapplikation. Dabei sind einige dieser Parameter vor der Erfassung der Testdaten definierbar, während andere erst bestimmt werden können, wenn die Aufnahmen vorliegen. Sollte die gewünschte Verteilung der Parameter nicht getroffen sein, sind zusätzliche Aufnahmen erforderlich, sodass schließlich im Testkorpus die angenommene Verteilung der Einflussfaktoren vorliegt.

3.2     Herangehensweisen zur Erzeugung von Testäußerungen

Die Durchführung von Softwaretests ist so gut, wie die Unvoreingenommenheit der beteiligten Personen. Das Ziel von Softwaretests ist der Nachweis von Softwarequalität. Daher stammt der Grundsatz „Tests schaffen Vertrauen.“ Gleichzeitig wird während der Testdurchführung erkannt, welche Abweichungen zur geforderten Softwarequalität bestehen. Dafür müssen für die Erzeugung von Testdaten weitere Parameter berücksichtigt werden, damit die Voreingenommenheit des Testteams sich nicht in den Testäußerungen widerspiegelt.

Für eine vollständige Abdeckung dieser Variablen multiplizieren sich die in Frage kommenden Einflussgrößen Syntax, Artikulationsvarianten und Anzahl der Sprachstile. Die Varianten können sowohl im Labor, durch freie Feldstudien oder durch die Vorgabe von Anwendungsszenarien in Feldstudien gewonnen werden.

Egal auf welche Art die Testäußerungen gewonnen wurden, es sind Nachbereitungen erforderlich. Die gewonnenen Aufnahmen sind abzuhören. Dabei sind sie korrekt zu verschriften, die Metadaten zu einer Testäußerung wie Sprache, Alter, Artikulation usw. sind zu notieren und die für den Einsatzzweck gewünschten Erkennungsergebnisse festzuhalten. Dieser Aufwand multipliziert sich für jede zu gewinnende Sprache.

3.3     Testmethodik für Spracherkenner auswählen

3.3.1    Statische Testtechniken

Für die Softwaretests ist zu klären, ob statische oder dynamische Testtechniken anzuwenden sind.

Für statische Testtechniken  stehen formale oder informelle Code-Reviews und Prüfung der Dokumentation und der Dokumente im Fokus. Hier gibt es keinen Unterschied zu Softwaretests von grafischen Benutzerschnittstellen. Vgl. https://www.software-testing.academy/software-testing-methoden.html

3.3.2    Dynamische Testtechniken

Bei dynamischen Testtechniken wird der Prüfling ausgeführt, auch hier gibt es keinen Unterschied zwischen grafischen Benutzerschnittstellen und Sprachbenutzerschnittstellen. Die Spracherkennung kann in unterschiedlichen Integrationsstufen ausgeführt werden.

Zunächst können Spracherkenner interaktiv mit Einzeläußerungen geprüft werden. Das ist in der Entwicklungsphase, als Unittest und auch für spätere Testphasen möglich. Dabei ergibt sich während der Ausführung oft ein eher empirisches Vorgehen im Test.

Weiter gibt es die Ausführbarkeit mit verschrifteten Eingaben. Dabei werden Textdateien mit unterschiedlichen Formulierungen zur Prüfung von Erkennungsmodellen genutzt. Die Erkennungsergebnisse zeigen anschließend, welche Hypothesen das Sprachmodell erkannt hat. Damit können Abweichungen auf syntaktischer Ebene noch feiner herausgefunden und regelmäßig geprüft werden. Weil die Textdateien als Korpus vorliegen, können mit diesen Tests Qualitätsveränderungen nachgewiesen werden. Da geschriebene Sprache schneller zu verarbeiten ist als gesprochene, können Tests so rasch und kostengünstiger als mit Audioaufnahmen durchgeführt werden. Es ist zu klären, ob der eingesetzte Spracherkenner mit geschriebenen Texten umgehen kann.

Schließlich können Sprachaufnahmen vorgespielt werden. So können größere Sammlungen von Audioaufnahmen einer Instanz des Spracherkenners übergeben werden. Die Erkennungsergebnisse werden gleichzeitig protokolliert. Die automatisierte Durchführung ist für Freigabetests und Regressionstests geeignet, um die erreichte Qualität darzustellen.

Diese Testtechniken sind sowohl mit dem Endgerät oder auch an der API der Spracherkenner aufsetzbar.

3.3.3    Nicht-funktionale Tests

Nicht-funktionale Tests prüfen für unterschiedliche Integrationsstufen das Lastverhalten der Spracherkennungen und der Sprachausgabe.

Die Fähigkeit mehrdeutige Ausdrücke, zumindest in der gewählten Domäne wahrzunehmen und adäquat zu reagieren.

Besonders Merkmale der Softwareergonomie sind in den nicht-funktionalen Tests zu berücksichtigen. Dabei sind Selbsterklärung, Hilfestellungen, Erwartungskonformität und Fehlertoleranz besonders im Fokus. https://www.controlling21.de/ergonomie/theorie/grundlagen/software-ergonomie.htm

Die Robustheit der Spracherkennung mit Hintergrundgeräuschen, mit ungewöhnlicher Artikulation und sind regelmäßig einzuplanen.

Regulatorische Rahmenbedingungen für den Ablageort von Applikationsartefakten ist zu prüfen.

4       Testdurchführung bei Sprach­benutzerschnittstellen

4.1     Reproduzierbarkeit in der Testdurchführung

Für die Testdurchführung ist die Reproduzierbarkeit des Systemverhaltens von immenser Bedeutung. Sprachbenutzerschnittstellen und grafische Benutzerschnittstelle unterscheiden sich in diesem Aspekt enorm. Deshalb ist beim Test von Spracherkennungen idealerweise mit Sprachaufnahmen zu testen. Nur so erhöht sich die Chance, das Systemverhalten zu reproduzieren. Bei der Verwendung von Sprachaufnahmen für die Testdurchführung ist das auslösende Ereignis in allen Wiederholungen der Testausführung identisch und kann so das Systemverhalten reproduzieren.

Sollte die Möglichkeit Sprachaufnahmen einzuspielen, nicht vorhanden sein, ist zumindest der Text für die Testäußerungen im Testfall zu dokumentieren und es sind darüber hinaus dieselben Personen für die Testdurchführung einzusetzen. Dadurch geht dann jedoch viel Varianz der sprachlichen Merkmale verloren.

4.2     Automatisierung der Testdurchführung

Sollte der verwendete Spracherkenner die Möglichkeit bieten, Textdateien oder Audioaufnahmen massenhaft zur Erkennung zu benutzen, so ist davon unbedingt Gebrauch zu machen. Dazu ist der Aufbau eines Testkorpus zur Abbildung sprachlicher Vielfalt eine wesentliche und notwendige Voraussetzung. Die Pflege des Testkorpus erhöht jedoch den Testaufwand insgesamt. Der Testkorpus ist so zu pflegen, dass die einzelnen Überarbeitungen zum Softwarestand der geprüften Applikation abgebildet werden können.

Wie in allen Fällen der Automatisierung ist abzuwägen, ob der Aufwand für Konfiguration der Automatisierung, die Durchführung und Auswertung geringer ist als die manuelle Durchführung. Zum Nachweis einer erreichten Softwarequalität sind automatisierte Tests einzusetzen, für neue Funktionen und wenn es um eine rasche Inbetriebnahme geht, sind meist manuelle Tests das Mittel der Wahl. Denn wie in jedem Test gilt, dass die Wiederholung von Tests das Finden neuer Fehler verhindert.

4.3     Häufigkeit der Testdurchführung

Jede Testphase umfasst die Prüfung und Fehlerbehebung, neuer Funktionen und vorhandener Funktionen. Das ergibt für jede Softwarelieferung folgenden Testumfang

  • Fehlernachtest
  • Funktionstest
  • Regressionstest

Für den Regressionstest sind Testautomatisierungen vorzusehen. Damit sich keine Testermüdung einstellt, sind auch die Regressionstests regelmäßig zu erneuern und abzuändern.

5       Testauswertung für Sprachbenutzerschnittstellen

Das Berichtswesen für die Testdurchführung für Sprachbenutzerschnittstellen unterscheidet sich unwesentlich von üblichem Testreporting. Es wird das erwartete und das tatsächliche Verhalten gegenübergestellt. Eine Herausforderung besteht bei der Auswertung der erkannten Hypothesen der Spracherkenner. Die Erkennungsgenauigkeit der Sätze im Testkorpus ist für die Aussageabsicht darzustellen. Die Aussageabsicht muss bereits während der Erstellung des Testkorpus beschrieben werden.

Die Auswertung der Spracherkennungsergebnisse basiert auf statistischen Angaben. Das bedeutet, zu einer konkreten Testäußerung aus dem Testkorpus gibt es eine bestimmte Wahrscheinlichkeit, dass dieser Satz interpretiert wird wie erwartet. Dieser Punkt weicht von grafischen Benutzerschnittstellen ab, wo es nur bestanden oder gescheitert gibt. Die Wahrscheinlichkeit der korrekten Erkennung für die verwendeten Testparameter anzugeben.

Sollte der Test nicht am Endgerät durchgeführt worden sein, ist außerdem eine qualifizierte Beschreibung der Übertragbarkeit der Testergebnisse unter Laborbedingungen zu den Bedingungen am Endgerät erforderlich.

6       Testprozess von Sprachbenutzerschnittstellen (Resümee)

Der Testprozess von Sprachbenutzerschnittstellen weicht an einigen Punkten vom Test von grafischen Benutzerschnittstellen (GUI) ab. Dies ist verursacht in der statistischen Verteilung von Testergebnissen, die weniger stark deterministisch sind als bei GUI-Tests.

Die unterschiedlichen Einflüsse auf die Sprache sind bereits vor und während der Testdatenerhebung zu berücksichtigen, damit die Verteilung der Einflussgrößen auf die Testdaten den angenommenen Erwartungen im Zielsystem entspricht. Testdaten können labormäßig, durch freie oder geführte Feldstudien erhoben werden.

Innerhalb der Testdurchführung sind vorzugsweise Sprachaufnahmen zu verwenden, damit die Testergebnisse reproduzierbar sind.

Für die Testauswertung sind Metriken zu benutzen, die das Wahrscheinlichkeitsmaß der Erkennung gemessen an den erwarteten Ergebnissen pro Testparameter beschreiben.

 

Anmerkung der Redaktion:

Wir danken Diethelm Dahms von der Speech & Phone GmbH vielmals für diesen hervorragenden Artikel über das Testen von Sprachbenutzerschnittstellen (VUI).
Bei Fragen zum Test von Sprachbenutzerschnittstellen oder zum Testmanagement, hinterlasst sehr gerne einen Kommentar oder meldet euch per Mail direkt beim Autor oder unserer Board-Redaktion. Die Speech & Phone GmbH hat auch einen eigenen Blog für weitere Informationen.
Gefällt Dir der Artikel, würdige dies sehr gerne über einen Social-Share!

Fanden Sie den Artikel hilfreich?
[Gesamt: 2 Durchschnitt: 5] -
Share it,
if you like it

Leave a Reply