SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
sean chen
 
S emb t10-development
S emb t10-developmentS emb t10-development
S emb t10-development
João Moreira
 
Bristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timBristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_tim
Obsidian 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 Instrument
Bradford 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 Level
DVClub
 

Was ist angesagt? (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
 

Ähnlich wie Test Automation for Embedded Devices

Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with Appium
Perfecto by Perforce
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02
Archana Survase
 
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
Quontra Solutions
 

Ähnlich wie 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
 

Mehr von Scott 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 Science
Scott Barber
 
Control model testing
Control model testingControl model testing
Control model testing
Scott Barber
 

Mehr von 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
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

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.