20
Exploring the fault finding capabilities of online testing in OSGi Michaela Greiler Hans-Gerhard Gross Arie van Deursen Technical University Delft Software Engineering Research Group

Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Embed Size (px)

Citation preview

Page 1: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Exploring the fault finding capabilities of online testing in

OSGi

Michaela Greiler Hans-Gerhard Gross Arie van Deursen

Technical University Delft

Software Engineering Research Group

Page 2: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Overview

• Service-Oriented Architectures

– SOA Challenges

• Online Testing in OSGi

– A Case Study

– Seeded Faults

– Fault Finding Capabilities

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 3: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Service-Oriented Architectures

A software architecture that aims at reusability and interoperability by exposing functionality

as loosely coupled services, that can be composed to form business processes.

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 4: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

SOA Runtime Evolution: Challenge I

Stakeholder Separation

• Communication

• Ownership

• Responsibilities

• Influence

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 5: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

SOA Runtime Evolution: Challenge II

Service Integration

• Black-boxes

• Test environment

• (Runtime)-Testability

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 6: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

SOA Runtime Evolution: Challenge III

Service Versioning and Migration

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

• Notification

• Update Strategy

• Regression Testing

Page 7: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

SOA Runtime Evolution: Challenge IV

Service Binding and Reconfiguration

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 8: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Case Study Design

• Goal: assess the capabilities of our online testing framework to find typical reconfiguration faults

• Approach: 1. extend original system with online testing infrastructure 2. reconfiguration scenario, were a number of faults have been seeded

• Key Metrics and Execution Environment:– Apache Felix 1.8 – OVTS system: 6 key bundles, 1 utility bundle, 2176 LOCs, 41 classes. 349 LOCs

dedicated to testing; 39 test cases consisting of 290 LOCs.

• Units of Analysis:– level of provided test isolation – detection rate for the seeded faults– how have they been found, or why couldn’t they be detected? – evaluation of the support of the execution environment to prevent

inconsistencies in the overall system

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 9: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Case Study Overview

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 10: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Built-in Testing

• Associate the tests to the component• Isolate effects of testing operations• Benefits

– Simplify the management of the tests– Can add tests at runtime– Components’ functionality is separated from the tests– At anytime of the components can be re-validated,

whenever needed (eg. after a modification of the system)

• Adoption effort– Explicit definition of the tests– Testing framework has to be linked with the system

platform

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 11: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Built-in Online Testing

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 12: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Online Tests

• Discovery Tests: – Can I find all required services?– Are those services the services expected?

• Binding Tests: – Can I bind required services?– Do they conform syntactically (service descriptions) to my

expectation?

• Execution Tests: – Test invocations looking for:

• expectations about sequential constraints, i.e., the protocol,• simple input-output relations • non-functional requirements (e.g., timing)

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 13: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Test Process

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 14: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

SOA Faults

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Fault Classes Type/ Form

Publishing Service DescriptionService Deployment

Discovery No Service FoundWrong Service FoundTimed Out

Composition No Valid CompositionComposition FaultyTimed Out

Binding Binding DeniedBound to Wrong ServiceTimed Out

Execution Service CrashedIncorrect ResultsTimed Out

“A Fault Taxonomy for Service-Oriented Architecture” by Bruning et al. 2007

Discover

Composition

Bind

Execute

Publish

Page 15: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Faults, Forms and Tests

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Fault Classes Type/ Form Found by

Publishing Service DescriptionService Deployment

Binding TestBinding Test

Discovery No Service FoundWrong Service FoundTimed Out

Discovery TestDiscovery TestTime Test

Composition No Valid CompositionComposition FaultyTimed Out

Composition TestComposition TestTime Test

Binding Binding DeniedBound to Wrong ServiceTimed Out

Composition TestXTime Test

Execution Service CrashedIncorrect ResultsTimed Out

Discovery TestX (unit tests)Time Test

Page 16: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Example: Faulty Reconfiguration

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 17: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Lessons Learned

• Online versus Offline Testing– Adequate test environment

– Current state of the production system

• Shortcomings OSGi Framework– Support for overall consistency management

• Service - Description Mismatch

• Declaration of Dependencies

• Export/Import of Packages (e.g. wiring)

– Middleware versus Application

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 18: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

General Technical Issues

• Extended Lifecycle Support

• Central Auditing Authority

• Additional Information

• State Transfer

• Automated Test Generation

• (Runtime)-Testability

• Performance Overhead

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 19: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Summary

• Online built-in testing framework that provides test isolation

• A case study demonstrating the capabilities of this online testing framework to detect faults during system reconfiguration that could not be addressed in the test environment

• OSGi platform should support consistency management

14-12-2009Technical University Delft – OSGi

Users’Forum 2009

Page 20: Online Testing In Exploring the fault finding capabilities of online testing in OSGiOs Gi

Thank you!Michaela Greiler

[email protected]

Technical University Delft

Software Engineering Research Group

14-12-2009Technical University Delft – OSGi

Users’Forum 2009