EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th,...
Transcript of EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th,...
![Page 1: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/1.jpg)
Niels Hoppe
EXE 2018 in Copenhagen, Denmark
October 14th, 2018
EXECUTION OF UTP TEST CASES USING FUML
![Page 2: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/2.jpg)
2
Niels Hoppe
Student in working group of Marc-Florian Wendland, SQC
Co-author
© Fraunhofer FOKUS
INTRODUCTION
![Page 3: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/3.jpg)
3
Agenda
© Fraunhofer FOKUS
1. Introduction and motivation
2. Executable UTP test models
3. Mapping and transformation
4. Execution in Moka
5. Conclusion
INTRODUCTION
![Page 4: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/4.jpg)
4
Influencing standards
INTRODUCTION TO UTP
Conceptual standards Technical standards
ISO 29119
ETSI MBT
ISTQB syllabi
ETSI TTCN-3
UML
UTP 1.X
ISO/IEC 61508 ISO 26262Do-178C EN 50129 …
Support for domain-specific standards
2.0
![Page 5: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/5.jpg)
5
Test Data Values
Conceptual overview of UTP
© Fraunhofer FOKUS
INTRODUCTION TO UTP
Test Context
Test Case
Arbitration Specification
Test Set
Test Design Directive
Test Objective
Test Actions
Test Component
Test Item
UTP 2
Test Configuration
Test Requirement
Test Execution Schedule
Test Log Structure
Test Definition LayerTest Generation Layer Test Execution Layer
Test Data Specification
Test Management / Test Planning (dynamic test process)
Test Design Technique
Test Design Input
Test Type Test Level
Test Log
![Page 6: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/6.jpg)
6
Classic Software Engineering
© Fraunhofer FOKUS
MOTIVATION
Requirements
Test SystemSystem
![Page 7: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/7.jpg)
7
Model-Driven Software Engineering
© Fraunhofer FOKUS
MOTIVATION
Requirements
Test model
Test SystemSystem
System modelUML, SysML, etc. UML Testing Profile
TTCN-3, JUnit,
Robot, etc.
![Page 8: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/8.jpg)
8
Model-Based Shift Left Testing
© Fraunhofer FOKUS
MOTIVATION
Requirements
Test model
Test SystemSystem
System model
UML, SysML,
fUML, etc.
Executable
specification
UML Testing
Profile
Execution
semantics based
on fUML and
PSCS
![Page 9: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/9.jpg)
9
Contributions of this paper
© Fraunhofer FOKUS
1. Requirements and constraints for executable UTP test models
2. Examples for executable UTP test model and adaptation model
3. Mapping and QVTo transformation
4. Execution environment based on Eclipse and Moka
MOTIVATION
![Page 10: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/10.jpg)
10
Structure overview
© Fraunhofer FOKUS
Test context
Test set 1
Test configuration
Test case 1.1
Test case 1.2
Test set 2
EXECUTABLE UTP TEST MODELS
![Page 11: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/11.jpg)
11
Test configuration
© Fraunhofer FOKUS
EXECUTABLE UTP TEST MODELS
![Page 12: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/12.jpg)
12
Test configuration and test cases
© Fraunhofer FOKUS
EXECUTABLE UTP TEST MODELS
![Page 13: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/13.jpg)
13
Test case behavior
© Fraunhofer FOKUS
EXECUTABLE UTP TEST MODELS
![Page 14: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/14.jpg)
14
Transformation
© Fraunhofer FOKUS
• Transformation from platform-independent test model to platform-specific test model
• Platform is fUML and PSCS
• Mapping rules for:
• Test sets
• Test cases
• Test components and actions
MAPPING AND TRANSFORMATION
![Page 15: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/15.jpg)
15
Test sets
© Fraunhofer FOKUS
• (Structure)
• Behaviors:
1. Setup
2. Teardown
3. Main
4. Factory
MAPPING AND TRANSFORMATION
![Page 16: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/16.jpg)
16
Test cases
© Fraunhofer FOKUS
• Structure
1. Resolution of Generalization
2. Property coordinator: Component to coordinate test components
3. Owned Connector: Synchronization Bus
• Behaviors:
1. Setup
2. Teardown
3. Main
4. Factory
5. <<Create>> Constructor
MAPPING AND TRANSFORMATION
![Page 17: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/17.jpg)
17
Test cases
© Fraunhofer FOKUS
MAPPING AND TRANSFORMATION
![Page 18: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/18.jpg)
18
Test cases
© Fraunhofer FOKUS
MAPPING AND TRANSFORMATION
![Page 19: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/19.jpg)
19
Test cases
© Fraunhofer FOKUS
MAPPING AND TRANSFORMATION
![Page 20: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/20.jpg)
20
Test cases
© Fraunhofer FOKUS
MAPPING AND TRANSFORMATION
![Page 21: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/21.jpg)
21
Test cases
© Fraunhofer FOKUS
MAPPING AND TRANSFORMATION
![Page 22: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/22.jpg)
22
Test case coordinator
© Fraunhofer FOKUS
• Structure
1. Property testCase: Reference to
containing test case
• Behavior
1. Main
• Synchronization of test components
through StartSignal and
CompletionSignal
• Distribute test case log to test
components
MAPPING AND TRANSFORMATION
![Page 23: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/23.jpg)
23
Test components
© Fraunhofer FOKUS
• (Structure)
• Behaviors:
1. Main, implements test actions
• CreateStimulus
• ExpectResponse
• Logging
• Synchronization via
GeneralOrderings
MAPPING AND TRANSFORMATION
![Page 24: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/24.jpg)
24
Test components
© Fraunhofer FOKUS
• (Structure)
• Behaviors:
1. Main, implements test actions
• CreateStimulus
• ExpectResponse
• Logging
• Synchronization via
GeneralOrderings
MAPPING AND TRANSFORMATION
![Page 25: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/25.jpg)
25
Test components
© Fraunhofer FOKUS
• (Structure)
• Behaviors
1. Main, implements test actions
• CreateStimulus
• ExpectResponse
• Logging
• Synchronization via
GeneralOrderings
MAPPING AND TRANSFORMATION
![Page 26: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/26.jpg)
26
Extension and customization of Moka
© Fraunhofer FOKUS
• Implementation of OpaqueBehaviors in Java:
• Initialization and finalization of test logs
• Creation of test log entries
• Construction strategy for N-ary Connectors
EXECUTION IN MOKA
![Page 27: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/27.jpg)
27
Logs generated during execution
© Fraunhofer FOKUS
EXECUTION IN MOKA
![Page 28: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/28.jpg)
28
Achievements
© Fraunhofer FOKUS
First definition of executable
subset of UTP
Mapping and transformation
Execution and logging
First steps towards precise execution
semantics for UML Testing Profile
CONCLUSION AND FUTURE WORK
Next steps
• Integration with analysis and
arbitration of logs
• Support for operations,
complex actions, etc.
• Proof of concept for real-world adapter
• Improve efficiency of implementation
![Page 29: EXECUTION OF UTP TEST CASES USING FUML...Niels Hoppe EXE 2018 in Copenhagen, Denmark October 14th, 2018 EXECUTION OF UTP TEST CASES USING FUML](https://reader033.fdocuments.in/reader033/viewer/2022060401/5f0e3da87e708231d43e49c1/html5/thumbnails/29.jpg)
29© Fraunhofer FOKUS
THE END