//img.uscri.be/pth/137a993d6b3891997a8646c6070f4ca5836000f0

Model-Driven Testing

-

Documents

Description

Model-driven development has become the most important new paradigm in software development and has already demonstrated considerable impact in reducing time to market and improving product quality. However, the development of high-quality systems not only requires systematic development processes but also systematic test processes.


This book is about systematic, model-driven test processes in the context of UML. As UML provides only limited means for the design and development of test artifacts, a consortium was formed by the Object Management Group (OMG) to develop a UML profile for model-driven testing – the UML Testing Profile (UTP), an official OMG standard since 2005.


Written by the original members of this standardization group, this book shows you how to use UML to test complex software systems. The authors introduce UTP step-by-step, using a case study that illustrates how UTP can be used for test modeling and test specification. You’ll learn how UTP concepts can be used for functional and non-functional testing, with example applications and best practices for user-interfaces and service oriented architectures. In addition, the authors demonstrate how to apply UTP using frameworks like TTCN-3 and the JUnit test framework for Java.


This book is the definitive reference for the only UML-based test specification language, written by the creators of that language. It is supported by an Internet site that provides information on the latest tools and uses of the profile.

Sujets

Informations

Publié par
Ajouté le 23 septembre 2007
Nombre de lectures 0
EAN13 9783540725633
Licence : Tous droits réservés
Langue English
Signaler un abus
Contents
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Part I Foundations
1
2
3
ModelBased Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 The Software Development Process . . . . . . . . . . . . . . . . . . . . . . . . 1.2 UML and UTP in System Development . . . . . . . . . . . . . . . . . . . . 1.3 ModelBased Test Development . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 BlackBox Testing Approaches . . . . . . . . . . . . . . . . . . . . . . 1.3.2 WhiteBox Testing Approaches . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Automatic Test Generation . . . . . . . . . . . . . . . . . . . . . . . . .
Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 UML Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Introduction to Class Models . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Introduction to Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Introduction to Sequence Diagrams . . . . . . . . . . . . . . . . . . 2.1.4 Introduction to State Machines . . . . . . . . . . . . . . . . . . . . . 2.1.5 Introduction to Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 UTP Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Library Example Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 What Is a Library? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 What Is Inside a Library? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Testing a Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Part II Functional Testing
1
7 7 9 11 11 12 12
15 15 15 18 20 25 27 29
35 35 44 45
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
XII
4
5
6
Contents
Unit Level Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 UTP and Unit Level Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Activity Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Component and Integration Level Testing. . . . . . . . . . . . . . . . . 5.1 Integration Strategies and Integration Level Testing . . . . . . . . . . 5.2 Test Configuration, Test Components, and Emulators . . . . . . . . 5.3 UTP and Integration Level Testing . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System and Acceptance Level Testing. . . . . . . . . . . . . . . . . . . . . 6.1 UTP and System Level Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Part III Advanced Testing Concerns
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
8
DataDriven Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 UTP and DataDriven Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Value Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Parameterization of Tests and Data Pools . . . . . . . . . . . . 7.1.3 Encoding and Decoding of Data . . . . . . . . . . . . . . . . . . . . . 7.2 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51 51 55 55 59 60
63 64 65 66 69
71 72 73 81
85
87 87 87 91 95 95
RealTime and Performance Testing. . . . . . . . . . . . . . . . . . . . . . . 97 8.1 RealTime Testing Concerns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 8.2 UTP and RealTime Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 8.2.1 Hard RealTime Concerns . . . . . . . . . . . . . . . . . . . . . . . . . . 99 8.2.2 Soft RealTime Concerns . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.3 Performance Testing Concerns . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 8.4 UTP and Performance Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Part IV Applications of UTP
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . .
Part V Tools
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
Contents
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
117 117 118 119 119 119 119 120 120 123 123 124
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
XIII
9
UserInterface Testing. . . . . . . . . . . . . . . . . . . . 9.1 Issues in UserInterface Testing . . . . . . . . . . . 9.2 Planning UI Test Activities . . . . . . . . . . . . . . 9.2.1 User Interface Context . . . . . . . . . . . . 9.2.2 Logical Aspects . . . . . . . . . . . . . . . . . . 9.2.3 Physical Aspects . . . . . . . . . . . . . . . . . 9.2.4 Localization Aspects . . . . . . . . . . . . . . 9.3 UTP and UserInterface Testing . . . . . . . . . . 9.3.1 Test Context and Configuration . . . . 9.3.2 Using Interaction Diagrams . . . . . . . . 9.4 Usability Testing . . . . . . . . . . . . . . . . . . . . . . . 9.5 Chapter Summary . . . . . . . . . . . . . . . . . . . . . .
Testing ServiceOriented Architecture Applications. . . . . . . . 125 10.1 ServiceOriented Architecture Overview . . . . . . . . . . . . . . . . . . . . 125 10.1.1 Service Orientation: Basic Concepts . . . . . . . . . . . . . . . . . 125 10.1.2 Testing Concerns for SOA . . . . . . . . . . . . . . . . . . . . . . . . . . 132 10.2 UTP Test Specification for SOA Applications . . . . . . . . . . . . . . . 134 10.2.1 Testing Individual Web Services . . . . . . . . . . . . . . . . . . . . . 134 10.2.2 Testing Business Processes . . . . . . . . . . . . . . . . . . . . . . . . . 136 10.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
13
12
11
Tool Frameworks and Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.1 Kinds of UTP Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.2 Tool Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 11.3 Executable UTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Test Execution with TTCN3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.1 Fundamentals of TTCN3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.1.1 Modules and Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10
Test Execution with JUnit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.1 JUnit 4.0 Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12.1.1 Annotations: A New Foundation for JUnit . . . . . . . . . . . . 150 12.1.2 Test Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12.1.3 Set up and Tear down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.1.4 Assertions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 12.1.5 Test Method Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . 152 12.2 UTP to JUnit Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 12.3 UTP to JUnit Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 12.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
XIV
Contents
13.1.2 Types and Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 13.1.3 Test Components and Test Behavior . . . . . . . . . . . . . . . . . 160 13.1.4 UTP and TTCN3 Relationship . . . . . . . . . . . . . . . . . . . . . 160 13.2 UTP to TTCN3 Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 13.3 UTP to TTCN3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 13.4 Executing UTP Specifications via TTCN3 Test Platforms . . . . 167 13.5 Representing TTCN3 Test Suites by UTP . . . . . . . . . . . . . . . . . 167 13.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Part VI Appendixes
A
UTP Reference Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Acronyms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
http://www.springer.com/978-3-540-72562-6