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

876 Aufrufe

Veröffentlicht am

Testgetriebene Entwicklung von sprachbasierten Applikationen mit XML und Java

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
876
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

×