//img.uscri.be/pth/bf2ab1d1752356c3a065cac084c625d3ae0136ab
Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus

A Methodology For Pattern-Oriented Model-Driven Testing of Reactive Software Systems [Elektronische Ressource] / Alain-Georges Vouffo Feudjio. Betreuer: Ina Schieferdecker

336 pages
A Methodology ForPattern-Oriented Model-DrivenTesting of Reactive SoftwareSystemsvorgelegt vonDipl.Ing.Alain-Georges Vou o Feudjioaus Doualavon der Fakultat IV - Elektrotechnik und Informatikder Technischen Universitat BerlinZur Erlangung des Doktorgrades der Ingenieurwissenschaften- Dr. Ing. -genehmigte DissertationPromotionsauschuss:Vorsitzender: Prof. Dr. Peter PepperBerichter: Prof. Dr. Ing. Ina SchieferdeckerCo-Berichter: Prof. Cesar VihoTag der wissenschaftlichen Aussprache: 18. Februar 2011Berlin, 2011D 83Technical University of BerlinFaculty of Electrical Engineering and Computer ScienceChair for Design and Testing of Communication SystemsA Methodology ForPattern-Oriented Model-DrivenTesting of Reactive SoftwareSystemsbyAlain-Georges Vou o FeudjioDoctor of Engineering DissertationPromotionsauschuss:Chairman: Prof. Dr. Peter PepperSupervisor: Prof. Dr. Ing. Ina SchieferdeckerCo-Supervisor: Prof. Cesar VihothDate of defence: Februar 18 2011Berlin, 2011D 83vTo Vou o Prosper and Vou o Mbotezo Aime-G. ...ContentsContents iList of Symbols and Abbreviations ixList of Figures xiList of Tables xiv1 Introduction 71.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Scope and Purpose of this Thesis . . . . . . . . . . . . . . . . . . . 121.3 Structure of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . 142 Basics 172.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
Voir plus Voir moins

A Methodology For
Pattern-Oriented Model-Driven
Testing of Reactive Software
Systems
vorgelegt von
Dipl.Ing.
Alain-Georges Vou o Feudjio
aus Douala
von der Fakultat IV - Elektrotechnik und Informatik
der Technischen Universitat Berlin
Zur Erlangung des Doktorgrades der Ingenieurwissenschaften
- Dr. Ing. -
genehmigte Dissertation
Promotionsauschuss:
Vorsitzender: Prof. Dr. Peter Pepper
Berichter: Prof. Dr. Ing. Ina Schieferdecker
Co-Berichter: Prof. Cesar Viho
Tag der wissenschaftlichen Aussprache: 18. Februar 2011
Berlin, 2011
D 83Technical University of Berlin
Faculty of Electrical Engineering and Computer Science
Chair for Design and Testing of Communication Systems
A Methodology For
Pattern-Oriented Model-Driven
Testing of Reactive Software
Systems
by
Alain-Georges Vou o Feudjio
Doctor of Engineering Dissertation
Promotionsauschuss:
Chairman: Prof. Dr. Peter Pepper
Supervisor: Prof. Dr. Ing. Ina Schieferdecker
Co-Supervisor: Prof. Cesar Viho
thDate of defence: Februar 18 2011
Berlin, 2011
D 83v
To Vou o Prosper and Vou o Mbotezo Aime-G. ...Contents
Contents i
List of Symbols and Abbreviations ix
List of Figures xi
List of Tables xiv
1 Introduction 7
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Scope and Purpose of this Thesis . . . . . . . . . . . . . . . . . . . 12
1.3 Structure of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . 14
2 Basics 17
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Principles of Software Testing . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Testing and Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1 What is a model? . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.2 Model-Based Testing . . . . . . . . . . . . . . . . . . . . . . 23
2.3.3 Model Driven Testing . . . . . . . . . . . . . . . . . . . . . 25
2.3.4 High Level Test Design . . . . . . . . . . . . . . . . . . . . 26
2.3.5 A few Words on Model-Based and Model-Driven Testing . . 26
2.3.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 (Design) Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3 State of the Art in Model-Driven Test Automation 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Using GMLs for MDT . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.1 The UML Testing Pro le (UTP) . . . . . . . . . . . . . . . 37
iii CONTENTS
3.3 Using DSMLs for MDT . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1 Approaches for Designing a DSML . . . . . . . . . . . . . . 40
3.4 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.5 Conclusions and Summary . . . . . . . . . . . . . . . . . . . . . . . 43
4 Pattern Oriented Model Driven Testing 45
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Classi cation of Test Design Patterns . . . . . . . . . . . . . . . . 47
4.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 Generic Test Design Patterns . . . . . . . . . . . . . . . . . 49
4.2.3 Patterns in the Test Analysis and Planing Phase . . . . . . 49
4.2.4 P in the Test System Design Phase . . . . . . . . . . 50
4.3 A Methodology of Pattern Oriented Model-Driven Test Engineering 51
4.3.1 Test Design Pattern Mining . . . . . . . . . . . . . . . . . . 51
4.3.2 Test Pattern Template . . . . . . . . . . . . . . . . . 52
4.3.3 Speci cation of Test Design Patterns . . . . . . . . . . . . . 54
4.4 The Pattern Oriented Model Driven Test Engineering Process . . . 57
4.4.1 Test Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.2 Test Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.3 Test Implementation . . . . . . . . . . . . . . . . . . . . . . 59
4.5 A Collection of Test Design Patterns . . . . . . . . . . . . . . . . . 60
4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5 UTML: A Notation for Pattern Oriented Model Driven Test
Design 63
5.1 The Need to Formalise Test Patterns . . . . . . . . . . . . . . . . . 63
5.2 Overview of UTML . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.2.1 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3 Generic UTML Metamodel concepts . . . . . . . . . . . . . . . . . 74
5.3.1 UtmlElement . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.2 BasicTestModel . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.3 TestModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.4 DescribedElement . . . . . . . . . . . . . . . . . . . . . . . 75
5.3.5 GroupItem . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3.6 GroupDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3.7 NamedElement . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.3.8 UniqueNamedElement . . . . . . . . . . . . . . . . . . . . . 77
5.3.9 ElementWithID . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3.10tWithUniqueID . . . . . . . . . . . . . . . . . . . . . 78
5.3.11 TestPatternKind . . . . . . . . . . . . . . . . . . . . . . . . 78
5.4 Test Objectives Design Concepts . . . . . . . . . . . . . . . . . . . 79
5.4.1 TestObjectivesModel . . . . . . . . . . . . . . . . . . . . . . 79CONTENTS iii
5.4.2 ObjectiveGroupDef . . . . . . . . . . . . . . . . . . . . . . . 80
5.4.3 ObjectiveGroupItem . . . . . . . . . . . . . . . . . . . . . . 81
5.4.4 Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.4.5 ImplementationStatus . . . . . . . . . . . . . . . . . . . . . 82
5.4.6 TestObjectiveElement . . . . . . . . . . . . . . . . . . . . . 83
5.4.7 TestObjective . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.4.8 TestObjectiveDescriptionElement . . . . . . . . . . . . . . . 84
5.5 Test Procedures Design Concepts . . . . . . . . . . . . . . . . . . . 85
5.5.1 TestProceduresModel . . . . . . . . . . . . . . . . . . . . . 85
5.5.2 TceduresGroupItem . . . . . . . . . . . . . . . . . . . 86
5.5.3 TestProceduresElement . . . . . . . . . . . . . . . . . . . . 86
5.5.4 TceduresGroupDef . . . . . . . . . . . . . . . . . . . 86
5.5.5 TestProcedure . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.6 Test Architecture Design Concepts . . . . . . . . . . . . . . . . . . 88
5.6.1 TestArchitectureTypesModel . . . . . . . . . . . . . . . . . 89
5.6.2 TypesElement . . . . . . . . . . . . . . . . 90
5.6.3 TestArchTypesGroupItem . . . . . . . . . . . . . . . . . . . 90
5.6.4 ThTypesGroupDef . . . . . . . . . . . . . . . . . . . 91
5.6.5 PortType . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.6.6 ComponentType . . . . . . . . . . . . . . . . . . . . . . . . 92
5.6.7 ComponentKind . . . . . . . . . . . . . . . . . . . . . . . . 94
5.6.8 TestArchitectureModel . . . . . . . . . . . . . . . . . . . . . 94
5.6.9 ThGroupItem . . . . . . . . . . . . . . . . . . . . . . 95
5.6.10 TestArchGroupDef . . . . . . . . . . . . . . . . . . . . . . . 95
5.6.11 ThitectureElement . . . . . . . . . . . . . . . . . . . 96
5.6.12 PortInstance . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.6.13 ComponentInstance . . . . . . . . . . . . . . . . . . . . . . 98
5.6.14 Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.6.15 TestArchitecture . . . . . . . . . . . . . . . . . . . . . . . . 102
5.6.16 ExecutionMode . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.6.17 TestArchPatternKind . . . . . . . . . . . . . . . . . . . . . 105
5.6.18 P2PArchitecture . . . . . . . . . . . . . . . . . . . . . . . . 106
5.6.19 PMPArc . . . . . . . . . . . . . . . . . . . . . . . . 106
5.6.20 MeshArchitecture . . . . . . . . . . . . . . . . . . . . . . . . 107
5.7 Test Data Design Concepts . . . . . . . . . . . . . . . . . . . . . . 108
5.7.1 TestDataModel . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.7.2 TestDataElement . . . . . . . . . . . . . . . . . . . . . . . . 110
5.7.3 DataTypeIndicator . . . . . . . . . . . . . . . . . . . . . . . 110
5.7.4 DataDirection . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.7.5 DataKind . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.7.6 DataPatternKind . . . . . . . . . . . . . . . . . . . . . . . . 112iv CONTENTS
5.7.7 ConstraintKind . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.7.8 TestDataGroupItem . . . . . . . . . . . . . . . . . . . . . . 114
5.7.9 TestDataGroupDef . . . . . . . . . . . . . . . . . . . . . . . 114
5.7.10 RelationKind . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.7.11 DataTypeRelationship . . . . . . . . . . . . . . . . . . . . . 115
5.7.12 BasicTestDataType . . . . . . . . . . . . . . . . . . . . . . 116
5.7.13 TestDataType . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.7.14 MessageTestDataType . . . . . . . . . . . . . . . . . . . . . 117
5.7.15 DataTypeField . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.7.16 ParameterDeclaration . . . . . . . . . . . . . . . . . . . . . 120
5.7.17 OperationTestDataType . . . . . . . . . . . . . . . . . . . . 120
5.7.18 OperationResponseDef . . . . . . . . . . . . . . . . . . . . . 121
5.7.19 OperationExceptionDef . . . . . . . . . . . . . . . . . . . . 122
5.7.20 SignalTestDataType . . . . . . . . . . . . . . . . . . . . . . 122
5.7.21 AbstractDataInstance . . . . . . . . . . . . . . . . . . . . . 123
5.7.22 ValueInstance . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.7.23 TestDataInstance . . . . . . . . . . . . . . . . . . . . . . . . 124
5.7.24 MessageTestDataInstance . . . . . . . . . . . . . . . . . . . 125
5.7.25 SignalT . . . . . . . . . . . . . . . . . . . . 126
5.7.26 OperationT . . . . . . . . . . . . . . . . . . 127
5.7.27 DataConstraint . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.7.28 FieldConstraint . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.7.29 ParameterConstraint . . . . . . . . . . . . . . . . . . . . . . 130
5.7.30 ParameterDef . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.7.31 TestParameter . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.7.32 TestParameterSet . . . . . . . . . . . . . . . . . . . . . . . 133
5.8 Test Behaviour Design Concepts . . . . . . . . . . . . . . . . . . . 133
5.8.1 Basic Principles of UTMLTest Behaviour Design . . . . . . 134
5.8.2 UTML Test Sequence Diagrams . . . . . . . . . . . . . . . 139
5.8.3 Test Activity . . . . . . . . . . . . . . . . 140
5.8.4 TestBehaviourModel . . . . . . . . . . . . . . . . . . . . . . 140
5.8.5 TviourGroupItem . . . . . . . . . . . . . . . . . . . 144
5.8.6 TestBehaviourGroupDef . . . . . . . . . . . . . . . . . . . . 144
5.8.7 Verdict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.8.8 BehaviourPatternKind . . . . . . . . . . . . . . . . . . . . . 146
5.8.9 BehaviourActionKind . . . . . . . . . . . . . . . . . . . . . 146
5.8.10 PolicyKind . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.8.11 TestBehaviourActionDef . . . . . . . . . . . . . . . . . . . . 148
5.8.12 TviourActionInvocation . . . . . . . . . . . . . . . . 150
5.8.13 Testcase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.8.14 TestAction . . . . . . . . . . . . . . . . . . . . . . . . . . . 154