Test Automation for Embedded Devices



Similar documents
Performance Testing Uncovered

Choose Wisely. Scott Barber

SOA Performance Testing Challenges

Performance Testing: Scott Barber

Mobile Application Testing

Security Testing: Step by Step System Audit with Rational Tools. First Presented for:

Business white paper. Best practices for implementing automated functional testing solutions

Performance Testing Challenges

Image Area. White Paper. Best Practices in Mobile Application Testing. - Mohan Kumar, Manish Chauhan.

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Mobile App Testing Guide. Basics of Mobile App Testing

Selecting the Right Service Virtualization Tool. E: UK: US:

On the Edge of Mobility Building a Bridge to Quality October 22, 2013

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Automated testing for Mobility New age applications require New age Mobility solutions

Agile Web Application Testing

Syllabus Version

Cross Platform Mobile. -Vinod Doshi

Sample Exam Foundation Level Syllabus. Mobile Tester

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Test Data Management Best Practice

ALM120 Application Lifecycle Management 11.5 Essentials

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

Course Catalog for QA Software Testing Training

Smarter Balanced Assessment Consortium. Recommendation

Manual Tester s Guide to Automated Testing Contents

Embedded Software development Process and Tools:

Sample Exam Foundation Level Syllabus. Mobile Tester

HP Performance Center 11.5: What s New? Gurmeen Aneja

Agile Office Space. Agile Center of Excellence Richard K Cheng

Service Virtualization

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Service Virtualization:

Choosing A Load Testing Strategy Why and How to Optimize Application Performance

How Fast Does a Website Need To Be?

MEASURING PRE-PRODUCTION APPLICATION, SYSTEM AND PERFORMANCE VOLUME STRESS TESTING WITH TEAMQUEST

RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW

Enterprise-grade Mobile Application Quality across your Application Life cycle THE MOBILECLOUD PLATFORM Perfecto Mobile. All rights reserved.

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Architecture Workshop

Quality Assurance Training Program

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

IBM RATIONAL PERFORMANCE TESTER

Datamaker for Skytap. Provide full-sized environments filled with up-to-date test data in minutes

Copyright 1

Mobile Application Test Automation Best Practices for Best Results. A white paper from Mobile Labs, Inc.

Develop enterprise mobile applications with IBM Rational software

Mobile Automation: Best Practices

HP DevOps by Design. Your Readiness for Continuous Innovation Rony Van Hove/ April 2 nd, HP Software: Apps meet Ops 2015

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Software Requirements, Third Edition

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

SOFTWARE PERFORMANCE TESTING SERVICE

Testing in an Agile Environment

Business Analysis Essentials

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

Software Quality Testing Course Material

Software Testing. System, Acceptance and Regression Testing

Mobile Application Testing Challenges & Best Practices

QA Classroom and Online training from Yes-M Systems

Mod 2: User Management

Mobile Performance Testing Approaches and Challenges

Defining Quality Workbook. <Program/Project/Work Name> Quality Definition

<Insert Picture Here> When to Automate Your Testing (and When Not To)

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING

WEMS IT User Group. Mark Brodziak: Solutions Architect John McLean: Project Manager Gary Wade: IT Consultant. 20 March 2015

DEPLOYMENT. ASSURED. SEVEN ELEMENTS OF A MOBILE TEST STRATEGY. An Olenick & Associates White Paper

Master of Science in Software Engineering (MSC)

The Role of Big Data & Advanced Analytics in SDN/NFV. Moderated by Jim Hodges, Senior Analyst, Heavy Reading June 9, 2015

Testing as a Service on Cloud: A Review

Chapter 11: Integration- and System Testing

Bringing Value to the Organization with Performance Testing

Workshop on Agile Test Strategies and Experiences. Fran O'Hara, Insight Test Services, Ireland

Development of AUTOSAR Software Components within Model-Based Design

Transcription:

Test Automation for Embedded Devices Originally Created for: 5 th International Conference on QA & Testing for Embedded Systems October 18-20, Bilbao, Spain Scott Barber Chief Technologist PerfTestPlus, Inc. Test Automation for Embedded Systems Page 1

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 Test Automation for Embedded Systems Page 2

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. Test Automation for Embedded Systems Page 3

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 Test Automation for Embedded Systems Page 4

Internet-Based, Embedded Applications Test Automation for Embedded Systems Page 5

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. Test Automation for Embedded Systems Page 6

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) Test Automation for Embedded Systems Page 7

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 Test Automation for Embedded Systems Page 8

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 Test Automation for Embedded Systems Page 9

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 Test Automation for Embedded Systems Page 10

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 windowsbased environment are good examples. Test Automation for Embedded Systems Page 11

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 Test Automation for Embedded Systems Page 12

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 Test Automation for Embedded Systems Page 13

Back-End Testing via Internet Test Automation for Embedded Systems Page 14

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. Test Automation for Embedded Systems Page 15

First Hand Experiences (Case Studies) Testing the Inet API on the RIM Blackberry Testing the ESPN Mobile Phone Testing Microsoft's IPTV solution Test Automation for Embedded Systems Page 16

Questions Test Automation for Embedded Systems Page 17

Contact Info Scott Barber Chief Technologist PerfTestPlus, Inc. E-mail: sbarber@perftestplus.com Web Site: Test Automation for Embedded Systems Page 18