We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byAriana McGarry
Modified over 2 years ago
© Telelogic AB UML Testing Profile Graphical Testing With UML The UML Testing Profile Eric Samuelsson
© Telelogic AB UML Testing Profile Agenda Background Key concepts Advanced concepts Summary
© Telelogic AB UML Testing Profile Background Test technologies are not on par with modern design technologies such as model-driven architectures (MDA) Theres a need for a widespread graphical test language OMG realized this and issued and RFP for a graphical testing profile to UML –Using the UML ensures widespread use across a wide range of application areas –Numerous tool vendors support UML –UML is a proven de facto standard –But UML is focused on definition of system structure and behavior and has no built-in testing constructs...
© Telelogic AB UML Testing Profile UML Testing Profile RFP Issued by OMG in July 2001 LOIs submitted by –Telelogic, Rational, SofTEAM, FOKUS, Ericsson, Motorola, IBM One joint submission Initial submission made in April 2002 Revised initial submission made in June 2002 –Terminology changes –Elaboration of Test Data Final submission in January 2003
© Telelogic AB UML Testing Profile Requirements and restrictions Define structural and behavioral test concepts Conformance testing only –Black-box functional testing Based upon the UML meta-model –UML 2.0 as proposed by the U2 PartnersU2 Partners –Inter-operation with existing testing technologies –TTCN 3 –Junit –...
© Telelogic AB UML Testing Profile Current proposal A graphical testing language based the current UML 2 metamodel Reusing as many UML concepts as possible –Recognition important for UML users –No need to re-invent the wheel Designed with TTCN 3 in mind –Semantics basically follows TTCN 3 semantics –But caters for other technologies like JUnit as well
© Telelogic AB UML Testing Profile Current proposal Defined as a UML profile –Will be recognized by UML users Basically a number of stereotypes –Easy to implement for tool vendors Models will be interchangeable –Any tool implementing XMI will be able to exchange models «profile» Testing Profile «import» UML «stereotype» TestCase «metaclass» BehavioralFeature
© Telelogic AB UML Testing Profile Key Concepts Test Architecture –Test Context, Test Configuration –Test Component, SUT –Arbiter Test Behavior –Test Case –Verdict, Validation Action –Defaults Test Data –Logical partitions, Pattern matching Test Deployment
© Telelogic AB UML Testing Profile Test Objective An informal description of what to test in one test case Commonly expressed using natural language Can also be expressed using other diagrams, such as use case diagrams and sequence diagrams Verify that if a user inserts and authorizes a valid card correctly, he is able to withdraw money if he has sufficient funds. Client Withdrawal InvalidPin Tester >
© Telelogic AB UML Testing Profile Test Case A specification of one test, including –Test objective –Test behavior Defined as a BehavioralFeature in UML Its method is the behavior of the test case «testCase» +validWithdrawal() : Verdict «testContext» ATMContext «testCase» +validWithdrawal() : Verdict +invalidPIN() : Verdict -authorizeCard() : Verdict
© Telelogic AB UML Testing Profile Test Behavior Describes the expected behavior of a test case Defined using any type of UML behavior –Interactions, statemachines and activities Facilitates specification of arbitrarily complex behavior Idle WaitCode
© Telelogic AB UML Testing Profile Test Architecture A complete specification of all types used in the tests –An ordinary UML package –Contains Test Contexts, Test Components, Ports, Interfaces, etc. «testArchitecture» ATMTest
© Telelogic AB UML Testing Profile Test Architecture Example «testArchitecture» ATMTest «testContext» ATMContext «testCase» +validWithdrawal() : Verdict +invalidPIN() : Verdict -authorizeCard() : Verdict Account balance : Integer number : String credit(a : Integer) debit(a : Integer) * accounts ATM::CardData pinCode : Integer number : String isPinCorrect(c: Integer) : Boolean * cards «testComponent» BankEmulator IAccount bePort -pinOk : Boolean -enteredPIN : String -message : String «testComponent» HWEmulator hwCom IScreen, ICardMachine, IMoneyBox IATM
© Telelogic AB UML Testing Profile Test Component Implements (parts of ) the behavior of one or more test cases Each test case is normally executed by several components Ordinary classes or components -pinOk : Boolean -enteredPIN : String -message : String «testComponent» HWEmulator hwCom ATM::CardData pinCode : Integer number : String isPinCorrect(c: Integer) : Boolean currentCard IScreen, ICardMachine, IMoneyBox IATM
© Telelogic AB UML Testing Profile Test Context A classifier that contains –a number of test cases and their behavior and objectives –default behavior used by the test cases –configuration of test components –test control behavior Can be a class, a component or a collaboration «testContext» ATMContext «testCase» +validWithdrawal() : Verdict +invalidPIN() : Verdict -authorizeCard() : Verdict
© Telelogic AB UML Testing Profile Test Configuration A specification of the structural aspects of test cases Defines the parts participating in the test case and their interconnections –Test Components, SUT, Ports, Interfaces and Connectors Defined as the internal structure of the Test Context « sut » atm : BankATM hwe : HWEmulator be : BankEmulator atmPort hwCom bePortnetCom accnts : Account [0..*]
© Telelogic AB UML Testing Profile Test Control Test execution can be controlled is two ways –By defining the classifier behavior of a test context –Or by invoking the test cases from outside of the context
© Telelogic AB UML Testing Profile Test Control by ClassifierBehavior sd ATMContext invalidPIN() ref [verdict == fail] [verdict == pass] validWithdrawal() ref «testContext» ATMContext «testCase» +validWithdrawal() : Verdict +invalidPIN() : Verdict -authorizeCard() : Verdict
© Telelogic AB UML Testing Profile Test Control by Invocation * -context MyClass -verdict : Verdict «testContext» MyTestContext «testCase» +TC1() : Verdict +TC2() : Verdict -TC3() : Verdict ad myOp verdict := context.TC1() [else] [verdict == pass] verdict := context.TC2() +myOp()
© Telelogic AB UML Testing Profile Test Data Parameters, default values, return values are reused from UML without changes Logical partitions Pattern matching TDB
© Telelogic AB UML Testing Profile Test Deployment Test Deployment is important, but there is probably no difference between deploying test systems compared to ordinary UML systems. We will try to reuse the existing UML deployment concepts without changes Under investigation
© Telelogic AB UML Testing Profile Advanced Concepts Test Evaluation –Verdict –Validation action –Arbiter Default behavior Structural and behavioral reuse
© Telelogic AB UML Testing Profile Test Evaluation A number of concepts are used to evaluate test results –Verdicts –Validation actions –Arbiter
© Telelogic AB UML Testing Profile Verdicts and Validation Actions Each test component is associated with a verdict Validation Actions are used to set the verdict A Validation Action sets the verdict of a test component and reports the verdict to the Arbiter Client « sut » ATM storeCardData(cardData) isPinCorrect(pin) true display(Enter PIN) alt false setverdict(fail)
© Telelogic AB UML Testing Profile Arbiter A test component that knows how to evaluate the test behavior Separates test evaluation from test case specification –One behavior can yield different results Each test context has a default arbiter –Implicit connections to all test components –TTCN 3 semantics Advanced arbiters can be defined –Caters for more advanced semantics «arbiter» myArbiter setVerdict(v : Verdict)
© Telelogic AB UML Testing Profile Default behavior Defines behavior for unexpected observations Can be expressed using any UML behavior Can be applied to several different levels: –Test component –Message reception –Alternative statement –... Client « sut » ATM storeCardData(cardData) isPinCorrect(pin) true display(Enter PIN) sd authorizeCard enterPinDefault
© Telelogic AB UML Testing Profile Default expressed as interaction... sd enterPinDefault self alt getStatus statusOk ejectCard() display(Connection lost) setverdict(pass) setverdict(inconc) setverdict(fail)
© Telelogic AB UML Testing Profile...and as statemachine The representations are semantically equivalent enterPinDefault * getStatus / ^statusOk, setverdict(pass); display(Connection lost) / setverdict(inconc) ejectCard / setverdict(fail)
© Telelogic AB UML Testing Profile Meta Default Each test component has a meta default to cater for differences in semantics Can be redefined MetaDefault * * / defer
© Telelogic AB UML Testing Profile Reuse of Test Structure and Behavior
© Telelogic AB UML Testing Profile «testContext» ATMContext « sut » atm : BankATM hwe : HWEmulator be : BankEmulator atmPort hwCom bePortnetCom accnts : Account [0..*] ATM Client ac: AuthorizationContext
© Telelogic AB UML Testing Profile sd ValidWithdrawal hwe « sut » atm be ref ac.authorizeCard() selectOperation(withdrawal) true withdraw(amount) netCom findAccount(cardData) account display(Take cash) deliverMoney(amount) true debitAccount(account, amount) true atmPort
© Telelogic AB UML Testing Profile Summary The testing profile enables complete graphical specification of tests for conformance testing of UML models –Defined as a UML profile –Reuses existing UML concepts whenever possible –Designed for inter-operation with TTCN-3 and other technologies Due date –January 6th, 2003 More information –Testing Profile ConsortiumTesting Profile Consortium –OMGs Testing Profile pageOMGs Testing Profile page
7 February An Overview of the Systems Modeling (SysML) Specification Shana L. Lloyd Julie A. Street The Aerospace Corporation Systems Modeling Language.
An Introduction to Object Modeling An Introduction to Object Modeling The approach of using object modeling during systems analysis and design is called.
Ch:8 Design Concepts S.W Design should have following quality attribute: –Functionality –Usability –Reliability –Performance –Supportability (extensibility,
Day 2: Hands-on UML Using UML to put MITA to work to solve the immediate process improvement needs of states.
Software Reuse and Component-Based Software Engineering CIS 376 Bruce R. Maxim UM-Dearborn.
Software Engineering Model Driven Architecture Software Engineering 2011 Department of Computer Science Ben-Gurion university Based on the book: MDA Explained:
Telematics group University of Göttingen, Germany Integrated Application of TTCN Dieter Hogrefe.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Methods for Software Specification Jan Kožusznik. Dept. of Computer Science Technical University of Ostrava
Documenting Software Architectures These notes are my personal view of the concepts presented on Duran-Limons paper: Documenting Software Architectures:
CII Saxion Hogeschool Enschede 1 Object georiënteerd Ontwerpen met UML Saxion Hogeschool Enschede, januari 2005.
Agent Based Software Development Michael Luck, Ronald Ashri and Mark dInverno Chapter 4: Methodologies and Modeling Languages.
SDL+ The Simplest, Useful Enhanced SDL-Subset The documentation is the design, the design is the system! Copyright © SDL Task Force Consortium.
Agent Based Software Development Michael Luck, Ronald Ashri and Mark dInverno.
L © A. H. Levis INCOSE LECTURE 5 OBJECT ORIENTATION FOR ARCHITECTING: A CANDIDATE PROCESS LEE W. WAGENHALS ALEXANDER H. LEVIS C4ISR ARCHITECTURES.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
The Model-Driven Semantic Web Emerging Technologies & Implementation Strategies Elisa Kendall Sandpiper Software September 8, 2005.
HL7 V2 Implementation Guide Authoring Tool Proposal Robert Snelick National Institute of Standards and Technology October 6 th 2010 Contact:
Copyright 1999, 2003 G.v. Bochmann CN-FM ch.2 1 Course Notes on Formal Methods for the Development of Distributed Real-Time Applications Gregor v. Bochmann.
1 Component-Based Development With Catalysis Daryl Winters Component Architects July 19, 2001.
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam.
MSc IT UFCE8K-15-M Data Management Prakash Chatterjee Room 2Q18
Use Case Diagrams Damian Gordon. Example of Use Case Diagram student registration updating grades output generating faculty.
COMET Approach for UML Overview Chapter 6 Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 Test documentation and Test case design Iana Mourza QA Lead/Release Lead VMware, Inc
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam.
Modelling Agent Knowledge with Business Rules Liang Xiao and Des Greer School of Computer Science, Queen's University Belfast, UK.
All rights reserved, Copyright © INTAP Overview: Guide for applying RM- ODP with UML Profile for EDOC From Enterprise Model to Computational Model.
March 2011 P00801: E-Business Information Systems 1 Lecture 6 E-Business Modelling with UML Prof. Hong Zhu Department of Computing and Electronics Module.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
© 2016 SlidePlayer.com Inc. All rights reserved.