SlideShare a Scribd company logo
1 of 18
Download to read offline
Test Automation for
                                Embedded Devices

                                            Originally Created for:
        5th International Conference on QA & Testing
                      for Embedded Systems
                  October 18-20, Bilbao, Spain


                                              Scott Barber
                                            Chief Technologist
                                            PerfTestPlus, Inc.

    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 1
© 2006 PerfTestPlus A ll rights reserved.
Introduction


        Using Automation to Test
      Internet-Based Applications on
            Embedded Devices


Based on: “Automated Testing for Embedded Devices”, Scott
  Barber & Chris Walters, 2002 and “Testing Embedded
  Devices”, presented at MIT as a guest instructor in 2002

    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 2
© 2006 PerfTestPlus A ll rights reserved.
Who Am I?
My name is Scott Barber and I’m a test-aholic…
       Chief Technologist of PerfTestPlus, Inc.
       Executive Director for the Association for Software Testing
       Co-Founder of the Workshop On Performance and
         Reliability (WOPR)
       Member of the Context-Driven School of Software Testing
       Signatory of the Agile Manifesto for Software Development
       Prolific author, speaker and columnist
       Internet-based, embedded application testing specialist

…Oh yeah, I almost forgot, I’ve been involved with
 over 100 separate software testing projects.
    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 3
© 2006 PerfTestPlus A ll rights reserved.
Internet-Based, Embedded Applications
Software that requires Internet connectivity to make
 use of the entire feature-set.
Software that resides on (typically hand held)
 embedded systems.
Systems cannot (effectively) be instrumented by test by
  loading or installing test software directly onto the
  device.
Examples typically include:
             Cell Phones
             PDA's
             Set Top Boxes
             Cameras
    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 4
© 2006 PerfTestPlus A ll rights reserved.
Internet-Based, Embedded Applications




    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 5
© 2006 PerfTestPlus A ll rights reserved.
Internet-Based, Embedded Applications

Significant, non-obvious testing challenges:
Real-time, embedded and PC-based software testing industries
  each have their own techniques, tools, approaches and
  terminology... and they rarely overlap.
Real-time and embedded software testers are typically the most
  senior engineers & developers on the project.
PC-based software testers are predominantly have little to no
  electrical engineering or development experience.
The majority of Internet-based, embedded applications are
  being tested by PC-based software testers.

    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 6
© 2006 PerfTestPlus A ll rights reserved.
Five Basic Approaches
Unit testing in testing in the IDE (Manual or
 Automated)

Human testers using actual devices (Manual)

Externally driven test automation via connection to a
  PC

Testing against simulators or emulators (Manual or
  Automated)

Back end testing via Internet (Manual or Automated)

    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 7
© 2006 PerfTestPlus A ll rights reserved.
Unit Testing in the IDE
Pros:
      No special hardware or software required
      Relatively easy to accomplish
      Can ensure that software units function as designed when
       accessed independently from one another

Cons:
      No indication of how units work in combination
      No indication of how software will interact with system
       hardware
      No ability to test realistic usage scenarios


    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 8
© 2006 PerfTestPlus A ll rights reserved.
Human Testers on Actual Device
Pros:
      No special hardware or software required
      Relatively easy to accomplish
      Only way to effectively test usability and performance
      Typically very important in addition to other forms of testing

Cons:
      Can be extremely time consuming
      Prone to human error
      Typically limits total number of test cases, scenarios and
        variations tested


    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 9
© 2006 PerfTestPlus A ll rights reserved.
External Driven Automation
Pros:
      Can enable test automation
      Can increase test coverage
      Can enable scenario based testing

Cons:
      Often challenging to impossible to implement
      Typically fragile
      Frequently has unexpected effects on device hardware and
        state
      Rarely enables detailed or accurate test verification


    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 10
© 2006 PerfTestPlus A ll rights reserved.
Testing Against Simulators or Emulators

Simulators:
      Generally allow users to experience what a thing will look
       and feel like but which doesn't use the same code base.
      PC-based flight simulators are a good example.

Emulators:
      Are pieces of software that allow an application written for
        one platform or operating system to be executed on
        another platform or operating system.
      Unix emulators running on a windows platform to enable
        the execution of unix-based programs in a windows-
        based environment are good examples.

    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 11
© 2006 PerfTestPlus A ll rights reserved.
Testing Against Simulators or Emulators

Simulator Testing Pros:
      Enable testing prior to devices being ready
      Very good for early testing of user experience or paradigm
       testing
      Can provide all of the benefits of software prototyping,
       including generation of test ideas

Simulator Testing Cons:
      Not a valid test of actual software to be used in production
      Can give a false sense of security
      Usability and paradigm testing results may be invalid if
       executed on a significantly different platform

    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 12
© 2006 PerfTestPlus A ll rights reserved.
Testing Against Simulators or Emulators
Emulator Testing Pros:
      Test actual production code
      Typically reveal many of the same defects as testing on the
        actual device
      Frequently enable test automation, increase test coverage
        and enable scenario based testing

Emulator Testing Cons:
      Not a valid test for performance
      Will not reveal defects specific to device hardware or
       configuration
      Usability and paradigm testing results may be invalid if
       executed on a significantly different platform
    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 13
© 2006 PerfTestPlus A ll rights reserved.
Back-End Testing via Internet




    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 14
© 2006 PerfTestPlus A ll rights reserved.
Back-End Testing via Internet
Pros:
      Indistinguishable from actual device testing from back-end
        components (when done correctly)
      Generally easy to automate via emulator
      Good for performance testing
      Does not require cellular/satellite networks to be
        operational

Cons:
      Does not test the actual device or how software will
       perform on the device
      Not good for usability, paradigm or non-internet based
       features.
    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 15
© 2006 PerfTestPlus A ll rights reserved.
First Hand Experiences (Case Studies)


Testing the Inet API on the RIM Blackberry


Testing the ESPN Mobile Phone


Testing Microsoft's IPTV solution




    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 16
© 2006 PerfTestPlus A ll rights reserved.
Questions




    www.PerfTestPlus.com          Test Automation for Embedded Systems   Page 17
© 2006 PerfTestPlus A ll rights reserved.
Contact Info


                                    Scott Barber
                                 Chief Technologist
                                       PerfTestPlus, Inc.

E-mail:                                                           Web Site:
sbarber@perftestplus.com                                          www.PerfTestPlus.com




    www.PerfTestPlus.com          Test Automation for Embedded Systems        Page 18
© 2006 PerfTestPlus A ll rights reserved.

More Related Content

What's hot

How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?Sameh El-Ashry
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_finalsean chen
 
S emb t10-development
S emb t10-developmentS emb t10-development
S emb t10-developmentJoão Moreira
 
SANER 2015 ERA track: Differential Flame Graphs
SANER 2015 ERA track: Differential Flame GraphsSANER 2015 ERA track: Differential Flame Graphs
SANER 2015 ERA track: Differential Flame Graphscorpaulbezemer
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology TutorialArrow Devices
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog Ramdas Mozhikunnath
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic SequencesArrow Devices
 
UVM ARCHITECTURE FOR VERIFICATION
UVM ARCHITECTURE FOR VERIFICATIONUVM ARCHITECTURE FOR VERIFICATION
UVM ARCHITECTURE FOR VERIFICATIONIAEME Publication
 
Testing in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkTesting in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkArulalan T
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
 
Bristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timBristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timObsidian Software
 
Debugging and Fixing Errors in Published Instrument
Debugging and Fixing Errors in Published InstrumentDebugging and Fixing Errors in Published Instrument
Debugging and Fixing Errors in Published InstrumentBradford Hull
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelDVClub
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorialsguestbcfac5
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveAmiq Consulting
 

What's hot (20)

Embedded Testing 2015
Embedded Testing 2015Embedded Testing 2015
Embedded Testing 2015
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
 
S emb t10-development
S emb t10-developmentS emb t10-development
S emb t10-development
 
SANER 2015 ERA track: Differential Flame Graphs
SANER 2015 ERA track: Differential Flame GraphsSANER 2015 ERA track: Differential Flame Graphs
SANER 2015 ERA track: Differential Flame Graphs
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
 
Jonathan bromley doulos
Jonathan bromley doulosJonathan bromley doulos
Jonathan bromley doulos
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic Sequences
 
UVM ARCHITECTURE FOR VERIFICATION
UVM ARCHITECTURE FOR VERIFICATIONUVM ARCHITECTURE FOR VERIFICATION
UVM ARCHITECTURE FOR VERIFICATION
 
Testing in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkTesting in-python-and-pytest-framework
Testing in-python-and-pytest-framework
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
 
Bristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timBristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_tim
 
Qtp
QtpQtp
Qtp
 
Debugging and Fixing Errors in Published Instrument
Debugging and Fixing Errors in Published InstrumentDebugging and Fixing Errors in Published Instrument
Debugging and Fixing Errors in Published Instrument
 
Bangalore march07
Bangalore march07Bangalore march07
Bangalore march07
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC Level
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorials
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with Octave
 

Similar to Test Automation for Embedded Devices

Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingPerfecto by Perforce
 
Software Quality
Software QualitySoftware Quality
Software QualityJoe Walling
 
Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Intellipaat
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testingSoftweb Solutions
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumPerfecto by Perforce
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Archana Survase
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Functional and Non-functional Test automation
Functional and Non-functional Test automationFunctional and Non-functional Test automation
Functional and Non-functional Test automationDr Ganesh Iyer
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsQuontra Solutions
 
Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?Parasoft
 
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...IRJET Journal
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8Mohammed Romi
 
Need To Automate Test And Integration Beyond Current Limits?
Need To Automate Test And Integration Beyond Current Limits?Need To Automate Test And Integration Beyond Current Limits?
Need To Automate Test And Integration Beyond Current Limits?Ghodhbane Mohamed Amine
 
Automation service introduction
Automation service introductionAutomation service introduction
Automation service introductionHai Tran Son
 

Similar to Test Automation for Embedded Devices (20)

Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
 
Software Quality
Software QualitySoftware Quality
Software Quality
 
Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...
 
Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testing
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with Appium
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Types of Non Functional Testing
Types of Non Functional TestingTypes of Non Functional Testing
Types of Non Functional Testing
 
Fitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation SystemFitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation System
 
Functional and Non-functional Test automation
Functional and Non-functional Test automationFunctional and Non-functional Test automation
Functional and Non-functional Test automation
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
perf_intro_ppt.pdf
perf_intro_ppt.pdfperf_intro_ppt.pdf
perf_intro_ppt.pdf
 
Class17
Class17Class17
Class17
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
 
Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?
 
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Need To Automate Test And Integration Beyond Current Limits?
Need To Automate Test And Integration Beyond Current Limits?Need To Automate Test And Integration Beyond Current Limits?
Need To Automate Test And Integration Beyond Current Limits?
 
Automation service introduction
Automation service introductionAutomation service introduction
Automation service introduction
 

More from Scott Barber

Testing Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to AssessmentTesting Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to AssessmentScott Barber
 
Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket ScienceScott Barber
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for ManagersScott Barber
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksScott Barber
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing ChallengesScott Barber
 
Testing and Tester Evolution
Testing and Tester EvolutionTesting and Tester Evolution
Testing and Tester EvolutionScott Barber
 
Testing Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyTesting Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyScott Barber
 
Introducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test LeadIntroducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test LeadScott Barber
 
Control model testing
Control model testingControl model testing
Control model testingScott Barber
 
Performance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsPerformance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsScott Barber
 

More from Scott Barber (11)

Iqnite keynote
Iqnite keynoteIqnite keynote
Iqnite keynote
 
Testing Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to AssessmentTesting Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to Assessment
 
Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket Science
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for Managers
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance Bottlenecks
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing Challenges
 
Testing and Tester Evolution
Testing and Tester EvolutionTesting and Tester Evolution
Testing and Tester Evolution
 
Testing Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyTesting Tasks and Blooms Taxonomy
Testing Tasks and Blooms Taxonomy
 
Introducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test LeadIntroducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test Lead
 
Control model testing
Control model testingControl model testing
Control model testing
 
Performance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsPerformance Testing on Agile Development Teams
Performance Testing on Agile Development Teams
 

Recently uploaded

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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Test Automation for Embedded Devices

  • 1. Test Automation for Embedded Devices Originally Created for: 5th International Conference on QA & Testing for Embedded Systems October 18-20, Bilbao, Spain Scott Barber Chief Technologist PerfTestPlus, Inc. www.PerfTestPlus.com Test Automation for Embedded Systems Page 1 © 2006 PerfTestPlus A ll rights reserved.
  • 2. Introduction Using Automation to Test Internet-Based Applications on Embedded Devices Based on: “Automated Testing for Embedded Devices”, Scott Barber & Chris Walters, 2002 and “Testing Embedded Devices”, presented at MIT as a guest instructor in 2002 www.PerfTestPlus.com Test Automation for Embedded Systems Page 2 © 2006 PerfTestPlus A ll rights reserved.
  • 3. Who Am I? My name is Scott Barber and I’m a test-aholic… Chief Technologist of PerfTestPlus, Inc. Executive Director for the Association for Software Testing Co-Founder of the Workshop On Performance and Reliability (WOPR) Member of the Context-Driven School of Software Testing Signatory of the Agile Manifesto for Software Development Prolific author, speaker and columnist Internet-based, embedded application testing specialist …Oh yeah, I almost forgot, I’ve been involved with over 100 separate software testing projects. www.PerfTestPlus.com Test Automation for Embedded Systems Page 3 © 2006 PerfTestPlus A ll rights reserved.
  • 4. Internet-Based, Embedded Applications Software that requires Internet connectivity to make use of the entire feature-set. Software that resides on (typically hand held) embedded systems. Systems cannot (effectively) be instrumented by test by loading or installing test software directly onto the device. Examples typically include: Cell Phones PDA's Set Top Boxes Cameras www.PerfTestPlus.com Test Automation for Embedded Systems Page 4 © 2006 PerfTestPlus A ll rights reserved.
  • 5. Internet-Based, Embedded Applications www.PerfTestPlus.com Test Automation for Embedded Systems Page 5 © 2006 PerfTestPlus A ll rights reserved.
  • 6. Internet-Based, Embedded Applications Significant, non-obvious testing challenges: Real-time, embedded and PC-based software testing industries each have their own techniques, tools, approaches and terminology... and they rarely overlap. Real-time and embedded software testers are typically the most senior engineers & developers on the project. PC-based software testers are predominantly have little to no electrical engineering or development experience. The majority of Internet-based, embedded applications are being tested by PC-based software testers. www.PerfTestPlus.com Test Automation for Embedded Systems Page 6 © 2006 PerfTestPlus A ll rights reserved.
  • 7. Five Basic Approaches Unit testing in testing in the IDE (Manual or Automated) Human testers using actual devices (Manual) Externally driven test automation via connection to a PC Testing against simulators or emulators (Manual or Automated) Back end testing via Internet (Manual or Automated) www.PerfTestPlus.com Test Automation for Embedded Systems Page 7 © 2006 PerfTestPlus A ll rights reserved.
  • 8. Unit Testing in the IDE Pros: No special hardware or software required Relatively easy to accomplish Can ensure that software units function as designed when accessed independently from one another Cons: No indication of how units work in combination No indication of how software will interact with system hardware No ability to test realistic usage scenarios www.PerfTestPlus.com Test Automation for Embedded Systems Page 8 © 2006 PerfTestPlus A ll rights reserved.
  • 9. Human Testers on Actual Device Pros: No special hardware or software required Relatively easy to accomplish Only way to effectively test usability and performance Typically very important in addition to other forms of testing Cons: Can be extremely time consuming Prone to human error Typically limits total number of test cases, scenarios and variations tested www.PerfTestPlus.com Test Automation for Embedded Systems Page 9 © 2006 PerfTestPlus A ll rights reserved.
  • 10. External Driven Automation Pros: Can enable test automation Can increase test coverage Can enable scenario based testing Cons: Often challenging to impossible to implement Typically fragile Frequently has unexpected effects on device hardware and state Rarely enables detailed or accurate test verification www.PerfTestPlus.com Test Automation for Embedded Systems Page 10 © 2006 PerfTestPlus A ll rights reserved.
  • 11. Testing Against Simulators or Emulators Simulators: Generally allow users to experience what a thing will look and feel like but which doesn't use the same code base. PC-based flight simulators are a good example. Emulators: Are pieces of software that allow an application written for one platform or operating system to be executed on another platform or operating system. Unix emulators running on a windows platform to enable the execution of unix-based programs in a windows- based environment are good examples. www.PerfTestPlus.com Test Automation for Embedded Systems Page 11 © 2006 PerfTestPlus A ll rights reserved.
  • 12. Testing Against Simulators or Emulators Simulator Testing Pros: Enable testing prior to devices being ready Very good for early testing of user experience or paradigm testing Can provide all of the benefits of software prototyping, including generation of test ideas Simulator Testing Cons: Not a valid test of actual software to be used in production Can give a false sense of security Usability and paradigm testing results may be invalid if executed on a significantly different platform www.PerfTestPlus.com Test Automation for Embedded Systems Page 12 © 2006 PerfTestPlus A ll rights reserved.
  • 13. Testing Against Simulators or Emulators Emulator Testing Pros: Test actual production code Typically reveal many of the same defects as testing on the actual device Frequently enable test automation, increase test coverage and enable scenario based testing Emulator Testing Cons: Not a valid test for performance Will not reveal defects specific to device hardware or configuration Usability and paradigm testing results may be invalid if executed on a significantly different platform www.PerfTestPlus.com Test Automation for Embedded Systems Page 13 © 2006 PerfTestPlus A ll rights reserved.
  • 14. Back-End Testing via Internet www.PerfTestPlus.com Test Automation for Embedded Systems Page 14 © 2006 PerfTestPlus A ll rights reserved.
  • 15. Back-End Testing via Internet Pros: Indistinguishable from actual device testing from back-end components (when done correctly) Generally easy to automate via emulator Good for performance testing Does not require cellular/satellite networks to be operational Cons: Does not test the actual device or how software will perform on the device Not good for usability, paradigm or non-internet based features. www.PerfTestPlus.com Test Automation for Embedded Systems Page 15 © 2006 PerfTestPlus A ll rights reserved.
  • 16. First Hand Experiences (Case Studies) Testing the Inet API on the RIM Blackberry Testing the ESPN Mobile Phone Testing Microsoft's IPTV solution www.PerfTestPlus.com Test Automation for Embedded Systems Page 16 © 2006 PerfTestPlus A ll rights reserved.
  • 17. Questions www.PerfTestPlus.com Test Automation for Embedded Systems Page 17 © 2006 PerfTestPlus A ll rights reserved.
  • 18. Contact Info Scott Barber Chief Technologist PerfTestPlus, Inc. E-mail: Web Site: sbarber@perftestplus.com www.PerfTestPlus.com www.PerfTestPlus.com Test Automation for Embedded Systems Page 18 © 2006 PerfTestPlus A ll rights reserved.