Background: Requirements engineering and verification (REV) processes play essential roles in software product development. There are physical and non-physical distances between entities (actors, artifacts, and activities) in these processes. Current practices that reduce the distances, such as automated testing and alignment of document structure and tracing only partially close the above mentioned gap. Objective: The aim of this thesis is to investigate solutions w.r.t their ability to reduce the distances between requirements engineering and verification. Two techniques that are explored in this thesis are automated testing (model-based testing, MBT) and alignment of document structure and tracing (traceability). Method: The research methods used in this thesis are systematic mapping, software requirements mining, case study, literature survey, validation study, and design science. Results: MBT and traceability are effective in reducing the distance between requirements and verification. However, both activities have some shortcoming that needs to be addressed when used for that purpose. Current MBT techniques in the context of software performance do not attain all the goals of MBT: 1) requirements validation, 2) checking the testability of requirements, and 3) the generation of an efficient test suite. These goals are essential to reduce the distance. We developed and assessed performance requirements verification and test environment generation approach to tackle these shortcomings. Also, traceability between requirements and verification suffers from the low granularity of trace links and does not support the verification of all requirements. We propose the use of taxonomic trace links to trace and align the structure of requirements specifications and verification artifacts. The results from the validation study show that the solution is feasible in practice. However, this comes with challenges that need to be addressed. Conclusion: MBT and improved traceability reduce multiple distances between actors, artifacts, and activities in the requirements engineering and verification process. MBT is most effective in reducing the distances when the model used is built from the requirements. Traceability is essential in easing access to relevant information when needed and should not be seen as an overhead. When creating trace links, we need to consider the difference in the abstraction, structure, and time between the linked artifacts
Requirements Eng (2022). https://doi.org/10.1007/s00766-022-00379-3
Abstract
Background:
Model-Based Testing (MBT) is a method that supports the design and execution of test cases by models that specify the intended behaviors of a system under test.
Motivation:
While systematic literature reviews on MBT in general exist, the state-of-the-art on modeling and testing performance requirements has seen much less attention.
Method:
Therefore, we conducted a systematic mapping study on model-based performance testing. Then, we studied natural language software requirements specifications in order to understand which and how performance requirements are typically specified. Since none of the identified MBT techniques supported a major benefit of modeling, namely identifying faults in requirements specifications, we developed the Performance Requirements verificatiOn and Test EnvironmentS generaTion approach (PRO-TEST). Finally, we evaluated PRO-TEST on 149 requirements specifications.
Results:
We found and analyzed 57 primary studies from the systematic mapping study, and extracted 50 performance requirements models. However, those models don't achieve the goals of MBT, which are validating requirements, ensuring their testability, and generating the minimum required test cases. We analyzed 77 Software Requirements Specification (SRS) documents, extracted 149 performance requirements from those SRS, and illustrate that with PRO-TEST we can model performance requirements, find issues in those requirements and detect missing ones. We detected three not-quantifiable requirements, 43 not-quantified requirements, and 180 underspecified parameters in the 149 modeled performance requirements. Furthermore, we generated 96 test environments from those models.
Conclusion:
By modeling performance requirements with PRO-TEST, we can identify issues in the requirements related to their ambiguity, measurability, and completeness. Additionally, it allows to generate parameters for test environments.
Information and Software Technology Journal [Submitted - 2022-04-05]
Abstract
Context:
In infrastructure projects with design-build contracts, the supplier delivers digital assets (e.g., 2D or 3D models) as a part of the design deliverable. These digital assets should align with the customer requirements. Poor requirements communication between the customer and the supplier is one of the reasons for project overrun. To the best of our knowledge, no study have yet investigated challenges in requirements communication in the customer-supplier interface.
Objective:
In this article, we investigated the processes of requirements validation, requirements communication, and digital assets verification, and explored the challenges associated with these processes.
Methods:
We conducted two exploratory case studies. We interviewed ten experts working with digital assets from three companies working on two infrastructure projects (road and railway).
Results:
We illustrate the activities, stakeholders, and artifacts involved in requirements communication, requirements validation, and digital asset verification. Furthermore, we identified 14 challenges (in four clusters: requirements quality, trace links, common requirements engineering (RE), and project management) and their causes and consequences in those processes.
Conclusion:
Communication between the client and supplier in sub-contracted work in infrastructure projects is often indirect. This puts pressure on the quality of the tender documents (mainly requirements documents) that provides the means for communication and controls the design verification processes. Hence, it is crucial to ensure the quality of the requirements documents by implementing quality assurance techniques.
Journal of Systems and Software [Submitted - 2022-06-xx]
Abstract
Background:
Traceability is an important quality of artifacts that are used in knowledge-intensive tasks. When project budgets and time pressure are a reality, this leads often to a down-prioritization of creating trace links.
Objective:
We propose a new idea that uses knowledge organization structures, such as taxonomies, ontologies and thesauri, as an auxiliary artifact to establish trace links. In order to investigate the novelty and feasibility of this idea, we study traceability in the area of requirements engineering.
Method:
First, we conduct a literature survey to investigate to what extent and how auxiliary artifacts have been used in the past for requirements traceability. Then, we conduct a validation study in industry, testing the idea of taxonomic trace links with realistic artifacts.
Results:
We have reviewed 126 studies that investigate requirements traceability; ninetey-one of them use auxiliary artifacts in the traceability process. In the validation study, while we have encountered six challenges when classifying requirements with a domain-specific taxonomy, we found that designers and engineers are able to classify design objects comprehensively and reliably.
Conclusion:
The idea of taxonomic trace links is novel and feasible in practice. However, the identified challenges need to be addressed to allow for an adoption in practice and enable a transfer to software intensive contexts.