D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange
D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange
D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Managing Evolution by Orchestrating Requirements<br />
and Testing Engineering Processes<br />
Federica Paci 1 , Fabio Massacci 1 , Fabrice Bouquet 2 , and Stephane Debricon 2<br />
1 DISI,University of Trento<br />
{Fabio.Massacci,Federica.Paci}@unitn.it<br />
2 Laboratoire d’Informatique, Université de France-Comté<br />
{fabrice.bouquet,stephane.debricon}@lifc.univ-fcomte.fr<br />
Abstract. Change management and change propagation across the various models<br />
of the system (such as requirements, design and testing models) are wellknown<br />
problems in software engineering. For such problems a number of solutions<br />
have been proposed that are usually based on the idea of integrated model<br />
repositories where traceability links are mantained and automatically triggered.<br />
We propose to manage the mutual evolution of requirements models and tests<br />
models by orchestrating processes based on a minimal shared interface. Thus,<br />
requirement and testing engineers must only have a basic knowledge about the<br />
“other” domain, share a minimal set of concepts and can follow their “own” respective<br />
processes. The processes are orchestrated in the sense that when a change<br />
affects a concept of the interface, the change is propagated to the other domain.<br />
We illustrate the approach using the evolution of the GlobalPlatform R○ standard.<br />
1 Introduction<br />
Change management is a well known problem in software engineering and in particular<br />
the change propagation across the various models of the system (such as requirements,<br />
design and testing models). For such problem a number of solutions have been proposed<br />
that are usually based on the idea of integrated model repositories where traceability<br />
links are mantained and automatically triggered.<br />
For particularly complex and security critical systems as multi-application smart<br />
cards [1] such sharing may simply not be possible. Here is a concrete example: test<br />
engineer in charge of certifying that the card is secure might not have access to system<br />
code (and the relative design models) simply because he is part of a third-party company<br />
to which the certification has been outsourced. Still, the test engineer must cooperate<br />
in the global design process to show that requirements are achieved. Fig. 1 shows an<br />
example of global security engineering process where the activities are labeled with<br />
references to clauses of a national security standard.<br />
Thus, it is important for test and requirement engineer to interact directly and bypass<br />
completely the system designer. The cooperation between Test Analyst (the professional<br />
name for model-driven test engineer) and Business Analyst (the requirement<br />
engineer) is crucial. The Test Analyst is responsible for the quality of the test repository<br />
in terms of coverage of requirements and detection of defects. In the other direction,<br />
the Test Analyst interacts with the Tester and Test Automation Engineer to facilitate