SlideShare a Scribd company logo
Testing Telephony - It’s not all terrible




Ben Langfeld
@benlangfeld
blangfeld@mojolingo.com




     Lance Gleason
     @lgleasain
     lgleason@mojolingo.com




                                            PAGE
PAGE
PAGE
WTF GUYS?!


             PAGE
UNIT TESTING ADHEARSION APPLICATIONS




                                        3
                                       PAGE
Adhearsion components can be unit tested
            like anything else




                                            4
                                           PAGE
If using ActiveRecord or any other ORM, move as much
       domain logic as possible into your models




                                                        5
                                                       PAGE
State-full telephony fits into a set of domain models




                                                         6
                                                        PAGE
Specify the hell out of your models




                                       7
                                      PAGE
When possible, encapsulate dialplan DSL
 methods and/or any other code which
 touches the voice platform for ease of
               mocking




                                           8
                                          PAGE
INTEGRATION TESTING




                       9
                      PAGE
QA TELEPHONY APPLICATIONS IS HARD




                                    10
                                    PAGE
MANY COMPLEX SCENARIOS




                         11
                         PAGE
VERY COMPLEX BRANCHING FLOW




                              12
                              PAGE
LOTS OF REGRESSIONS




                      13
                      PAGE
14
PAGE
AUTOMATED INTEGRATION TESTING




                                14
                                PAGE
AUTOMATED INTEGRATION TESTING




   NÜECHO




                                14
                                PAGE
AUTOMATED INTEGRATION TESTING




   NÜECHO   $$$




                                14
                                PAGE
AUTOMATED INTEGRATION TESTING




   NÜECHO   $$$   PROPRIETARY




                                14
                                PAGE
AUTOMATED INTEGRATION TESTING




   NÜECHO    $$$   PROPRIETARY




   TELTONE




                                 14
                                 PAGE
AUTOMATED INTEGRATION TESTING




   NÜECHO    $$$    PROPRIETARY




   TELTONE         DITTO




                                  14
                                  PAGE
15
PAGE
CUCUMBER-VOIP




                15
                PAGE
CUCUMBER-VOIP




                15
                PAGE
CUCUMBER-VOIP




$0, OPEN SOURCE, EXTENSIBLE



                              15
                              PAGE
16
PAGE
17
PAGE
(TOTALLY FAKED - THERE’S BUGS)




                                 18
                                 PAGE
19
PAGE
TEST THE ENTIRE STACK, INCLUDING THE
    VOICE INTERACTION AND MEDIA




                                       20
                                       PAGE
GITHUB.COM/BENLANGFELD/CUCUMBER-VOIP




                                       21
                                       PAGE
Questions?




             PAGE

More Related Content

PDF
Tipping the Scales: Measuring and Scaling Asterisk
PDF
Testing telephony
DOC
PDF
Voxeo Jam Session: What's New in Prophecy 11 and VoiceObjects 11?
PDF
01 introduction
PDF
Drupal Estimation Techniques by Project Managers
PDF
Creating Maintainable Automated Acceptance Tests
PDF
Automated tests workshop
Tipping the Scales: Measuring and Scaling Asterisk
Testing telephony
Voxeo Jam Session: What's New in Prophecy 11 and VoiceObjects 11?
01 introduction
Drupal Estimation Techniques by Project Managers
Creating Maintainable Automated Acceptance Tests
Automated tests workshop

Similar to Testing Telephony: It's Not All Terrible (20)

PDF
On Software Release Engineering (Bram Adams)
PDF
Tackling Testing Telephony
KEY
Testing Adhearsion Applications
DOCX
Srikant singh
PPTX
Pilot essentials webinar
PDF
ICSE 2012: Test Confessions - A study of testing practices for plug-in systems
PDF
Developer Jam Session - What is new in Prophecy 9 / VoiceObjects 9?
PDF
Webapp acceptance testing a case study
PDF
Managing requirements with user stories
PDF
Dominik Gusenbauer Qt Mobility
PDF
SVCC 2011 - 0 - 60: QA Automation @ Box
PDF
Agile Testing
PDF
Twilio Web Service API for building Voice Applications
PDF
Tc 2008 11 19
PDF
Voxeo Summit 2010: VoiceObjects Spotlight
PDF
"Reinventing the Dialplan" slides from Twilio's Astricon 2009 talk
PPT
User Stories
PPT
User Stories
PPT
Testing In Java
PPTX
VoIP applications and the Cloud - Where gen_fsm really shines
On Software Release Engineering (Bram Adams)
Tackling Testing Telephony
Testing Adhearsion Applications
Srikant singh
Pilot essentials webinar
ICSE 2012: Test Confessions - A study of testing practices for plug-in systems
Developer Jam Session - What is new in Prophecy 9 / VoiceObjects 9?
Webapp acceptance testing a case study
Managing requirements with user stories
Dominik Gusenbauer Qt Mobility
SVCC 2011 - 0 - 60: QA Automation @ Box
Agile Testing
Twilio Web Service API for building Voice Applications
Tc 2008 11 19
Voxeo Summit 2010: VoiceObjects Spotlight
"Reinventing the Dialplan" slides from Twilio's Astricon 2009 talk
User Stories
User Stories
Testing In Java
VoIP applications and the Cloud - Where gen_fsm really shines
Ad

More from Mojo Lingo (20)

PDF
ConnectJS 2015: Video Killed the Telephone Star
PDF
AstriCon 2015: WebRTC: How it Works, and How it Breaks
PDF
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
PDF
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
PDF
Using Asterisk to Create "Her"
PDF
WebRTC Overview by Dan Burnett
PDF
AdhearsionConf 2013 Keynote
PDF
Speech-Enabling Web Apps
PDF
WebRTC: What? How? Why? - ClueCon 2013
PDF
Infiltrando Telecoms Usando Ruby
PDF
Enhancing FreePBX with Adhearsion
PDF
Connecting Adhearsion
PDF
Testing Adhearsion Applications
PDF
Rayo for XMPP Folks
PDF
Talking To Rails
PDF
Building Real Life Applications with Adhearsion
PDF
Keeping It Realtime!
PDF
Integrating Voice Through Adhearsion
PDF
Infiltrating Telecoms Using Ruby
PDF
Telephony Through Ruby Colored Lenses
ConnectJS 2015: Video Killed the Telephone Star
AstriCon 2015: WebRTC: How it Works, and How it Breaks
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
Using Asterisk to Create "Her"
WebRTC Overview by Dan Burnett
AdhearsionConf 2013 Keynote
Speech-Enabling Web Apps
WebRTC: What? How? Why? - ClueCon 2013
Infiltrando Telecoms Usando Ruby
Enhancing FreePBX with Adhearsion
Connecting Adhearsion
Testing Adhearsion Applications
Rayo for XMPP Folks
Talking To Rails
Building Real Life Applications with Adhearsion
Keeping It Realtime!
Integrating Voice Through Adhearsion
Infiltrating Telecoms Using Ruby
Telephony Through Ruby Colored Lenses
Ad

Recently uploaded (20)

PPTX
1. Introduction to Computer Programming.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation theory and applications.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Spectroscopy.pptx food analysis technology
1. Introduction to Computer Programming.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Assigned Numbers - 2025 - Bluetooth® Document
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
Tartificialntelligence_presentation.pptx
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Programs and apps: productivity, graphics, security and other tools
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
A comparative analysis of optical character recognition models for extracting...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
NewMind AI Weekly Chronicles - August'25-Week II
Per capita expenditure prediction using model stacking based on satellite ima...
Group 1 Presentation -Planning and Decision Making .pptx
Machine learning based COVID-19 study performance prediction
Spectroscopy.pptx food analysis technology

Testing Telephony: It's Not All Terrible