1 How to generate testing models into MDA approach to software development. A beginner’s point of...
-
Upload
terenzio-cioffi -
Category
Documents
-
view
213 -
download
0
Transcript of 1 How to generate testing models into MDA approach to software development. A beginner’s point of...
1
How to generate testing models
into MDA approach to software development.
A beginner’s point of view.
Università degli Studi dell’AquilaFacoltà di Scienze Matematiche Fisiche e Naturali.
Corso di Laurea Specialistica in Informatica
Studente
Luca BerardinelliMatr. 165285
Prof. Henry MucciniProgetto per il Corso di Analisi e Testing.a.a. 2005/2006
2
INTRODUCTIONINTRODUCTION
Software Testing
Obiettivo di questo report è focalizzare l’attenzione sulla generazione di modelli di test in UML attraverso l’uso del profilo UML2 Testing Profile (U2TP).
L’adozione di questo profilo in MDA estende l’approccio Model Driven Development anche alla fase di software testing
(Model Driven Testing)
Model Driven Architecture
Model Transformation
UML2 Testing Profile
ModelTransformation Application
IntroduzioneLuca Berardinelli
3
SOFTWARE TESTING: the problemSOFTWARE TESTING: the problem
Software Testing
Verification:"Are we building the product right?”
The software, along the lifecycle, should conform to itsspecification.
“Software Testing consists of the dynamic verification of the behaviour of aprogram on a finite set of test cases, suitably selected from the usually infinite
executions domain, against the specified expected behaviour”
Informazioni richieste:- è necessaria una adeguata specifica dei requisiti sul comportamento del sw;- è necessaria una versione eseguibile (o simulabile!) del sistema sw (o prototipo)- è necessaria una strategia di scelta di test case
Altre scelte sono fondamentali: - scegliere quali documenti produrre- scegliere quale notazione utilizzare : formale, semi formale, informale.
Luca Berardinelli
4
SOFTWARE TESTING/MDA. SOFTWARE TESTING/MDA. MDT approach MDT approach
Software Testing/MDA
Requirements
Architectural Design
Design
Implementation
in gran parte testo
Model transformation
Testing
Luca Berardinelli
5
SOFTWARE TESTING: answers&questionsSOFTWARE TESTING: answers&questions
Altre scelte sono fondamentali: - scegliere quali documenti produrre.
- scegliere quale notazione utilizzare : formale, semi formale, informale:
Software Testing/MDA
UML2 perché, nel contesto MDTesting permette di utilizzare una notazione comune tra design team e testing team. Migliorare il flusso di informazioni migliora il processo produttivo (maggiore efficienza, costi più contenuti)UML2 perché è supportato da CASE tool.
Ma esistono tool che effettuano trasformazioni tra modelli?Esistono le trasformazioni di interesse per MDT (PIMPIT,PSMPST,PITPST)?
Se queste non esistono possiamo definirne di nostre?Con quale linguaggio?
…ma cosa sono le model transformation?
Luca Berardinelli
6
Model TransformationModel Transformation
MDA/Model transform.
Transformation definition : insieme di regole formalizzate(?)<source metamodel element(s) , target metamodel element(s)>
UML2 UML2 +
MOF
In base al linguaggio scelto e alla natura dei modelli source e target si distinguono diversi approccialle model transformation.Scegliamo un linguaggio che ci permetta di specificare una trasformazione da PIM a PIT utilizzando il profilo U2TP: il processo di trasformazione sarà eseguito da una applicazione Java creata ad hoc.L’approccio adottato è denominato model2model direct manipulation approach.
U2TP
Ma prima capiamo cosa vogliamo ottenerecome si modella un PIT? U2TP
PIT
CRM sw sys CRM test sysLuca Berardinelli
7
U2TP & PITU2TP & PIT
U2TP
U2TP si propone come un linguaggio per il design, la visualizzazione, la specifica, l’analisi, la costruzione e la documentazione di artefatti di un test systemutilizzabili con tecnologie Object / Component based .
Gli elementi di modellazione introdotti dal profilo possono essere raggruppati in quattro grandi aree
U2TP U2TP
Luca Berardinelli
8
U2TP: Test ArchitectureU2TP: Test Architecture
U2TPLuca Berardinelli
9
U2TP: Test BehaviorU2TP: Test Behavior
U2TP
Va bene la teoria ma…quali quanti diagrammicostituiscono un test system?ESEMPIO PRATICO (CRM)
Customer Resource Management Software System& Customer Resource Management Test System
Luca Berardinelli
10
CRM Example: Software SystemCRM Example: Software System
CRM ExampleLuca Berardinelli
11
CRM Example: Test SystemCRM Example: Test System
CRM ExampleLuca Berardinelli
12
CRM Example: Test System CRM Example: Test System Test Configuration Test Configuration
CRM Example
dbe:DataBaseEmulator
<<TestComponent>>
Luca Berardinelli
13
CRM Example: Test System CRM Example: Test System Test Control Test Control
CRM ExampleLuca Berardinelli
14
CRM Example: Test Objective e Use CaseCRM Example: Test Objective e Use Case
CRM Example
Non è possibile fare tutto questo “lavoro”a mano! Ed è solo un esempio semplicissimo!
Per farlo dobbiamo svelare i
Luca Berardinelli
15
MDA in the middle knowing the “meta”MDA in the middle knowing the “meta”
ModelTransformation Application
UML2 UML2 +
MOF
U2TP
PIT
CRM sw sys CRM test sys
ModelTransformation
Direct manipulation approach…
…manipoliamo i metamodelliin questo caso UML2!
Luca Berardinelli
16
A Transformation ToolA Transformation Tool
ModelTransformation Application
Eclipse UML2,un indispensabile COTS
per accedere aduna implementazione open source
del metamodello UML2
Luca Berardinelli
17
A Transformation Definition in JavaA Transformation Definition in Java
ModelTransformation ApplicationLuca Berardinelli
18
PIM e PIT in EclipsePIM e PIT in Eclipse
ModelTransformation ApplicationLuca Berardinelli
19
ConclusioniConclusioni
Conclusioni
E’ possibile definire test system utilizzando il profilo U2TPin un approccio Model Driven Testing in ambito MDA
U2TP contribuisce senz’altro a definire un vocabolarioed una notazione comune, a scegliere quali e quantidiagrammi realizzare
Soffre degli stessi limiti di MDA: manca una suite standarddi definizioni di trasformazioni tra modelli
il campo delle model transformation è ancora giovane:bisogna adottare un linguaggio di definizione con unadeguato livello di astrazione.
Bisogna senz’altro individuare e saper utilizzare CASE toolavanzati, in genere commerciali!
Luca Berardinelli