23.02.2015 Views

D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange

D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange

D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!