Regardless if they are plug-ins for the IDE or stand-alone applications, testing Eclipse RCP, e4 and OSGi applications requires additional strategies, techniques and tools compared to plain Java applications. On one hand, concepts like service-orientation, modularity and dependency injection enable a comprehensive and efficient testing strategy. On the other hand, in order to use these benefits, additional knowledge for the development team is required.
This course provides an introduction on testing techniques, tools and best practices, which are specific for testing bundles, Eclipse RCP, e4, OSGi applications and related technologies.
The course covers different kinds of testing encompassing unit tests, integration tests and system tests for the complete application. Additionally, it deals with distinct components including services, data models and UI components. Best practices, tools and testing strategies are introduced for the different areas of testing.
The course is designed by Eclipse project leaders and committers, who have many years of experience with testing Eclipse technologies in open source and customer projects. Our small class format (max. 6-8 participants) ensures that participants gain a broad understanding of EMF Forms and get plenty of individual support from our experts.
Duration: 1 day
Dates and Registration
Course Goals, Audience and Prerequisites
- Understand fundamental concepts of testing Eclipse and OSGi applications
- Apply these concepts in practice. Learn how to test bundles, services and UI components
- Get an overview of available testing tooling
- Learn how to develop an efficient and comprehensive testing strategy for a custom project
- Developers who develop bundles, plug-ins, Eclipse RCP, e4 or OSGi applications
- Architects and product managers who want to apply and evaluate efficient testing in their software projects
- Knowledge of Java and object-oriented programming
- Experience using the Eclipse IDE is beneficial
- Basic knowledge of SWT, OSGi and Eclipse RCP / e4
- Basic knowledge of JUnit
If your team has no previous experience with JUnit or any other prerequisites, the training can be extended with an introduction to these topics.
For in-house trainings, the outline can be adapted to your specific requirements.
Introduction to testing and JUnit
- Overview and Terms
- JUnit refreshment
- Test-Driven Development
- Measuring test coverage
- Mock Objects
- Testing patterns and best practices
Unit Testing of OSGi Bundles (Plug-Ins)
- Test fragments
- Testing objects and components
- JUnit Tests vs. Plug-In Tests
- Improving testability of components
- Optional: Dependency Injection (e4)
Testing UI Components
- Unit tests for UI components
- Asserts in UI components
- Introduction to SWT Bot
- Strategies for integration tests
- Integrating custom components
- Differentiation between Integration and Unit Tests
System Testing (Also referred to as “UI testing”)
- Introduction and motivation of System Testing
- Strategies for System testing
- Introduction to RCP Testing Tool
- Best practices
- Additional testing tools
- Testing strategies
- Course duration: 1 day (can be optionally extended to 2 days)
- Course structure: instructor led with at least 50% hands-on labs and tutorials
- Learn better in a small group: maximum 6-8 participants per instructor
- Equipment: participants supply their own computer with an up-to-date installation of Eclipse
- Outline: For in-house trainings, topics can be adapted to specific requirements, the combination with other trainings is also possible.
Classes can be held in German or in English. Additional languages are available on request.