This theme is aimed at researching new approaches that enable a more efficient and effective management of the alignment between requirements and test for embedded software applications. This general objective stem from challenges identified by the industrial partners of EASE:
- What levels of detail and abstraction levels of requirements are needed in order to effectively supporting testing to determine if the right quality is achieved?
- How can we benefit from improving the alignment among requirements, change requests, and test cases?
- How can we make testing of performance and other non-functional requirements more effective and efficient?
- How can we utilize test and verification feedback in the early phases of requirement analysis and reviews?
- How to best report and visualize feedback from verification of performance requirements back to original stakeholders and upper management?
The terms "requirements" and "test" are used in this work plan as key elements in the whole chain of explicit and implicit aspects of the decision-making around what system to build and when to accept a system before its release. We are also in requirements-test-alignment including the whole chain from conception of a product to its continuous evolution and maintenance, where alignment with other areas are important, such as configuration management, product line engineering and decision structures.
The alignment problem is a general challenge that can be characterized by identifying gaps in software engineering and management. A gap constitutes an undesired distance among viewpoints within the software engineering and management process.
Project D.1: Problem Exploration and State-of-the-art
In order to support the solution design research that aims to attack the problem of alignment and the undesired gaps between requirement engineering and verification, we need to better understand the problems and the current state-of-practice in industry, as well as state-of-the-art in the current research front. This project involves two activities:
- Empirical, exploratory studies. This part is subject to empirical investigation. A large scale in-depth interview study was initiated in 2009, involving at least 10 companies and more than 9 researchers aiming at a data set based on at least 30 interviews with relevant practitioners covering many different roles. The overall goal is to identify concrete and general challenges that can help focus our solution design research efforts.
- Investigating best existing knowledge. We aim at an extensive review of existing literature on requirements and test alignment, as well as literature on existing solutions that may scale to industry-grade applications. A second part of this activity is also the development of a framework for measurement of improvement success. This framework can be used by all projects in EASE to measure the success of the research efforts transferred to industry.
Project D.2: Large-scale test to requirements linking
Traceability links between test and requirements are used for verification of requirements, but also for planning of the verification. Good traceability also facilitates aspects such as software change impact analysis, reuse analysis, program comprehension and regression testing.
Manually creating links represents state-of-the-practice. Keeping the traceability links maintained using the available tools is however cumbersome and involves significant effort. In this project, we intend to move towards a more automated linking.
Project D.3: StreamRET: Adaptive Framework for Streamlined Requirements and Test Co-optimization
The main purpose of this project is to utilize the inherent natural overlap between requirements and test. It uses product line thinking, developing core assets as well as variants of patterns, where requirements and test work is balanced depending on product and organizational needs. The overall goals are:
- Minimal overlap and waste by using variation selection aspects.
- Variations depend on e.g. domain, criticality, time-to-market etc, making it possible to choose what type of requirements engineering and tests to perform in relation to the needs and goals of the organization.
- Variation selection aspects can be used on company, product or even feature level to adapt what is done to assure good-enough for purpose.
An organization can have several variation selection aspects (and the selection of the aspect or combination of aspects dictates the level of work being done in RE and Test):
The product line paradigm enables core assets to be a common base for RE and Test, and the variation points determine what is specific to particular products or features.