SlideShare a Scribd company logo
1 of 80
TESTING
ADHEARSION
APPLICATIONS
      Luca Pradovera
Voice Application Developer
      Mojo Lingo LLC
About me
About me
   - Rubyist from Italy
About me
   - Rubyist from Italy
About me
   - Rubyist from Italy
About me
   - Rubyist from Italy
About me
   - Rubyist from Italy
   - Voice Application
     Developer at Mojo
     Lingo
ADHEARSION
      APPS
       ARE
       FUN
      AND
    USEFUL
ADHEARSION
DICTATION CARRIER
APPLICATIONS    CALL APPS
CENTERS
CUSTOMER
               CRM
             SUPPORT
                      ARE
TRANSLATION           FUN
                DISTRIBUTED
C O M M U N I C A T I O N S
S C H E D U L I N G  AND
CONVERGENCE
                   USEFUL
BUT...
THEY
MUST BE
STABLE!
THEY
MUST BE
STABLE!
THE VILLAINS
THE VILLAINS

- Application exceptions
- Wrong call flow
- Dropped calls
- Integration errors
THE GOOD GUYS
THE GOOD GUYS

- Unit Testing
- Functional Testing
- Load Testing
UNIT TESTING
Our goals for unit
     testing:
Our goals for unit
     testing:
- Confidence at the class level
Our goals for unit
     testing:
- Confidence at the class level
- Prevent regression errors
Our goals for unit
     testing:
- Confidence at the class level
- Prevent regression errors
- Promote proper code structure
Our goals for unit
     testing:
- Confidence at the class level
- Prevent regression errors
- Promote proper code structure
- Provide CI with something to help
  us with
Unit testing Ahn
      apps
Unit testing Ahn
        apps
- Call Controllers are an application’s
  core
Unit testing Ahn
        apps
- Call Controllers are an application’s
  core
- RSpec recommended
Unit testing Ahn
        apps
- Call Controllers are an application’s
  core
- RSpec recommended
- Mock at the controller level
Unit testing Ahn
        apps
- Call Controllers are an application’s
  core
- RSpec recommended
- Mock at the controller level
- Support classes are just Ruby!
Adding RSpec
Adding RSpec

Gemfile:
Adding RSpec

Gemfile:
group :test do
  gem 'rspec'
end
Adding RSpec
                 - Generated apps are
Gemfile:            RSpec ready
group :test do   - Your choice of
  gem 'rspec'      mocking framework
end
                 - Just bundle
                   install
Spec File
require 'spec_helper'

describe DemoController do
  let(:mock_call) { mock 'Call' }

  subject do
    DemoController.new mock_call
  end

  let(:dtmf) { "1" }
  it "should answer, ask for a result, and say it" do
    subject.should_receive(:answer).once
    subject.should_receive(:ask).with("What is your favorite number?", :timeout =>
10000, :limit => 1).once.and_return(dtmf)
    subject.should_receive(:say).with("Your favorite number seems to be #{dtmf}")
    subject.run
  end
end
Our controller

class DemoController < Adhearsion::CallController
  def run
    answer
    result = ask "What is your favorite number?", :timeout =>
10000, :limit => 1
    say "Your favorite number seems to be #{result}"
  end
end
Passing? COOL!
Passing? COOL!
FUNCTIONAL
  TESTING
Functional Testing
       101
Functional Testing
       101

- Needs defining
Functional Testing
       101

- Needs defining
- Quite difficult to approach
Functional Testing
       101

- Needs defining
- Quite difficult to approach
- Not solved by any single tool
OK, WE ARE IN BAD
     SHAPE...
...but here comes
    some help!
...but here comes
    some help!
SIPp
...but here comes
    some help!
SIPp

   ahn-loadbot
...but here comes
    some help!
SIPp

   ahn-loadbot

            PJSUA
SIPp...
SIPp...
SIPp...




... is about as user friendly as the above lion.
SIPp (seriously)
- http://sipp.sourceforge.net/
- Free and OSS Test tool and traffic
  generator
- Can run XML scenarios defined by
  the user
- Can play audio and interact
- Requires good knowledge of SIP
SIPp sample run
sudo sipp -sn uac -s 1 -l 10 -r 5 -m 100 127.0.0.1


- Built-in scenario
- Audio is PCAP, raw network capture
  of an RTP session
- In custom scenarios, PCAP files are
  built with Wireshark/tcpdump
- Ability to set call rate, concurrent
  calls, maximum number of calls,
  many other options
SIPp options
- -trace_err gives you an error log
- -trace_stat outputs a CSV report
- -rtp_echo echoes RTP back to the
  source
- An XML scenario file can play PCAP,
  pause, and perform general call
  control
AHN-LOADBOT
Friendly
Neighborhood
Friendly
Neighborhood
The LoadBot
- https://github.com/mojolingo/ahn-
  loadbot
- Adhearsion 1 plugin
- Drives calls though an Asterisk
  server
- Can simulate a call, listen for audio,
  and record results
Loadbot scenario
         config:
           agi_server: 127.0.0.1
           prefix: SIP/mycarrier

         plans:
           plan 1:
             number: 1231231234
             answers:
             - 1




- Can be driven through DRb or
  directly through the Ahn1 API
PJSUA
Someone has to
  answer too!
Someone has to
  answer too!
PJSUA at a glance
- Can make single or multiple
  connection to SIP server
- Can auto-answer, play audio, and
  record
- Suitable for test support
- Also is a handy tool for QoS
- Does not run a “true” scenario
Sample PJSUA
command line
pjsua --config-file options.conf
Sample PJSUA
command line
pjsua --config-file options.conf

options.conf:
--null-audio
--realm adhearsion.com
--registrar sip.adhearsion.com
--id sip:999@adhearsion.com
--username 999
--password AdhearsionConf
--nameserver 8.8.8.8
--auto-answer 200
--auto-loop
--play-file monkeys.wav
Functional
takeaways
Functional
        takeaways
- Set a specific goal for each scenario
Functional
        takeaways
- Set a specific goal for each scenario
- Take advantage of CDR and APIs to
  do integration testing
Functional
        takeaways
- Set a specific goal for each scenario
- Take advantage of CDR and APIs to
  do integration testing
- Less automated than web functional
  testing
LOAD TESTING
Is my system
strong enough?
Is my system
strong enough?
Load Testing is...
Load Testing is...

- Running a high amount of
  concurrent calls
Load Testing is...

- Running a high amount of
  concurrent calls
- Decide what you are looking for
Load Testing is...

- Running a high amount of
  concurrent calls
- Decide what you are looking for
- Tool of choice, SIPp or Loadbot
Load testing
  metrics
Load testing
        metrics
- Failed calls
Load testing
        metrics
- Failed calls
- Average call times getting too long
Load testing
        metrics
- Failed calls
- Average call times getting too long
- Exception tracking, not everything
  happens visibly
Thank you!
          http://mojolingo.com
       https://github.com/polysics
           Twitter: lucaprado
XMPP and Email: lpradovera@mojolingo.com

           ...and please...
Thank you!
          http://mojolingo.com
       https://github.com/polysics
           Twitter: lucaprado
XMPP and Email: lpradovera@mojolingo.com

           ...and please...
              NO MAKE KITTY SAD
Thank you!
          http://mojolingo.com
       https://github.com/polysics
           Twitter: lucaprado
XMPP and Email: lpradovera@mojolingo.com

           ...and please...
              NO MAKE KITTY SAD

                  ...go rate my talk at
                http:/spkr8.com/17421

More Related Content

What's hot (18)

Elixir – Peeking into Elixir's Processes, OTP and Supervisors
Elixir – Peeking into Elixir's Processes, OTP and SupervisorsElixir – Peeking into Elixir's Processes, OTP and Supervisors
Elixir – Peeking into Elixir's Processes, OTP and Supervisors
 
Callbacks part1
Callbacks part1Callbacks part1
Callbacks part1
 
Callbacks part2
Callbacks part2Callbacks part2
Callbacks part2
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 
Whoops! 404 Error!
Whoops! 404 Error!Whoops! 404 Error!
Whoops! 404 Error!
 

Viewers also liked

Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMojo Lingo
 
Tackling Testing Telephony
Tackling Testing Telephony Tackling Testing Telephony
Tackling Testing Telephony Mojo Lingo
 
Creating Phone 2.0 Applications with Adhearsion
Creating Phone 2.0 Applications with AdhearsionCreating Phone 2.0 Applications with Adhearsion
Creating Phone 2.0 Applications with AdhearsionMojo Lingo
 
AdhearsionConf Keynote 2012
AdhearsionConf Keynote 2012AdhearsionConf Keynote 2012
AdhearsionConf Keynote 2012Mojo Lingo
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with AdhearsionMojo Lingo
 
A Hackaton Focused on Call Control
A Hackaton Focused on Call ControlA Hackaton Focused on Call Control
A Hackaton Focused on Call ControlMojo Lingo
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Mojo Lingo
 
Can You Speak Magic? with Adhearsion
Can You Speak Magic? with AdhearsionCan You Speak Magic? with Adhearsion
Can You Speak Magic? with AdhearsionMojo Lingo
 
The Future of Adhearson
The Future of AdhearsonThe Future of Adhearson
The Future of AdhearsonMojo Lingo
 
Adhearsion and the cloud
Adhearsion and the cloudAdhearsion and the cloud
Adhearsion and the cloudMojo Lingo
 
Evented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionEvented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionMojo Lingo
 
Supergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with AdhearsionSupergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with AdhearsionMojo Lingo
 
Ops for Developers
Ops for DevelopersOps for Developers
Ops for DevelopersMojo Lingo
 
What is Adhearsion?
What is Adhearsion?What is Adhearsion?
What is Adhearsion?Mojo Lingo
 
State of the Art Telephony with Ruby
State of the Art Telephony with Ruby State of the Art Telephony with Ruby
State of the Art Telephony with Ruby Mojo Lingo
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyMojo Lingo
 
Securing Voice Communication
Securing Voice CommunicationSecuring Voice Communication
Securing Voice CommunicationLuca Pradovera
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesMojo Lingo
 

Viewers also liked (20)

Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application Framework
 
Tackling Testing Telephony
Tackling Testing Telephony Tackling Testing Telephony
Tackling Testing Telephony
 
Creating Phone 2.0 Applications with Adhearsion
Creating Phone 2.0 Applications with AdhearsionCreating Phone 2.0 Applications with Adhearsion
Creating Phone 2.0 Applications with Adhearsion
 
AdhearsionConf Keynote 2012
AdhearsionConf Keynote 2012AdhearsionConf Keynote 2012
AdhearsionConf Keynote 2012
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
 
A Hackaton Focused on Call Control
A Hackaton Focused on Call ControlA Hackaton Focused on Call Control
A Hackaton Focused on Call Control
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion
 
Can You Speak Magic? with Adhearsion
Can You Speak Magic? with AdhearsionCan You Speak Magic? with Adhearsion
Can You Speak Magic? with Adhearsion
 
The Future of Adhearson
The Future of AdhearsonThe Future of Adhearson
The Future of Adhearson
 
Adhearsion and the cloud
Adhearsion and the cloudAdhearsion and the cloud
Adhearsion and the cloud
 
Testing telephony
Testing telephonyTesting telephony
Testing telephony
 
ClueCon 2012
ClueCon 2012ClueCon 2012
ClueCon 2012
 
Evented Telephony Application Design with Adhearsion
Evented Telephony Application Design with AdhearsionEvented Telephony Application Design with Adhearsion
Evented Telephony Application Design with Adhearsion
 
Supergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with AdhearsionSupergluing Asterisk to the Web with Adhearsion
Supergluing Asterisk to the Web with Adhearsion
 
Ops for Developers
Ops for DevelopersOps for Developers
Ops for Developers
 
What is Adhearsion?
What is Adhearsion?What is Adhearsion?
What is Adhearsion?
 
State of the Art Telephony with Ruby
State of the Art Telephony with Ruby State of the Art Telephony with Ruby
State of the Art Telephony with Ruby
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
 
Securing Voice Communication
Securing Voice CommunicationSecuring Voice Communication
Securing Voice Communication
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored Lenses
 

Similar to Testing Adhearsion Applications

Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Yan Cui
 
Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)Yan Cui
 
Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)Yan Cui
 
Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Yan Cui
 
Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)Yan Cui
 
Getting Started with Ansible - Jake.pdf
Getting Started with Ansible - Jake.pdfGetting Started with Ansible - Jake.pdf
Getting Started with Ansible - Jake.pdfssuserd254491
 
Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009eCommConf
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conferenceIsaac Murchie
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev ConferenceIsaac Murchie
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenchesYan Cui
 
Using software modules welcome to hell!
Using software modules   welcome to hell!Using software modules   welcome to hell!
Using software modules welcome to hell!Baruch Sadogursky
 
Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)Yan Cui
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Yan Cui
 
Voicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoxeo Corp
 
Test Driven Infrastructure
Test Driven InfrastructureTest Driven Infrastructure
Test Driven InfrastructureArthur Maltson
 

Similar to Testing Adhearsion Applications (20)

Socket applications
Socket applicationsSocket applications
Socket applications
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
 
Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)
 
Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)
 
Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)
 
Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)Serverless in production, an experience report (JeffConf)
Serverless in production, an experience report (JeffConf)
 
Getting Started with Ansible - Jake.pdf
Getting Started with Ansible - Jake.pdfGetting Started with Ansible - Jake.pdf
Getting Started with Ansible - Jake.pdf
 
Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009Jay Phillips's Presentation at eComm 2009
Jay Phillips's Presentation at eComm 2009
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conference
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev Conference
 
20140925 rails pacific
20140925 rails pacific20140925 rails pacific
20140925 rails pacific
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenches
 
Using software modules welcome to hell!
Using software modules   welcome to hell!Using software modules   welcome to hell!
Using software modules welcome to hell!
 
Test
TestTest
Test
 
Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
 
Voicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.com
 
Test Driven Infrastructure
Test Driven InfrastructureTest Driven Infrastructure
Test Driven Infrastructure
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Testing Adhearsion Applications

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. all of those have been built with Adhearsion and are around now\n
  8. \n
  9. people get very angry when phone calls do not work. the same ancestral instincts that make voice our best tool to communicate makes users react very badly when something goes wrong.\n
  10. of course not the only ones\n
  11. \n
  12. \n
  13. of course unit testing and TDD have another million good reasons\n
  14. of course unit testing and TDD have another million good reasons\n
  15. of course unit testing and TDD have another million good reasons\n
  16. of course unit testing and TDD have another million good reasons\n
  17. \n
  18. \n
  19. \n
  20. \n
  21. configure RSpec in spec_helper as usual. Guard is recommended too.\n
  22. configure RSpec in spec_helper as usual. Guard is recommended too.\n
  23. configure RSpec in spec_helper as usual. Guard is recommended too.\n
  24. kept it as simple as possible. how many in the audience are familiar with rspec?\n
  25. how many are familiar with adhearsion 2 controllers? explain if not many\n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. let&amp;#x2019;s see what we know about sipp\n
  36. let&amp;#x2019;s see what we know about sipp\n
  37. \n
  38. Command line does not fit on screen.\n
  39. \n
  40. \n
  41. \n
  42. Ahn can also be a client\nSuitable for anything but load testing Adhearsion itself\n
  43. \n
  44. \n
  45. otherwise you end up like the girl above\n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n