Software testing is a very important part in the software engineering process, like in the context of remote (distributed) component types in component-based systems which provide/use services over the network via RPC/RMI communication calls or messaging. Based on explicit data models of the different heterogeneous software tools taking part in the integration process, a generic approach for the generation of test cases has to be implemented. Tools connected to the OpenEngSB framework are seen as components for which test cases simulating the tool's behavior have to be derived. There are two distinct ways of simulating a tool’s behavior. In the first one, the tool is generating the test-cases from the specification of the corresponding components. In the second approach, the tool is recording the communication between the components and creates from this network information’s the test-cases.
Benefit for the Student
Learning about component-based systems, testing of such systems, semantic models, and model-driven engineering.
Benefit for the Project
By now, there is no concept enabling a test-driven engineering approach which takes into account existing knowledge about tools, processes, and data. The automatic derivation of test cases using this knowledge would increase the quality of the integration solution.
Excellent skills in understanding and programming Java code are necessary. Useful would be knowledge about OSGi, component-based systems, testing approaches, and about semantic web technologies (e.g., OWL).