Methodologies for Test-Driven Development of OSGi enabled Embedded Devices

Marcus Harringer (MicroDoc GmbH), Christine Mitterbauer (MicroDoc GmbH)

Test And Performance · Tutorial
Presentation
Monday, 10:30, 2 hours | Great America Meeting Room 2 | Download in iCal Format

7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18
·
19

Marcus Harringer

Christine Mitterbauer

This tutorial introduces test-driven methodologies for developing OSGi-based [1] Java ME [2] applications. We present a solution using the Eclipse IDE and a modified version of the FitNesse testing framework [3]. FitNesse extends the Framework for Integrated Tests (FIT) [4] with a wiki interface.

One of the main challenges when developing embedded systems is the fact that development and execution take place on different platforms. Ideally, application code and corresponding automated tests are executed on the target execution platform. Common practice, however, is that automated tests are mostly performed on the development machine using simulators - tests on the target platform are often performed manually.

Another challenge in software development is customer acceptance. Developer understanding and customer expectation based on written requirement specifications often differ drastically. These misunderstandings can result in problems which are recognized fairly late in the development process, particularly when acceptance tests are performed with the final software version only.

Why not encourage the customer to express his requirements and expectations as acceptance tests in a human readable (while also executable) form ? If this method is adpoted, developers are able to implement the software which fulfills the defined requirement tests, and acceptance procedures become a verification process of the test execution. FitNesse closes this gap by providing a wiki with an easy to learn markup language to define acceptance tests and an extensible feature set to execute and verify these tests.

In this tutorial we present our modified version of FIT/FitNesse, called eFitNesse, a bundle that enables OSGi applications to be tested via the FitNesse wiki interface. eFitNesse enables OSGi applications that can either run on the development machine or on an embedded Java ME-enabled target device. eFitNesse can be seamlessly integrated into the already available Eclipse plug-in for FitNesse [5].

We discuss the extension of the FitNesse framework to enable
We will also show live demonstrations for how to express acceptance tests within eFitNesse and test them on embedded applications running on a Linux Gumstix device and a Windows Mobile smartphone.

Participants will benefit from our experiences in "real life" projects. We will focus on practical aspects, look beyond the surface, and we will also discuss how to motivate customers to define acceptance tests. All participants are invited to take away the eFitNesse plug-in including the source code and some examples.

[1] Open Services Gateway Initiative: http://www.osgi.org
[2] Java Micro Edition: http://java.sun.com/javame/
[3] FitNesse acceptance testing framework:http://www.fitnesse.org
[4] FIT testing framework: http://fit.c2.com/
[5] Fitnesse Eclipse Plugin: http://bandxi.com/

Marcus Harringer is a software engineer and consultant at MicroDoc GmbH in Munich focusing on embedded Java and OSGi development. Marcus was involved in the introduction of TDD within the MicroDoc development process. Marcus holds a M.S. degree in Computer Engineering from the University of Salzburg/Austria.

Christine Mitterbauer is a senior software engineer and authorized signatory at MicroDoc GmbH in Munich. She leads several OSGi-based customer projects especially in the embedded space. MicroDoc introduced Test-Driven Development within these projects and gained quite some experience in TDD. The mostly positive results lead to the adoption of TDD for all development processes within MicroDoc.

Floor Plan

Gold sponsors

BEA logo

IBM logo

Wind River logo

Replay Solutions logo

JBoss logo

SOPERA logo

Cloudsmith logo

BIRT Exchange logo

Skyway Software logo

Oracle

BlackBerry logo

AMD logo

Silver sponsors

Sybase

Google

Genuitec

Instantiations

Teamprise

Telelogic

Innoopract

Business Objects

LynuxWorks logo

Hardware sponsor

AMD logo

Media sponsors

Extension Media

Methods and Tools

ACM

Addison-Wesley logo

SD Times logo

Open Systems Publishing

Software Test & Performance logo

SDForum

Be a Sponsor