La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Sujets
Informations
Publié par | technische_universitat_berlin |
Publié le | 01 janvier 2010 |
Nombre de lectures | 10 |
Langue | English |
Poids de l'ouvrage | 3 Mo |
Extrait
Modeling and Model-based Testing of Service
Choreographies
vorgelegt von
Diplom-Informatiker
Sebastian Wieczorek
Von der Fakult at IV - Elektrotechnik und Informatik
der Technischen Universit at Berlin
zur Erlangung des akademischen Grades
Doktor der Ingenieurwissenschaften
Dr. Ing.
Promotionsausschuss:
Vorsitzender: Prof. Dr. Sabine Glesner
Berichter: Prof. Dr. Ina Schieferdecker
Berichter: Prof. Dr. Lionel Briand
Tag der wissenschaftlichen Aussprache: 07.05.2010
Berlin 2010
D 832Abstract
The testing of service-based applications is an important but challenging
activity. Especially the integration testing is a di cult task that needs to
cope with the message-based communication in the service-oriented world.
In this thesis, a model-based approach to service integration and integration
testing is proposed. The necessary research work to realize its phases is the
main contribution of the dissertation.
First, MCM, a domain-speci c language for service choreography model-
ing, is introduced together with a precise semantics that makes it suitable
for integration testing. Then, a framework for generating service integration
tests is presented, incorporating three di erent model-based test generation
techniques that can be chosen according to the test context. Further, it is
explained how the generated test cases are transformed into concrete test
scripts, thus enabling their execution on an enterprise service-based appli-
cation. Finally, the conducted case study of the MCM-based approach in
an industrial setting is described.
34Contents
1 Introduction 11
1.1 Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Thesis Structure . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Scienti c Contributions . . . . . . . . . . . . . . . . . . . . . 15
2 Related Work 19
2.1 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 Test Coverage Criteria . . . . . . . . . . . . . . . . . . 21
2.1.3 Automated Test Generation Techniques . . . . . . . . 22
2.2 SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1 Challenges . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.2 Service Design and Development . . . . . . . . . . . . 26
2.2.3 Composition . . . . . . . . . . . . . . . . . . . 27
2.3 SOA Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.1 SOA Quality Assurance . . . . . . . . . . . . . . . . . 30
2.3.2 Challenges of SOA Testing . . . . . . . . . . . . . . . 31
2.3.3 The SOA testing stack . . . . . . . . . . . . . . . . . . 33
2.3.4 Service Integration Testing . . . . . . . . . . . . . . . 35
3 Problem Statement 37
3.1 A simple buyer-seller example . . . . . . . . . . . . . . . . . . 37
3.2 Complex Interaction Patterns . . . . . . . . . . . . . . . . . . 38
3.2.1 SOA Service Integration . . . . . . . . . . . . . . . . . 38
3.2.2 SOA Choreography Modeling . . . . . . . . . . . . . . 41
3.3 SOA System State . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3.1 System Data Challenges . . . . . . . . . . . . . . . . . 47
3.3.2 Input Data . . . . . . . . . . . . . . . . . . 49
3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
56 CONTENTS
4 General Approach 53
4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2 Choreography Modeling . . . . . . . . . . . . . . . . . . . . . 58
4.2.1 Domain-speci c Modeling . . . . . . . . . . . . . . . . 59
4.2.2 Choreography Viewpoints . . . . . . . . . . . . . . . . 59
4.2.3 Consistency . . . . . . . . . . . . . . . . . . . . . . . . 64
4.3 Model-based Integration Testing . . . . . . . . . . . . . . . . 66
4.3.1 Error assumption . . . . . . . . . . . . . . . . . . . . . 67
4.3.2 Coverage . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3.3 Industrial Requirements . . . . . . . . . . . . . . . . . 70
4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5 Message Choreography Model 73
5.1 MCM Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3 MCM Semantics . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3.1 Trace Denitions . . . . . . . . . . . . . . . . . . . . . 79
5.3.2 Consistency Relation of GCM and CS . . . . . . . . . 80
5.4 MCM Transformation Semantics . . . . . . . . . . . . . . . . 81
5.4.1 Introduction to Event-B. . . . . . . . . . . . . . . . . 82
5.4.2 Design Considerations of the Transformation. . . . . . 82
5.4.3 Transformation Description. . . . . . . . . . . . . . . . 83
5.5 MCM Tool Support . . . . . . . . . . . . . . . . . . . . . . . 86
5.5.1 Ensuring Consistency between Requirements and MCM 87
5.5.2 between MCM Viewpoints . . . 87
5.5.3 Ensuring between and Implemen-
tation . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6 Test Generation 93
6.1 Test Generation Process . . . . . . . . . . . . . . . . . . . . . 93
6.2 Test Framework . . . . . . . . . . . . . . . . . . . 96
6.3 FSM-based test generation . . . . . . . . . . . . . . . . . . . . 98
6.4 Model-checking based test generation . . . . . . . . . . . . . . 101
6.5 Heuristics-based test generation . . . . . . . . . . . . . . . . . 103
6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7 Case Study 107
7.1 Case Study Design . . . . . . . . . . . . . . . . . . . . . . . . 107
7.1.1 Setting . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.1.2 Approach . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.2 Case Study Execution . . . . . . . . . . . . . . . . . . . . . . 110
7.2.1 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2.2 Test Generation . . . . . . . . . . . . . . . . . . . . . 110CONTENTS 7
7.2.3 Comparison of Test Generators . . . . . . . . . . . . . 111
7.3 Case Study Evaluation . . . . . . . . . . . . . . . . . . . . . . 113
7.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8 Conclusion 117
8.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.2 Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188 CONTENTSList of Figures
1.1 High-level structure of the thesis . . . . . . . . . . . . . . . . 14
2.1 A common classi cation of software testing . . . . . . . . . . 20
2.2 SOA testing layers . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1 A sketched protocol of the running example . . . . . . . . . . 38
3.2 Example scenarios of asynchronous communication . . . . . . 40
3.3 Decomposition of SOA . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Challenges related to SOA test data . . . . . . . . . . . . . . 47
3.5 Illustration of input data constraints in an ERP system . . . 50
4.1 Envisioned development process for SOA . . . . . . . . . . . . 54
4.2 Overview of the test concretization and execution . . . . . . . 57
4.3 Service integration testing implemented using SAPs eCATT
framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4 Message event sequences for the running example . . . . . . . 61
4.5 The global receive viewpoint for the running example . . . . 62
4.6 Local viewpoint models for the running example . . . . . . . 64
4.7 Consistency relations in Choreography Modeling . . . . . . . 65
4.8 Assuming an EO channel, global coverage does not imply
local coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.9 Assuming an EO channel, local coverage does not imply global
coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1 GCM (top) of the choreography and LPMs of the buyer (left)
and the seller (right) . . . . . . . . . . . . . . . . . . . . . . . 75
5.2 Overview of MCM modeling tools . . . . . . . . . . . . . . . . 87
5.3 Interactive simulation of MCM . . . . . . . . . . . . . . . . . 88
6.1 The test generation framework . . . . . . . . . . . . . . . . . 96
6.2 Steps of the test generation for nite state machines . . . . . 99
6.3 Integration of the IBM test generator . . . . . . . . . . . . . . 104
7.1 The GCM of an example pilot . . . . . . . . . . . . . . . . . . 112
9