1 How to generate testing models into MDA approach to software development. A beginner’s point of...

19
1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze Matematiche Fisiche e Naturali. Corso di Laurea Specialistica in Informatica Studente Luca Berardinelli Matr. 165285 Prof. Henry Muccini getto per il Corso di Analisi e Testing. . 2005/2006

Transcript of 1 How to generate testing models into MDA approach to software development. A beginner’s point of...

Page 1: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 2: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 3: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 4: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 5: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 6: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 7: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 8: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

8

U2TP: Test ArchitectureU2TP: Test Architecture

U2TPLuca Berardinelli

Page 9: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 10: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

10

CRM Example: Software SystemCRM Example: Software System

CRM ExampleLuca Berardinelli

Page 11: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

11

CRM Example: Test SystemCRM Example: Test System

CRM ExampleLuca Berardinelli

Page 12: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

12

CRM Example: Test System CRM Example: Test System Test Configuration Test Configuration

CRM Example

dbe:DataBaseEmulator

<<TestComponent>>

Luca Berardinelli

Page 13: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

13

CRM Example: Test System CRM Example: Test System Test Control Test Control

CRM ExampleLuca Berardinelli

Page 14: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 15: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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

Page 16: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

16

A Transformation ToolA Transformation Tool

ModelTransformation Application

Eclipse UML2,un indispensabile COTS

per accedere aduna implementazione open source

del metamodello UML2

Luca Berardinelli

Page 17: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

17

A Transformation Definition in JavaA Transformation Definition in Java

ModelTransformation ApplicationLuca Berardinelli

Page 18: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

18

PIM e PIT in EclipsePIM e PIT in Eclipse

ModelTransformation ApplicationLuca Berardinelli

Page 19: 1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.

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