SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
© 2008 by Christine Mitterbauer, Marcus Harringer | MicroDoc GmbH | www.microdoc.com
Tutorial
Methodologies for Test-Driven Development of
OSGi enabled Embedded Devices
2 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Or .....
3 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
4 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
About us – MicroDoc
About → Challenges → Solution → eFitNesse → Demos
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
5 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
About our partners and projects in the embedded space
About → Challenges → Solution → eFitNesse → Demos
• IBM Business Partner
• AMD
• SKIDATA AG
• Daimler Fleetboard
• Lufthansa
• Trolltech
• Emlix
• Feig Electronic
• Banksys
• Gumstix
6 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
7 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Our experiences in real-life projects
About → Challenges → Solution → eFitNesse → Demos
Number of features
Time needed for testing
Testing and Features
Exponential relation if testing is
done manually
A lot of tests are performed
manually on the embedded
device.
Customers complain about time-
consuming quality assurance
Customers tend to reduce full test
coverage
Software quality suffers
8 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
9 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
10 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
11 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
12 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
FitNesse – Two Minute Example
About → Challenges → Solution → eFitNesse → Demos
Test Case
Test division of calculator application
Tests are expressed as table of:
Input
Expected Output
Input: numerator, denominator
Expected output: quotient
10 : 2 = 5
Test Case
13 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
FitNesse – Two Minute Example
About → Challenges → Solution → eFitNesse → Demos
Test Case
Java Code
(Fixture)
Wiki Page
(Test Table)
14 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
FitNesse – Two Minute Example
About → Challenges → Solution → eFitNesse → Demos
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
15 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
FitNesse – Two Minute Example
About → Challenges → Solution → eFitNesse → Demos
Wiki page
Edit wiki page and enter test table
Set page properties to “test”
16 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
FitNesse – Two Minute Example
About → Challenges → Solution → eFitNesse → Demos
Wiki Page
(Test Table)
|examples.Division|
|numerator|denominator|quotient()|
|10|2|5|
|10|1|10|
Java Code
(Fixture)
package examples;
import com.microdoc.efitnesse.fit.ColumnFixture;
public class Division extends ColumnFixture {
public double numerator, denominator;
public double quotient() {
return numerator/denominator;
}
}
17 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
FitNesse – Two Minute Example
About → Challenges → Solution → eFitNesse → Demos
18 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
19 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
Additional support in fixtures
Standard Java data types, Arrays
Parameters
Comparison expressions in numeric table cells
About → Challenges → Solution → eFitNesse → Demos
missing / surplus-marker
execute(), reset()
start(), press(), check()
20 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
About → Challenges → Solution → eFitNesse → Demos
Java Micro Edition
OSGi Applications
Remote Test Execution
Remote Debugging
About → Challenges → Solution → eFitNesse → Demos
System Analysis
JUnit Test Cases
Timeout behaviour
21 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Architecture – Developer‘s View
About → Challenges → Solution → eFitNesse → Demos
22 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Architecture – Technical View
About → Challenges → Solution → eFitNesse → Demos
Webserver
hosting Wiki
Testing Framework
(Fit)
Application
HTTP ServiceFitServlet
OSGi container
HTTP
23 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
24 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Extended Feature – JUnitFixture
Generic fixture to run JUnit Tests within FitNesse
Advantage:
One user interface for different test levels
About → Challenges → Solution → eFitNesse → Demos
25 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
26 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
27 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Demo 1: Automated Tests (cont‘d)
About → Challenges → Solution → eFitNesse → Demos
28 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
29 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Demo 3: Hands-On
Embedded Devices
Gumstix device
Windows Mobile Smartphone
Software
eFitNesse including runtime, documentation, wiki, and examples
About → Challenges → Solution → eFitNesse → Demos
30 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Outlook
Continuous Build Integration
Wiki improvements
Extended Keywords
Embedded HTML, PHP
Flash
About → Challenges → Solution → eFitNesse → Demos
31 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
32 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
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
About → Challenges → Solution → eFitNesse → Demos
33 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? |
© 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0
Thanks
About → Challenges → Solution → eFitNesse → Demos

Contenu connexe

En vedette

Automated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & SeleniumAutomated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & Selenium
mayurairon
 
Fitnesse user acceptance test - Presentation
Fitnesse   user acceptance test - PresentationFitnesse   user acceptance test - Presentation
Fitnesse user acceptance test - Presentation
Sunil Kumar Gunasekaran
 
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
Peter Kofler
 
Fitnesse Testing Framework
Fitnesse Testing Framework Fitnesse Testing Framework
Fitnesse Testing Framework
Ajit Koti
 

En vedette (20)

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
 
JavaLand: Quantified Social - Fitness-Geräte und -Portale mit Agorava
JavaLand: Quantified Social - Fitness-Geräte und -Portale mit AgoravaJavaLand: Quantified Social - Fitness-Geräte und -Portale mit Agorava
JavaLand: Quantified Social - Fitness-Geräte und -Portale mit Agorava
 
Automated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & SeleniumAutomated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & Selenium
 
TestWorks Conf 2015 Beefing up FitNesse - Arjan Molenaar
TestWorks Conf 2015 Beefing up FitNesse - Arjan MolenaarTestWorks Conf 2015 Beefing up FitNesse - Arjan Molenaar
TestWorks Conf 2015 Beefing up FitNesse - Arjan Molenaar
 
Fitnesse user acceptance test - Presentation
Fitnesse   user acceptance test - PresentationFitnesse   user acceptance test - Presentation
Fitnesse user acceptance test - Presentation
 
FitNesse, An Introduction
FitNesse, An IntroductionFitNesse, An Introduction
FitNesse, An Introduction
 
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
 
More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)
More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)
More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)
 
FitNesse With Scala
FitNesse With ScalaFitNesse With Scala
FitNesse With Scala
 
Automatic web ui testing
Automatic web ui testingAutomatic web ui testing
Automatic web ui testing
 
Integration and Acceptance Testing
Integration and Acceptance TestingIntegration and Acceptance Testing
Integration and Acceptance Testing
 
Moving from Ad Hoc Testing to Continuous Test Data with FitNesse
Moving from Ad Hoc Testing to Continuous Test Data with FitNesseMoving from Ad Hoc Testing to Continuous Test Data with FitNesse
Moving from Ad Hoc Testing to Continuous Test Data with FitNesse
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Writing Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseWriting Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using Fitnesse
 
Fitnesse Testing Framework
Fitnesse Testing Framework Fitnesse Testing Framework
Fitnesse Testing Framework
 
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
 
Fitnesse - Acceptance testing
Fitnesse - Acceptance testingFitnesse - Acceptance testing
Fitnesse - Acceptance testing
 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
 
2 fitnesse
2 fitnesse2 fitnesse
2 fitnesse
 

Similaire à Methodologies for Test-Driven Development of OSGi enabled Embedded Devices - Marcus Harringer and Christine Mitterbauer

Aspire ppt - 01.06.15
Aspire   ppt - 01.06.15Aspire   ppt - 01.06.15
Aspire ppt - 01.06.15
aspiresystem
 
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14hYuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
Yury M
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_Resume
Neha Arora
 

Similaire à Methodologies for Test-Driven Development of OSGi enabled Embedded Devices - Marcus Harringer and Christine Mitterbauer (20)

Stf 2019 workshop - enhanced test automation for web and desktop apps
Stf 2019   workshop - enhanced test automation for web and desktop appsStf 2019   workshop - enhanced test automation for web and desktop apps
Stf 2019 workshop - enhanced test automation for web and desktop apps
 
MidoNet roadmap
MidoNet roadmapMidoNet roadmap
MidoNet roadmap
 
MidoNet Vision & Roadmap
MidoNet Vision & RoadmapMidoNet Vision & Roadmap
MidoNet Vision & Roadmap
 
Aspire ppt - 01.06.15
Aspire   ppt - 01.06.15Aspire   ppt - 01.06.15
Aspire ppt - 01.06.15
 
Dev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneDev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference Melbourne
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
 
Codeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or MagicCodeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or Magic
 
Automate you Appium test like a pro!
Automate you Appium test like a pro!Automate you Appium test like a pro!
Automate you Appium test like a pro!
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Introducing Software Development Technologies
Introducing Software Development TechnologiesIntroducing Software Development Technologies
Introducing Software Development Technologies
 
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14hYuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
YuryMakedonov_GUI_TestAutomation_QAI_Canada_2007_14h
 
Best Practices for Troubleshooting Slow Citrix Logon and Ensuring Excellent U...
Best Practices for Troubleshooting Slow Citrix Logon and Ensuring Excellent U...Best Practices for Troubleshooting Slow Citrix Logon and Ensuring Excellent U...
Best Practices for Troubleshooting Slow Citrix Logon and Ensuring Excellent U...
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersAutomated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_Resume
 
"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"
 
What is end to end testing
What is end to end testingWhat is end to end testing
What is end to end testing
 
Continous integration-leon-kehl-2010
Continous integration-leon-kehl-2010Continous integration-leon-kehl-2010
Continous integration-leon-kehl-2010
 
How CAF aided in saving cost and signing a billion dollar contract for a BFS ...
How CAF aided in saving cost and signing a billion dollar contract for a BFS ...How CAF aided in saving cost and signing a billion dollar contract for a BFS ...
How CAF aided in saving cost and signing a billion dollar contract for a BFS ...
 
How To Sell Into Insurance with Perfecto
How To Sell Into Insurance with PerfectoHow To Sell Into Insurance with Perfecto
How To Sell Into Insurance with Perfecto
 
Resume
ResumeResume
Resume
 

Plus de mfrancis

Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
mfrancis
 

Plus de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+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@
 

Dernier (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Methodologies for Test-Driven Development of OSGi enabled Embedded Devices - Marcus Harringer and Christine Mitterbauer

  • 1. © 2008 by Christine Mitterbauer, Marcus Harringer | MicroDoc GmbH | www.microdoc.com Tutorial Methodologies for Test-Driven Development of OSGi enabled Embedded Devices
  • 2. 2 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Or .....
  • 3. 3 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 4. 4 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 About us – MicroDoc About → Challenges → Solution → eFitNesse → Demos 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
  • 5. 5 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 About our partners and projects in the embedded space About → Challenges → Solution → eFitNesse → Demos • IBM Business Partner • AMD • SKIDATA AG • Daimler Fleetboard • Lufthansa • Trolltech • Emlix • Feig Electronic • Banksys • Gumstix
  • 6. 6 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 7. 7 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Our experiences in real-life projects About → Challenges → Solution → eFitNesse → Demos Number of features Time needed for testing Testing and Features Exponential relation if testing is done manually A lot of tests are performed manually on the embedded device. Customers complain about time- consuming quality assurance Customers tend to reduce full test coverage Software quality suffers
  • 8. 8 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 9. 9 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 10. 10 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 11. 11 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 12. 12 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 FitNesse – Two Minute Example About → Challenges → Solution → eFitNesse → Demos Test Case Test division of calculator application Tests are expressed as table of: Input Expected Output Input: numerator, denominator Expected output: quotient 10 : 2 = 5 Test Case
  • 13. 13 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 FitNesse – Two Minute Example About → Challenges → Solution → eFitNesse → Demos Test Case Java Code (Fixture) Wiki Page (Test Table)
  • 14. 14 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 FitNesse – Two Minute Example About → Challenges → Solution → eFitNesse → Demos 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
  • 15. 15 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 FitNesse – Two Minute Example About → Challenges → Solution → eFitNesse → Demos Wiki page Edit wiki page and enter test table Set page properties to “test”
  • 16. 16 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 FitNesse – Two Minute Example About → Challenges → Solution → eFitNesse → Demos Wiki Page (Test Table) |examples.Division| |numerator|denominator|quotient()| |10|2|5| |10|1|10| Java Code (Fixture) package examples; import com.microdoc.efitnesse.fit.ColumnFixture; public class Division extends ColumnFixture { public double numerator, denominator; public double quotient() { return numerator/denominator; } }
  • 17. 17 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 FitNesse – Two Minute Example About → Challenges → Solution → eFitNesse → Demos
  • 18. 18 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 19. 19 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 Additional support in fixtures Standard Java data types, Arrays Parameters Comparison expressions in numeric table cells About → Challenges → Solution → eFitNesse → Demos missing / surplus-marker execute(), reset() start(), press(), check()
  • 20. 20 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 About → Challenges → Solution → eFitNesse → Demos Java Micro Edition OSGi Applications Remote Test Execution Remote Debugging About → Challenges → Solution → eFitNesse → Demos System Analysis JUnit Test Cases Timeout behaviour
  • 21. 21 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Architecture – Developer‘s View About → Challenges → Solution → eFitNesse → Demos
  • 22. 22 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Architecture – Technical View About → Challenges → Solution → eFitNesse → Demos Webserver hosting Wiki Testing Framework (Fit) Application HTTP ServiceFitServlet OSGi container HTTP
  • 23. 23 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 24. 24 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Extended Feature – JUnitFixture Generic fixture to run JUnit Tests within FitNesse Advantage: One user interface for different test levels About → Challenges → Solution → eFitNesse → Demos
  • 25. 25 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 26. 26 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 27. 27 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Demo 1: Automated Tests (cont‘d) About → Challenges → Solution → eFitNesse → Demos
  • 28. 28 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 29. 29 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Demo 3: Hands-On Embedded Devices Gumstix device Windows Mobile Smartphone Software eFitNesse including runtime, documentation, wiki, and examples About → Challenges → Solution → eFitNesse → Demos
  • 30. 30 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Outlook Continuous Build Integration Wiki improvements Extended Keywords Embedded HTML, PHP Flash About → Challenges → Solution → eFitNesse → Demos
  • 31. 31 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 32. 32 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 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 About → Challenges → Solution → eFitNesse → Demos
  • 33. 33 Methodologies for Test-Driven Development of OSGi enabled embedded devices | How fit is your device ? | © 2008 by C.Mitterbauer, M.Harringer made available under the EPL v1.0 Thanks About → Challenges → Solution → eFitNesse → Demos