Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Raphael Groner 1 / 13VoiceXML Test-FrameworkVoiceXML Test-FrameworkUnit Testing vonsprachbasierten ApplikationenProjektvor...
Raphael Groner 2 / 13Unit Testing● Elementarer Bestandteil von TDD und BDD● Wichtig für Extreme Programming und Scrum● Sta...
Raphael Groner 3 / 13VoiceXML● Wozu? → Kommunikationstheorie– Natürliche Sprache– Interaktion Mensch – Maschine (per Sprac...
Raphael Groner 4 / 13Einsatzgebiete● Logistik: „Pick by Voice“– Kommissionieren von Waren und Inventur im Lager– Sprachges...
Raphael Groner 5 / 13Frameworks● Voxeo Phono (Javascript), Prophecy IVR Platform● OpenVXI (C): BladeWareVXML, publicVoiceX...
Raphael Groner 6 / 13VoiceXML + Java = JVoiceXML● Verschiedene Implementierungen:– Spracherkennung und -ausgabe, Gestiken–...
Raphael Groner 7 / 13Anforderungsanalyse
Raphael Groner 8 / 13Prototyp (Grobkonzept)
Raphael Groner 9 / 13Automat
Raphael Groner 10 / 13Beispiel - VoiceXML<?xml version="1.0" encoding="UTF-8"?><vxml xmlns="http://www.w3.org/2001/vxml" v...
Raphael Groner 11 / 13Beispiel - TestCase@Testpublic void testInputYes() {createConversation("yes");supervisor.process();}...
Raphael Groner 12 / 13Geplante Erweiterungen● Synchroner Durchlauf● Cucumber für BDD● Hamcrest für Pattern, XPath● Checkst...
Raphael Groner 13 / 13Danke!Fragen?Fragen?http://www.jvoicexml.org voicexmlunit@email.de
Nächste SlideShare
Wird geladen in …5
×

Projektvorstellung VoiceXML Test Framework

965 Aufrufe

Veröffentlicht am

Testgetriebene Entwicklung von sprachbasierten Applikationen mit XML und Java

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Projektvorstellung VoiceXML Test Framework

  1. 1. Raphael Groner 1 / 13VoiceXML Test-FrameworkVoiceXML Test-FrameworkUnit Testing vonsprachbasierten ApplikationenProjektvorstellung
  2. 2. Raphael Groner 2 / 13Unit Testing● Elementarer Bestandteil von TDD und BDD● Wichtig für Extreme Programming und Scrum● Standards und Normen, ISTQB®● Komponententest (Entwickler)● Integrationstest (Neue Idee!)● JUnit → Assert… Methoden
  3. 3. Raphael Groner 3 / 13VoiceXML● Wozu? → Kommunikationstheorie– Natürliche Sprache– Interaktion Mensch – Maschine (per Sprache!)● Eigener W3C Standard, basiert auf XML– Version 2.1 ist aktuell– Version 3.0 als Entwurf● Deployment wie HTML● Editoren, Generatoren
  4. 4. Raphael Groner 4 / 13Einsatzgebiete● Logistik: „Pick by Voice“– Kommissionieren von Waren und Inventur im Lager– Sprachgesteuerte Weisung von Arbeitskräften– Kontrollen durch z.B. Abfrage von Prüfkennungen● Auskunft per Telefon und Ansagen– Fahrplan (z.B. Deutsche Bahn), Börse, Wetter, …– Call Center: Häufig auftretende Prozesse (FAQ)– Verkehrsleitung bei Navigationsgeräten
  5. 5. Raphael Groner 5 / 13Frameworks● Voxeo Phono (Javascript), Prophecy IVR Platform● OpenVXI (C): BladeWareVXML, publicVoiceXML● Voice-unit (Java, JUnit)● JWebUnit, HtmlUnit, HttpUnit (web unit tests)● Voice Prover, PAGI, Empirix Hammer(Last/Penetration)● SoftRobot (Systemtest)
  6. 6. Raphael Groner 6 / 13VoiceXML + Java = JVoiceXML● Verschiedene Implementierungen:– Spracherkennung und -ausgabe, Gestiken– JSAPI, JTAPI, Marc, Mary, Red5, Kinect, …● Textschnittstelle (interface TextListener)Methode Nachrichtstarted() Server gestartetconnected(InetSocketAddress) Verbindung hergestelltoutputSsml(SsmlDocument) Ausgabe (Parameterwert) empfangenexpectingInput() Bereit für eine EingabeinputClosed() Wartezeit für Eingabe überschrittendisconnected() Verbindung beendet
  7. 7. Raphael Groner 7 / 13Anforderungsanalyse
  8. 8. Raphael Groner 8 / 13Prototyp (Grobkonzept)
  9. 9. Raphael Groner 9 / 13Automat
  10. 10. Raphael Groner 10 / 13Beispiel - VoiceXML<?xml version="1.0" encoding="UTF-8"?><vxml xmlns="http://www.w3.org/2001/vxml" version="2.1"><form><field name="answer"><grammar src="yesno.srgs" type="application/srgs+xml"/><prompt>Do you like this example?</prompt><filled><if cond="answer==yes">You like this example.<else/>You do not like this example.</if></filled></field></form></vxml>
  11. 11. Raphael Groner 11 / 13Beispiel - TestCase@Testpublic void testInputYes() {createConversation("yes");supervisor.process();}@Testpublic void testInputNoFail() {createConversation("no");boolean failed = false;try {supervisor.process();} catch (AssertionFailedError e) {failed = true;}Assert.assertEquals(true,failed);}private void createConversation(String answer) {Conversation conversation = supervisor.init(call);conversation.addOutput("Do you like this example?");conversation.addInput(answer);conversation.addOutput("You like this example.");}
  12. 12. Raphael Groner 12 / 13Geplante Erweiterungen● Synchroner Durchlauf● Cucumber für BDD● Hamcrest für Pattern, XPath● Checkstyle● Simulation anderer Engines
  13. 13. Raphael Groner 13 / 13Danke!Fragen?Fragen?http://www.jvoicexml.org voicexmlunit@email.de

×