4,321 research outputs found
An Industrial Case Study on Test Cases as Requirements
It is a conundrum that agile projects can succeed 'without requirements' when
weak requirements engineering is a known cause for project failures. While
Agile development projects often manage well without extensive requirements
documentation, test cases are commonly used as requirements. We have
investigated this agile practice at three companies in order to understand how
test cases can fill the role of requirements. We performed a case study based
on twelve interviews performed in a previous study. The findings include a
range of benefits and challenges in using test cases for eliciting, validating,
verifying, tracing and managing requirements. In addition, we identified three
scenarios for applying the practice, namely as a mature practice, as a de facto
practice and as part of an agile transition. The findings provide insights into
how the role of requirements may be met in agile development including
challenges to consider.Comment: Proceedings of XP 2015: 27-3
Engineering simulations for cancer systems biology
Computer simulation can be used to inform in vivo and in vitro experimentation, enabling rapid, low-cost hypothesis generation and directing experimental design in order to test those hypotheses. In this way, in silico models become a scientific instrument for investigation, and so should be developed to high standards, be carefully calibrated and their findings presented in such that they may be reproduced. Here, we outline a framework that supports developing simulations as scientific instruments, and we select cancer systems biology as an exemplar domain, with a particular focus on cellular signalling models. We consider the challenges of lack of data, incomplete knowledge and modelling in the context of a rapidly changing knowledge base. Our framework comprises a process to clearly separate scientific and engineering concerns in model and simulation development, and an argumentation approach to documenting models for rigorous way of recording assumptions and knowledge gaps. We propose interactive, dynamic visualisation tools to enable the biological community to interact with cellular signalling models directly for experimental design. There is a mismatch in scale between these cellular models and tissue structures that are affected by tumours, and bridging this gap requires substantial computational resource. We present concurrent programming as a technology to link scales without losing important details through model simplification. We discuss the value of combining this technology, interactive visualisation, argumentation and model separation to support development of multi-scale models that represent biologically plausible cells arranged in biologically plausible structures that model cell behaviour, interactions and response to therapeutic interventions
A Taxonomy for Requirements Engineering and Software Test Alignment
Requirements Engineering and Software Testing are mature areas and have seen
a lot of research. Nevertheless, their interactions have been sparsely explored
beyond the concept of traceability. To fill this gap, we propose a definition
of requirements engineering and software test (REST) alignment, a taxonomy that
characterizes the methods linking the respective areas, and a process to assess
alignment. The taxonomy can support researchers to identify new opportunities
for investigation, as well as practitioners to compare alignment methods and
evaluate alignment, or lack thereof. We constructed the REST taxonomy by
analyzing alignment methods published in literature, iteratively validating the
emerging dimensions. The resulting concept of an information dyad characterizes
the exchange of information required for any alignment to take place. We
demonstrate use of the taxonomy by applying it on five in-depth cases and
illustrate angles of analysis on a set of thirteen alignment methods. In
addition, we developed an assessment framework (REST-bench), applied it in an
industrial assessment, and showed that it, with a low effort, can identify
opportunities to improve REST alignment. Although we expect that the taxonomy
can be further refined, we believe that the information dyad is a valid and
useful construct to understand alignment
Runtime Verification Based on Executable Models: On-the-Fly Matching of Timed Traces
Runtime verification is checking whether a system execution satisfies or
violates a given correctness property. A procedure that automatically, and
typically on the fly, verifies conformance of the system's behavior to the
specified property is called a monitor. Nowadays, a variety of formalisms are
used to express properties on observed behavior of computer systems, and a lot
of methods have been proposed to construct monitors. However, it is a frequent
situation when advanced formalisms and methods are not needed, because an
executable model of the system is available. The original purpose and structure
of the model are out of importance; rather what is required is that the system
and its model have similar sets of interfaces. In this case, monitoring is
carried out as follows. Two "black boxes", the system and its reference model,
are executed in parallel and stimulated with the same input sequences; the
monitor dynamically captures their output traces and tries to match them. The
main problem is that a model is usually more abstract than the real system,
both in terms of functionality and timing. Therefore, trace-to-trace matching
is not straightforward and allows the system to produce events in different
order or even miss some of them. The paper studies on-the-fly conformance
relations for timed systems (i.e., systems whose inputs and outputs are
distributed along the time axis). It also suggests a practice-oriented
methodology for creating and configuring monitors for timed systems based on
executable models. The methodology has been successfully applied to a number of
industrial projects of simulation-based hardware verification.Comment: In Proceedings MBT 2013, arXiv:1303.037
Testing and test-driven development of conceptual schemas
The traditional focus for Information Systems (IS) quality assurance relies on the evaluation of its implementation. However, the quality of an IS can be largely determined in the first stages of its development. Several studies reveal that more than half the errors that occur during systems development are requirements errors. A requirements error is defined as a mismatch between requirements specification and stakeholders¿ needs and expectations.
Conceptual modeling is an essential activity in requirements engineering aimed at developing the conceptual schema of an IS. The conceptual schema is the general knowledge that an IS needs to know in order to perform its functions. A conceptual schema specification has semantic quality when it is valid and complete. Validity means that the schema is correct (the knowledge it defines is true for the domain) and relevant (the knowledge it defines is necessary for the system). Completeness means that the conceptual schema includes all relevant knowledge. The validation of a conceptual schema pursues the detection of requirements errors in order to improve its semantic quality.
Conceptual schema validation is still a critical challenge in requirements engineering. In this work we contribute to this challenge, taking into account that, since conceptual schemas of IS can be specified in executable artifacts, they can be tested. In this context, the main contributions of this Thesis are (1) an approach to test conceptual schemas of information systems, and (2) a novel method for the incremental development of conceptual schemas supported by continuous test-driven validation. As far as we know, this is the first work that proposes and implements an environment for automated testing of UML/OCL conceptual schemas, and the first work that explores the use of test-driven approaches in conceptual modeling.
The testing of conceptual schemas may be an important and practical means for their validation. It allows checking correctness and completeness according to stakeholders¿ needs and expectations. Moreover, in conjunction with the automatic check of basic test adequacy criteria, we can also analyze the relevance of the elements defined in the schema. The testing environment we propose requires a specialized language for writing tests of conceptual schemas. We defined the Conceptual Schema Testing Language (CSTL), which may be used to specify automated tests of executable schemas specified in UML/OCL. We also describe a prototype implementation of a test processor that makes feasible the approach in practice.
The conceptual schema testing approach supports test-last validation of conceptual schemas, but it also makes sense to test incomplete conceptual schemas while they are developed. This fact lays the groundwork of Test-Driven Conceptual Modeling (TDCM), which is our second main contribution. TDCM is a novel conceptual modeling method based on the main principles of Test-Driven Development (TDD), an extreme programming method in which a software system is developed in short iterations driven by tests. We have applied the method in several case studies, in the context of Design Research, which is the general research framework we adopted. Finally, we also describe an integration approach of TDCM into a broad set of software development methodologies, including the Unified Process development methodology, MDD-based approaches, storytest-driven agile methods and goal and scenario-oriented requirements engineering methods.Els enfocaments per assegurar la qualitat deis sistemes d'informació s'han basal tradicional m en! en l'avaluació de la seva
implementació. No obstan! aix6, la qualitat d'un sis tema d'informació pot ser ampliament determinada en les primeres
fases del seu desenvolupament. Diversos estudis indiquen que més de la meitat deis errors de software són errors de
requisits . Un error de requisit es defineix com una desalineació entre l'especificació deis requisits i les necessitats i
expectatives de les parts im plicades (stakeholders ).
La modelització conceptual és una activitat essencial en l'enginyeria de requisits , l'objectiu de la qual és desenvolupar
!'esquema conceptual d'un sistema d'informació. L'esquema conceptual és el coneixement general que un sistema
d'informació requereix per tal de desenvolupar les seves funcions . Un esquema conceptual té qualitat semantica quan és
va lid i complet. La valides a implica que !'esquema sigui correcte (el coneixement definit és cert peral domini) i rellevant (el
coneixement definit és necessari peral sistema). La completes a significa que !'esquema conceptual inclou tot el
coneixement rellevant. La validació de !'esquema conceptual té coma objectiu la detecció d'errors de requisits per tal de
millorar la qualitat semantica.
La validació d'esquemes conceptuals és un repte crític en l'enginyeria de requisits . Aquesta te si contribueix a aquest repte i
es basa en el fet que els es quemes conceptuals de sistemes d'informació poden ser especificats en artefactes executables
i, per tant, poden ser provats. Les principals contribucions de la te si són (1) un enfocament pera les pro ves d'esquemes
conceptuals de sistemes d'informació, i (2) una metodología innovadora pel desenvolupament incremental d'esquemes
conceptuals assistit per una validació continuada basada en proves .
Les pro ves d'esquemes conceptuals poden ser una im portant i practica técnica pera la se va validació, jaque permeten
provar la correctesa i la completesa d'acord ambles necessitats i expectatives de les parts interessades. En conjunció amb
la comprovació d'un conjunt basic de criteris d'adequació de les proves, també podem analitzar la rellevancia deis elements
definits a !'esquema.
L'entorn de test proposat inclou un llenguatge especialitzat per escriure proves automatitzades d'esquemes conceptuals,
anomenat Conceptual Schema Testing Language (CSTL). També hem descrit i implementa! a un prototip de processador
de tes tos que fa possible l'aplicació de l'enfocament proposat a la practica. D'acord amb l'estat de l'art en validació
d'esquemes conceptuals , aquest és el primer treball que proposa i implementa un entorn pel testing automatitzat
d'esquemes conceptuals definits en UML!OCL.
L'enfocament de proves d'esquemes conceptuals permet dura terme la validació d'esquemes existents , pero també té
sentit provar es quemes conceptuals incomplets m entre estant sent desenvolupats. Aquest fet és la base de la metodología
Test-Driven Conceptual Modeling (TDCM), que és la segona contribució principal. El TDCM és una metodología de
modelització conceptual basada en principis basics del Test-Driven Development (TDD), un métode de programació en el
qual un sistema software és desenvolupat en petites iteracions guiades per proves. També hem aplicat el métode en
diversos casos d'estudi en el context de la metodología de recerca Design Science Research. Finalment, hem proposat
enfocaments d'integració del TDCM en diverses metodologies de desenvolupament de software
Towards the Model-Driven Engineering of Secure yet Safe Embedded Systems
We introduce SysML-Sec, a SysML-based Model-Driven Engineering environment
aimed at fostering the collaboration between system designers and security
experts at all methodological stages of the development of an embedded system.
A central issue in the design of an embedded system is the definition of the
hardware/software partitioning of the architecture of the system, which should
take place as early as possible. SysML-Sec aims to extend the relevance of this
analysis through the integration of security requirements and threats. In
particular, we propose an agile methodology whose aim is to assess early on the
impact of the security requirements and of the security mechanisms designed to
satisfy them over the safety of the system. Security concerns are captured in a
component-centric manner through existing SysML diagrams with only minimal
extensions. After the requirements captured are derived into security and
cryptographic mechanisms, security properties can be formally verified over
this design. To perform the latter, model transformation techniques are
implemented in the SysML-Sec toolchain in order to derive a ProVerif
specification from the SysML models. An automotive firmware flashing procedure
serves as a guiding example throughout our presentation.Comment: In Proceedings GraMSec 2014, arXiv:1404.163
Software Requirements As Executable Code
This project analyzed the effectiveness of using Story Testing frameworks to create an application directly from user specifications. It did this by taking an example business application with traditional specifications and rewriting those specifications in three different Story Testing Frameworks - Cucumber, FitNesse, and JBehave. Analysis of results drew the following conclusions: 1) Story Testing can help prove a project\u27s completeness, 2) Specifications are still too technical, 3) Implementation is not overly complex, and 4) Story Testing is worth it. It proposed future research around evaluating natural languages and seeking more user-friendly ways of writing specifications in a natural language
- …