Skip to topic | Skip to bottom


MichaelaGreiler.OnlineTestingr1.10 - 27 Apr 2010 - 09:40 - MichaelaGreiler

Start of topic | Skip to actions

Online Testing and Runtime Evolution


The application used to demonstrate the runtime update and online testing method, consist at the moment, of three main components: The visualizer, the collect-information service and the weather-service, as illustrated below.

The visualizer binds a collect-information service, that uses several information services to retrieve data, and provides them to users. At the moment, the collect-information service, only requests one service (that is the weather service).

The proxy services are interposed between each service provider and its service consumers. They are used for the runtime update process, in order to keep service references available during the update process.


The most important part is the Built-in test infrastructure, consisting of testable services, and testing services. Testable services provide test awareness, and test isolation for test sensitive parts. The testing services provide test cases that are executed in parallel to the operational execution of the system.

More information on our online testing approach can be found in the Technical Report.

Online Testing and Runtime Scenario



Online Testing and Runtime Scenario

The UpdateManager, offers two new commands for runtime evolution and online testing, namely "runtest" and "runup". These commands have been added to the Felix framework, and can be used to run first an online test of a potentiality new version of a service, that should be installed, and if the test is successfully passed, to replace the old version of the service, with the new one.

The online testing command, installs the testing version of new service, and executes its test suite. During this test, that happens in parallel to the execution of the operational system, testable services are bound and invoked to guarantee test isolation. This ensures that the testing process does not interfere with the execution of the system.

After the execution of test, the testing version is uninstalled again.

If the test has been successfully passed, the runup command can be used to install the new, already tested, version of the service. The main difference in our approach to replace the old version by the new one, lies in the fact, that before the update is triggered, an UPDATEIN event is sent. This event is used by the proxy service of the affected service provider, to prevent of unregistering its service, and instead to start buffering incoming service requests. After the successful replacement, an UPDATEOUT event is sent, and used by the same proxy to stop buffering service requests.

We prepared an online testing and runtime update Scenario guideline, that uses our approach to test a new version of the collect-information service online, and after a successfully pass to replace the old version by the new one.


Source Code

The complete source code of this information service application.

Download Version 0.1.4:


To make it more convenient to try out our Information Service Example, we have already zipped the Felix framework, with all required libraries and the example application.

Download Version 0.1.4:

Linux: For versions before 0.1.3 the felix location path for bundles, has to be adapted. E.g., from file:bundle\bundlename.jar to file:bundle/bundlename.jar

The Scenario guideline explains installation and execution of the application, and demonstrates an online testing and runtime update scenario.



Copyright 2010 Technical University Delft, Michaela Greiler

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Edit | Attach | Printable | Raw | More topic actions
Revisions: | r1.10 | > | r1.9 | > | r1.8 | Page history | Backlinks
You are here: MichaelaGreiler > OnlineTesting

to top

Copyright © 2003-2018, Software Engineering Research Group, Delft University of Technology, The Netherlands