Quality assurance takes a huge effort during a software development project. Especially the generation of test cases and test data but also the execution, analysing the results and the maintenance consumes a lot of resources. Model-based testing tries to reduce the effort by automating several testing activities. In this paper, an approach for test case decomposition by means of system decomposition is introduced. The system’s structure is described by composition structure diagrams, the systems behaviour by state charts. By transferring structural decomposition steps and use of the additional behavioural descriptions, existing test cases can be adapted to the refined system description automatically. Keywords–Model-Based-Testing, Test-Case-Decomposition, Sequence Diagram
Requirements engineering and architectural design are key activities for successful development of softwareintensive systems. Both activities are strongly intertwined and interrelated. Particularly, in early development stages requirements and architecture decisions are frequently changing. Thus, advanced systematic approaches are needed, which could minimize the risks of wrong early requirements and architectural decisions. The fundamental problem addressed in this paper is the development of inconsistencies at the advanced approaches for co-evolution of requirements and architectures. Inconsistencies lead to an incorrect consideration of requirements by the system under development and consequently to unfulfilled requirements. In this paper, a domain specific model-based approach is presented, which supports the co-evolution of requirements and architectures. The approach provides simplified scenario-based models for the description of requirements, which are suitable for validation by stakeholders. Furthermore, the approach provides a component-based model for a precise and complete description of architectures. Adequate inter-relations between scenariobased and component-based models are defined, which support the consistence maintenance. Keywords-requirements; architecture; evolution; consistency.
In order to select the components for a technical system, a detailed description of the systems features is necessary. For this purpose feature-trees are currently preferred. By selecting features from these feature-trees the corresponding components are chosen. Within the development process it is also useful to describe the functions of the technical system as well and to associate these functions with the components. For this functional-networks are used so far, which describe the dependencies between the different functions. But feature-trees and functional-networks are considered separately and not associated with the components within one model. For this reason, the features and functions of a system are usually chosen in advance. So there are two independent ways to choose components for one product. By evolution and reusing of existing components it is possible to create systems with new features or functions. If it would be possible to describe feature, functions and components within one language, proposals for new components could be made. In this paper an approach for describing features, functions and components with one language is introduced.
For decades software testing is a fundamental part in software development. In recent years, model-based testing is becoming more and more important. Model-based testing approaches enable the automatic generation of test cases from models of the system to build. But manually derived test cases are still more efficient in finding failures. To reduce the effort but also keep the advantages of manually derived test cases a decomposition of test cases is introduced. This decomposition has to be adapted to the decomposition of the system model. The objective of my PhD thesis is to analyse these decompositions and develop a method to transfer them to the test cases. That allows the reusing of manually derived test cases at different phases of a software development project.
The increasing globalization in the automotive industry creates worldwide new target groups. Because of that, regional-specific requirements have to be considered in the vehicle development process. This increases the complexity in conception of the vehicle’s design. In order to create vehicles economically the depth of production must not go up disproportionately. To develop systematically various factors in the vicinity of a vehicle and further to demonstrate them, in relation to the technical characteristics of a vehicle concept, a model was created in the early stages of the developing process. Finally the characteristics will be clustered to so-called ‘prototypes’, which also summarize required similar characteristics from the customer. In this case the prototypes represent a compromise between the large numbers of regional-specific alternatives and less economical ones.
Automotive software systems are an essential and innovative part of nowadays connected and automated vehicles. Automotive industry is currently facing the challenge to re-invent the automobile. Consequently, automotive software systems, their software systems architecture, and the way we engineer those kinds of software systems are confronted with major challenges: managing complexity, providing flexibility, and guaranteeing dependability of the desired automotive software systems and the corresponding engineering process. In this paper we will present an improved and sophisticated engineering approach. Our approach is based on the managed and continuous evolution of dependable automotive software systems. It helps engineers to manage system complexity based on continous engineering processes to iteratively evolve automotive software systems and therby guarantee the required dependability issues. Based on a running sample, we will present and illustrate the main assets of the proposed engineering approach for managed and continuous evolution of dependable automotive software systems.