Tutorial Methodologies for Test-Driven Development of OSGi enabled Embedded Devices

Similar documents
TDD who pays? Test Driven Development in embedded java projects an unusual insight in usage scenarios and budgets

Refactoring of Acceptance Tests Master-Kolloquium Heiko Ordelt

Acceptance Testing with Fitnesse

Introduction to Automated Acceptance Testing

Introduction to Eclipse

Setting up Java environment for Project Capuchin development with Sony Ericsson phones

Why is software development difficult. An Acceptance Testing Viewpoint

Automated Unit Testing A Practitioner's and Teacher's Perspective

Presented By: RAVI KUMAR HCL Technologies Ltd. SREEKANTH TADIPATRI Independent Consultant

Fit for Developing Software

Eclipse Summit Europe Summary

02291: System Integration

Testing Tools to Support Agile Software Delivery. The Critical Role of Automated Functional Testing in Enterprise Environments

Tuesday, November 15. Testing

Acceptance Testing. How CSlim and FitNesse Can Help You Test Your Embedded System. Doug Bradbury Software Craftsman, 8th Light

Equinox Project 3.6 Release Review

Developing Ajax Web Apps with GWT. Session I

Vendor: IBM. Exam Code: A Exam Name: Assessment: IBM WebSphere Appl Server ND V8.0, Core Admin. Version: Demo

EMF Compare Galileo Simultaneous Release

EMF Compare Ganymede Simultaneous Release

Advanced Software Development with MATLAB

EECS 4313 Software Engineering Testing

Silk Central Release Notes

EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review

Tools for Unit Test JUnit

Automated Keyword Driven Framework using Selenesse. Ameya Naik Rasika Doshi

WHITEPAPER. API Testing with GreenPepper Challenges and Best Practices. A White Paper by: Dhaval Koradia / Ashwini Khaladkar September, 2013

10 ways to reduce your tax bill. Amit Nithianandan Senior Search Engineer Zvents Inc.

TIBCO ActiveMatrix BusinessWorks Plug-in for SAP Solutions Release Notes

Shift Left Testing: are you ready? Live Webinar, Sept 19

AURIX family and AUDO Future, AUDO MAX

API Tooling in the Eclipse SDK

TriCore Free Entry Tool Chain. AURIX family and AUDO Future, AUDO MAX

Documentation of Eclipse Applications with DITA

Object Oriented Software Design - I

Advanced Testing. Testing Tools. Software Reliability and Testing

Migrating a Classic Hibernate Application to Use the WebSphere JPA 2.0 Feature Pack

Topic 16: Validation. CITS3403 Agile Web Development. Express, Angular and Node, Chapter 11

Agile Engineering. and other stuff I m working on

Pearson Inform 5.1. User Guide. Adding, Editing and Deleting Folders. Date: 1/26/2010. Copyright 2009 Pearson Education, Inc. or its affiliate(s).

IBM Application Runtime Expert for i

Basic Keywords Practice Session

AgileBill Krebs. Agile3d Academy. Enterprise Open Distributed. Agile Quality. Years 30 Books 240. Certs 8. Badges 6. O, Rq, Pm, Qa, Ns, Agile 01

Levels of Testing Testing Methods Test Driven Development JUnit. Testing. ENGI 5895: Software Design. Andrew Vardy

Presentation Outline 10/16/2016

How-to Guide SAP NetWeaver 04. Web Dynpro Themes. Version Applicable Releases: SAP NetWeaver 7.0

General Report Selection

Energy Revolution: Smart IoT Devices Enable New Business Models for Utilities

TestingofScout Application. Ludwigsburg,

Levels of Testing Testing Methods Test Driven Development JUnit. Testing. ENGI 5895: Software Design. Andrew Vardy

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering

Behaviour Driven Development with Java. Nikolay Vasilev 15 July 2011

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Automated testing in Agile SW development

ClassiX Software GmbH. A description for installing and using the program BIRT to generate Reports. in GESTIN-77

TIBCO ActiveMatrix BusinessWorks Plug-in for Database Release Notes

Ride the wave of automation to survive the digital transformation storm. December, 2017

Packaging for Websphere Development Studio was changed with V6R1.

Test automation / JUnit. Building automatically repeatable test suites

Test automation Test automation / JUnit

iseries & WebSphere Express

AD105 Introduction to Application Development for the IBM Workplace Managed Client

Utilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process

Rails powered by GlassFish & jmaki

SE - Deployment to Installed Polarion. SE - Execution from Workspace. SE - Configuration.

ERIKA Enterprise Tutorial

Automated Acceptance Testing

SSQA Seminar Series. Server Side Testing Frameworks. Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007

Using Smartphone devices with IBM WebSphere Portlet Factory

J2EE Application Development : Conversion and Beyond Osmond Ng

IBM WebSphere Studio Asset Analyzer, Version 5.1

eclipse rich ajax platform (rap)

Tools to Develop New Linux Applications

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

The 4 Ts of Test Automation: Your Planning Guide to Success Workshop. Presented By: David Dang Questcon Technologies

Are you covered? New tooling for Quality Assurance

Software Engineering I (02161)

Leading the Evolution. Micro focus SilkTest. The Quality Solution for Robust Functional Test Automation

Provisioning WPF based WP Composite Applications to Expeditor

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore

Business Process Testing

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

Software Engineering

Automated testing in ERP using Rational Functional Tester

Artix Orchestration Release Notes. Version 4.0, June 2006

InfoSphere Data Architect Pluglets

Sentences Installation Guide. Sentences Version 4.0

Towards A Common Build Infrastructure: Designing For Reusability

Mitglied der Helmholtz-Gemeinschaft. Eclipse Parallel Tools Platform (PTP)

Testing with JUnit 1

Web Browser as an Application Platform Antero Taivalsaari

Install Apache Manually Windows Server 2008 R2 From Usb Drive

Streaming with Project Capuchin for Adobe Flash Lite developers

The Road to CCSv4. Status Update

ARCAD 5250 Emulator for WDSc and Eclipse. Tutorial

Getting Started with. File Hash Monitor. Version

SAP NetWeaver Scheduler for Java

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

Automated Testing of Tableau Dashboards

Transcription:

Tutorial Methodologies for Test-Driven Development of OSGi enabled Embedded Devices 2008 by Christine Mitterbauer, Marcus Harringer MicroDoc GmbH www.microdoc.com

Or... 2 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

About the Tutorial The tutorial includes an overview, some real life examples, demos and hands-on excercises Requirements Notebook Java ME Eclipse 3.3 Eclipse FitNesse Plug-In We provide the contents of the tutorial on CD-ROM and USB stick Slides PDF-Article efitnesse software 3 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

About us MicroDoc Located in Munich Germany Test Driven Process Model using Java and OSGi Cross industry expertise Financial Airline Automation Automotive Logistics IT First european business partner for IBM s embedded Java platform Customized platform ports Distribution and licensing for the IBM embedded product range. Active member of the Eclipse Foundation Open Source Business Foundation www.microdoc.com 4 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

About our partners and projects in the embedded space IBM Business Partner AMD SKIDATA AG Daimler Fleetboard Lufthansa Trolltech Emlix Feig Electronic Banksys Gumstix 5 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Challenges in Embedded Development Development environment versus runtime environment Device unit costs versus software development costs High end user expectations Bug fixing much more complicated and expensive no or minimal access to customer devices Requirements High stablility and quality Advanced requirements for recovery strategies Remote update possibilities Remote analyzing features 6 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Our experiences in real-life projects Testing and Features Exponential relation if testing is done manually A lot of tests are performed manually on the embedded device. Customers complain about timeconsuming quality assurance Customers tend to reduce full test coverage Software quality suffers Time needed for testing Number of features 7 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Another experience in a real-life project Legacy Systems Customer with a long-running embedded system in the area of access control systems Grown legacy software with all known problems: Hard to maintain/ extend No testing possibilities besides manual testing Each change leads to a quality risk Customer Decision New software architecture open source, OSGi Focus on changeability, maintainability, extendibility, testability Introduction of Agile methods, test-driven development 8 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Need for a testing framework Ideally usable for all testing layers Tests deployable and runnable on the target device Communication basis with the customer Requirement specification (acceptance tests) Bug reporting Better understanding of business use cases Test automation support Less manual test effort Continuous testing Tests as application documentation Reduce time to market 9 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Our Solution Story Tests / Acceptance Tests Encourage your customer to define expectations and requirements as story tests Clear communication through concrete examples Business rules as executable tests Implement story-driven / test-driven Acceptance procedure = test verification Continuous Testing Reduce Risk / Improve Software Quality Test from a business perspective Integration in a Continuous Build process Test on the target platform / on the embedded device 10 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FIT/FitNesse FIT - Framework for Integrated Tests captures business rules in a simple table format FitNesse Collaborative Wiki for building and executing tests Runs tests by reading HTML files, looks for tables, uses data in the tables to execute tests and compare results to expectations Easy to learn Markup Language Business rules fall into two broad categories Rules that calculate something or make decisions Business process or workflow specification on how something gets done and what the outcomes should be 11 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Two Minute Example Test Case Test division of calculator application Test Case Tests are expressed as table of: Input Expected Output Input: numerator, denominator Expected output: quotient 10 : 2 = 5 12 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Two Minute Example Test Case Wiki Page (Test Table) Java Code (Fixture) 13 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Two Minute Example Eclipse Setup Install BandXI FitNesse Plug-In Eclipse Update Site: http://www.bandxi.com/fitnesse/ Create a new Project Create source folder called src Add FitNesse to project class path (right click -> FitNesse) Create a wiki folder called FitnesseRoot Configure the root directory of the FitNesse plugin point to your FitNesseRoot Start FitNesse Plug-In 14 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Two Minute Example Wiki page Edit wiki page and enter test table Set page properties to test 15 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Two Minute Example examples.division numerator denominator quotient() 10 2 5 10 1 10 Wiki Page (Test Table) package examples; import com.microdoc.efitnesse.fit.columnfixture; public class Division extends ColumnFixture { public double numerator, denominator; Java Code (Fixture) } public double quotient() { return numerator/denominator; } 16 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Two Minute Example 17 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Wiki Pages Wikis, SubWikis Page Properties, Refactoring Pages PageHeader, PageFooter SetUp, TearDown Useful built-in support Index of contained subwiki pages:!contents Include other pages:!include Collapsable sections:!*****> Variables:!define Keyword support: null, blank, error 18 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

FitNesse Basic Fixture Types ColumnFixture Rows of data represent inputs and expected outputs RowFixture Check the exact set of result objects of a query ActionFixture Useful for emulating a series of events execute(), reset() missing / surplus-marker start(), press(), check() Additional support in fixtures Standard Java data types, Arrays Parameters Comparison expressions in numeric table cells 19 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Java Micro Edition OSGi Applications Remote Test Execution Remote Debugging System Analysis JUnit Test Cases Timeout behaviour 20 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Architecture Developer s View 21 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Architecture Technical View OSGi container Webserver hosting Wiki HTTP FitServlet HTTP Service Testing Framework (Fit) Application 22 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Extended Features QueryRowFixture Extended RowFixture Assertion mode (default behaviour) Query/Analyze mode (argument query ) Fixtures already available for analysis of OSGi bundles OSGi services System properties 23 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Extended Feature JUnitFixture Generic fixture to run JUnit Tests within FitNesse Advantage: One user interface for different test levels 24 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Extended Feature TimeoutColumnFixture Extends ColumnFixture Abstract superclass for userdefined fixtures Waits for the expected results within a distinct timeout interval without canceling the test Redos assertion of the results until the assertion is passed or the max timeout is reached The interval between two assertions is configurable Useful for Asynchronous operations Slow devices Device specific delays 25 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Demo 1: Automated Tests SKIDATA AG www.skidata.com Access Control Systems Several thousands of access transactions per day Methodology was adopted within the customer s QA department Used for automated regression tests 26 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Demo 1: Automated Tests (cont d) 27 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Demo 2: GUI Testing FleetBoard DispoPilot http://www.fleetboard.com Automatic GUI Testing GUI Fixtures with timeout behaviour Edit Button-Cick Hardkey-Click Select Assert Pages, Dialogs Test Recorder Tool GUI Analyze Feature 28 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Demo 3: Hands-On Embedded Devices Gumstix device Windows Mobile Smartphone Software efitnesse including runtime, documentation, wiki, and examples 29 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Outlook Continuous Build Integration Wiki improvements Extended Keywords Embedded HTML, PHP Flash 30 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Useful Links Technical Paper efitnesse http://www.microdoc.com/efitnesse FitNesse Testing Framework http://fitnesse.org Patang Testing Framework http://patang.sourceforge.net Eclipse FitNesse Plug-In http://www.bandxi.com/fitnesse/index.html General information about embedded Java and OSGi http://www.microdoc.com/ Custom Embedded Java Virtual Machines http://www.microdoc.com/microdoc/products 31 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Trademarks & Copyrights Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. IBM, and WebSphere are trademarks or registered trademarks of IBM Corporation in the United States and other countries. OSGi is a trademark of the OSGi Allicance. All other trademarks montioned are trademarks of the resperctive owners 32 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?

Thanks 33 Methodologies for Test-Driven Development of OSGi enabled embedded devices How fit is your device?