SlideShare a Scribd company logo
1 of 25
From Model-Driven Testing
to Test-Driven Modelling
Dr. Darius Silingas
Principal Consultant @ No Magic
What Is this Session About?
Disclaimer: I am not and have never been a Software Tester
… but I have worked with a lot of software testers
… and I know that a tester can figure out the bugs
… but a developer has to fix them
… and he can prevent them by using test-driven approach
This session is about installing testing approach into software
modelling activities for getting better quality models and thus
better quality software based on those models
2
Prerequisites
This is an advanced session, which assumes that you have:
 A basic understanding of Model Driven Development
 A basic understanding of Test Driven Development
 A desire to build better quality software 
3
Towards Synergy of Trends
 Improve MDA with Agile practices
 Raise the level of abstraction for Agile practices 4
AGILE Development
Test Driven
Development
Model Driven Testing Test Driven Modelling
Eating Your Own Dog Food
Let’s practice example/test-driven approach and learn the
principles of Test Driven Modelling by analyzing how to apply
it to a small example system MagicTest.
MagicTest provides functionality for a teacher to create test
questions, group them into a test and assign it to the class
that he is teaching. The students of that classes make
assessments of the test that are automatically evaluated.
5
System Layers
User Interface
6
Business Logic
Data Layer
Data Architecture
7
MagicTest Data Structure
SelectionAsnwer
ClosedQuestion
OpenQuestion
AnswerOption
Assessment
InputAnswer
TestState
Question
Answer
Test
MagicTest
MagicUniversity Data Structure
UniversityMember
AcademicRole
ClassState
Teacher
Student
Course
Class
MagicUniversity
MagicUniversity Data Structures
8
name : String [1]
cv : String [1]
title : String
Teacher
start : date [1]
end : date [1]
Class
name : String [1]
year : Integer [1]
Student
title : String [1]
code : String [1]
description : String [1]
credits : Integer [1]
Course
teacher 1
0..*
subject
1 0..*
0..*
prerequisites
0..*
supervisor 1
0..*
participants 1..*
0..*
 How do I know if this data structure is suitable?
Representative Data Sample
9 A sample shows inconsistency with data structure
What Can We Do When Sample Violates Data Structure
1. Fix data structure (sample is good, structure was wrong)
2. Fix data sample (sample is wrong, structure was good)
 Use invalid sample in testing for ensuring that such cases are not
allowed and handled appropriately in the system
10
MagicUniversity Data Structures
11
name : String [1]
cv : String [1]
title : String
Teacher
start : date [1]
end : date [1]
Class
name : String [1]
year : Integer [1]
Student
title : String [1]
code : String [1]
description : String [1]
credits : Integer [1]
Course
teacher 1
0..*
subject
1 0..*
0..*
prerequisites
0..*
supervisor 1
0..*
participants 1..*
0..*
 Decision: Enable multiple supervisors
1..*
Representative Data Sample
12 A sample is now in sync with data structure
Build Bigger Representative Samples
13
 A data designer should prepare it along with data structure
 Testers should take over with creating variations
System Layers
User Interface
14
Business Logic
Data Layer
Modelling Business Logic in UML
Identifying business logic services as UML components
Modeling interaction scenarios as UML sequence diagrams
• The operations of business components can be created as needed
• New necessary service components can be created as needed
• JUnit tests or their skeletons can be generated from interaction
scenarios
15 UML tools support these scenarios quite well
Modelling Interaction Scenario at Business Logic Layer
16 Service operations are discovered based on scenarios
+startTestAssessment()
+submitAnswer()
+finishTestAssessment()
-evaluateTestAssessment()
«component»
TestAssessmentService
+getQuestion()
«component»
TestManagementService
Take Test Assessment Take Test Assessmentinteraction [ ]
: TestAssessmentService : TestManagementService
getQuestion()2:
question14:
getQuestion()6:
question28:
evaluateTestAssessment()10:
evaluation11:
question13:
question27:
submitAnswer()5:
finishTestAssessment()9:
startTestAssessment()1:
...
«component»
TestManagementService
...
«component»
TestAssessmentService
System Layers
User Interface
17
Business Logic
Data Layer
GUI Modelling in UML
GUI structure can be captured in UML class or composite
structure diagrams
 Modern modelling tools typically provide graphical rendering to enable
better presentation for users and GUI designers/analysts
1. Identify abstract GUI screens as UML classes
2. Build abstract GUI navigation schema as UML state machine
3. Build a story board GUI sample set as UML instance
specifications for validating GUI design with data samples
 Reuse data for GUI samples from data design (or vice versa)
18
GUI Navigation Schema
19 How do I know it is suitable?
TestAssessmentWindow
StudentProfile UserDetails
TestResultsWindow
Authorized
submit login infoexit /
LoginDialog
OK
GetTestResults
EditData
OK
Finish
at (timeout)
TakeTest
all [session expired][login incorrect] / show error msg
[password expired] / show change password fields
[password not expired]
Login
Quit
Start
[login correct]
Building GUI-Based Story Board Model (1)
20 Validates both navigation schema and screen structures
Profile
Edit Data
Get Test Results
Logout
Title:
Status:
Active:
Breaks:
Time Limit:
Instructions:
Magic Test
2009-05-25 - 2009-06-06
4
60
Active
None
Java Test (Advanced)
Magic Test
UML Test (Advanced)
UML Test (Beginner)
Take Test
Building GUI-Based Story Board Model (2)
21 Validates both navigation schema and screen structures
MagicTest: UML Basics
Question 2 Question 3 ... Question 10Question 1
How many standard diagram types does UML 2 define?
9
13
Pause Test < Back< Back Next > Finish Test
11Progress / 10
Building GUI-Based Story Board Model (3)
22 Validates both navigation schema and screen structures
Evaluation
Start:
End: 2009-05-29
2009-05-28 Taken Breaks:
Time elapsed (in Minutes): 17
0
Grade:
You finished the test quite well. You've made only 2 mistakes.
Keep it this way and you will finish other tests also.
Maybe even better if you concentrate a little bit more and
take more time for thinking about the questions.
8
Finish
Lessons Learned
1. Conceptual mistakes in design models can be found early by
validating it with example/test models
2. Quality engineers need to be involved in collaborative
modelling together with developers
 Developers should produce essential example models
 Testers should take over with creating variations for a better
coverage of error-prone situations
3. Example/test-driven modelling enables achieving a better
quality of model-driven software by testing design models
early
23
Towards Practicing Test Driven Modelling
Tool aspect: Modelling tools like MagicDraw already provide partial support for
test-driven modelling – they are not a show stopper
Human aspect: Test-driven modelling requires a
change in modeller’s mindset for enabling
more mature modelling culture
Action point: bring these ideas back to your organisations and
see if you can influence a change
24
The End
Thank You for the attention!
Any Questions???
Let’s Keep in Touch:
E-mail: darius.silingas@nomagic.com
Skype: darius.silingas
Get connected at LinkedIn social network
25

More Related Content

What's hot

Edwin Van Loon - How Much Testing is Enough - EuroSTAR 2010
Edwin Van Loon -  How Much Testing is Enough - EuroSTAR 2010Edwin Van Loon -  How Much Testing is Enough - EuroSTAR 2010
Edwin Van Loon - How Much Testing is Enough - EuroSTAR 2010TEST Huddle
 
Michael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingMichael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingTEST Huddle
 
Klaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumKlaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumTEST Huddle
 
'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik Boelen'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik BoelenTEST Huddle
 
Mattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingMattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingTEST Huddle
 
Vipul Kocher - Software Testing, A Framework Based Approach
Vipul Kocher - Software Testing, A Framework Based ApproachVipul Kocher - Software Testing, A Framework Based Approach
Vipul Kocher - Software Testing, A Framework Based ApproachTEST Huddle
 
Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?TEST Huddle
 
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010TEST Huddle
 
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010TEST Huddle
 
'Houston We Have A Problem' by Rien van Vugt & Maurice Siteur
'Houston We Have A Problem' by Rien van Vugt & Maurice Siteur'Houston We Have A Problem' by Rien van Vugt & Maurice Siteur
'Houston We Have A Problem' by Rien van Vugt & Maurice SiteurTEST Huddle
 
'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...
'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...
'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...TEST Huddle
 
Mattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-entMattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-entTEST Huddle
 
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010TEST Huddle
 
'Customer Testing & Quality In Outsourced Development - A Story From An Insur...
'Customer Testing & Quality In Outsourced Development - A Story From An Insur...'Customer Testing & Quality In Outsourced Development - A Story From An Insur...
'Customer Testing & Quality In Outsourced Development - A Story From An Insur...TEST Huddle
 
Mickiel Vroon - Test Environment, The Future Achilles’ Heel
Mickiel Vroon - Test Environment, The Future Achilles’ HeelMickiel Vroon - Test Environment, The Future Achilles’ Heel
Mickiel Vroon - Test Environment, The Future Achilles’ HeelTEST Huddle
 
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011TEST Huddle
 
'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer
'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer
'Architecture Testing: Wrongly Ignored!' by Peter ZimmererTEST Huddle
 
Jelle Calsbeek - Stay Agile with Model Based Testing revised
Jelle Calsbeek - Stay Agile with Model Based Testing revisedJelle Calsbeek - Stay Agile with Model Based Testing revised
Jelle Calsbeek - Stay Agile with Model Based Testing revisedTEST Huddle
 
Franck Mignet - How Exploratory Testing Helps get Structured Testing Started
Franck Mignet -  How Exploratory Testing Helps get Structured Testing StartedFranck Mignet -  How Exploratory Testing Helps get Structured Testing Started
Franck Mignet - How Exploratory Testing Helps get Structured Testing StartedTEST Huddle
 
John Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green WorldJohn Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green WorldTEST Huddle
 

What's hot (20)

Edwin Van Loon - How Much Testing is Enough - EuroSTAR 2010
Edwin Van Loon -  How Much Testing is Enough - EuroSTAR 2010Edwin Van Loon -  How Much Testing is Enough - EuroSTAR 2010
Edwin Van Loon - How Much Testing is Enough - EuroSTAR 2010
 
Michael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingMichael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software Testing
 
Klaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumKlaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using Scrum
 
'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik Boelen'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik Boelen
 
Mattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingMattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario Testing
 
Vipul Kocher - Software Testing, A Framework Based Approach
Vipul Kocher - Software Testing, A Framework Based ApproachVipul Kocher - Software Testing, A Framework Based Approach
Vipul Kocher - Software Testing, A Framework Based Approach
 
Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?
 
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010
 
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
 
'Houston We Have A Problem' by Rien van Vugt & Maurice Siteur
'Houston We Have A Problem' by Rien van Vugt & Maurice Siteur'Houston We Have A Problem' by Rien van Vugt & Maurice Siteur
'Houston We Have A Problem' by Rien van Vugt & Maurice Siteur
 
'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...
'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...
'Continuous Quality Improvements – A Journey Through The Largest Scrum Projec...
 
Mattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-entMattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-ent
 
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010
 
'Customer Testing & Quality In Outsourced Development - A Story From An Insur...
'Customer Testing & Quality In Outsourced Development - A Story From An Insur...'Customer Testing & Quality In Outsourced Development - A Story From An Insur...
'Customer Testing & Quality In Outsourced Development - A Story From An Insur...
 
Mickiel Vroon - Test Environment, The Future Achilles’ Heel
Mickiel Vroon - Test Environment, The Future Achilles’ HeelMickiel Vroon - Test Environment, The Future Achilles’ Heel
Mickiel Vroon - Test Environment, The Future Achilles’ Heel
 
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
 
'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer
'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer
'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer
 
Jelle Calsbeek - Stay Agile with Model Based Testing revised
Jelle Calsbeek - Stay Agile with Model Based Testing revisedJelle Calsbeek - Stay Agile with Model Based Testing revised
Jelle Calsbeek - Stay Agile with Model Based Testing revised
 
Franck Mignet - How Exploratory Testing Helps get Structured Testing Started
Franck Mignet -  How Exploratory Testing Helps get Structured Testing StartedFranck Mignet -  How Exploratory Testing Helps get Structured Testing Started
Franck Mignet - How Exploratory Testing Helps get Structured Testing Started
 
John Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green WorldJohn Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green World
 

Viewers also liked

Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010TEST Huddle
 
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010TEST Huddle
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world Opher Etzion
 
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010TEST Huddle
 
Data Driven Modeling Beyond Idealization
Data Driven Modeling Beyond IdealizationData Driven Modeling Beyond Idealization
Data Driven Modeling Beyond IdealizationVahid Moosavi
 
Golden Rules of Web Design - Theo Mandel, Ph.D.
Golden Rules of Web Design - Theo Mandel, Ph.D.Golden Rules of Web Design - Theo Mandel, Ph.D.
Golden Rules of Web Design - Theo Mandel, Ph.D.Theo Mandel, PhD
 
Story Driven Development With Cucumber
Story Driven Development With CucumberStory Driven Development With Cucumber
Story Driven Development With CucumberSean Cribbs
 
Agile 101
Agile 101Agile 101
Agile 101beLithe
 
Data Driven Possibilities with Qlik
Data Driven Possibilities with QlikData Driven Possibilities with Qlik
Data Driven Possibilities with QlikMischa van Werkhoven
 
APMP Foundation: Storyboard Development
APMP Foundation: Storyboard DevelopmentAPMP Foundation: Storyboard Development
APMP Foundation: Storyboard DevelopmentBid to Win Ltd
 
Users' Story: UX Storyboarding
Users' Story: UX StoryboardingUsers' Story: UX Storyboarding
Users' Story: UX StoryboardingFrank Garofalo
 

Viewers also liked (14)

Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
 
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
Darius Silingas - From Model-Driven Testing - EuroSTAR 2010
 
Storyboard
StoryboardStoryboard
Storyboard
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world
 
Storyboard
Storyboard Storyboard
Storyboard
 
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
Thomas Axen - Lean Kaizen Applied To Software Testing - EuroSTAR 2010
 
Data Driven Modeling Beyond Idealization
Data Driven Modeling Beyond IdealizationData Driven Modeling Beyond Idealization
Data Driven Modeling Beyond Idealization
 
Golden Rules of Web Design - Theo Mandel, Ph.D.
Golden Rules of Web Design - Theo Mandel, Ph.D.Golden Rules of Web Design - Theo Mandel, Ph.D.
Golden Rules of Web Design - Theo Mandel, Ph.D.
 
Story Driven Development With Cucumber
Story Driven Development With CucumberStory Driven Development With Cucumber
Story Driven Development With Cucumber
 
Agile 101
Agile 101Agile 101
Agile 101
 
Data Driven Possibilities with Qlik
Data Driven Possibilities with QlikData Driven Possibilities with Qlik
Data Driven Possibilities with Qlik
 
APMP Foundation: Storyboard Development
APMP Foundation: Storyboard DevelopmentAPMP Foundation: Storyboard Development
APMP Foundation: Storyboard Development
 
Storyboarding
StoryboardingStoryboarding
Storyboarding
 
Users' Story: UX Storyboarding
Users' Story: UX StoryboardingUsers' Story: UX Storyboarding
Users' Story: UX Storyboarding
 

Similar to Darius Silingas - From Model Driven Testing to Test Driven Modelling

Testing Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksTesting Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksŁukasz Morawski
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databasesAlessandro Alpi
 
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010TEST Huddle
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingRachel Davis
 
types of testing with descriptions and examples
types of testing with descriptions and examplestypes of testing with descriptions and examples
types of testing with descriptions and examplesMani Deepak Choudhry
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architectureAhmad karawash
 
Software Testing Principles and  Techniques
Software Testing Principles and  Techniques Software Testing Principles and  Techniques
Software Testing Principles and  Techniques suresh ramanujam
 
Test driven development
Test driven developmentTest driven development
Test driven developmentnamkha87
 
Test Automation on Large Agile Projects: It's Not a Cakewalk
Test Automation on Large Agile Projects: It's Not a CakewalkTest Automation on Large Agile Projects: It's Not a Cakewalk
Test Automation on Large Agile Projects: It's Not a CakewalkTechWell
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingCameron Presley
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
Software Arch TDD ppt.pdf
Software Arch TDD ppt.pdfSoftware Arch TDD ppt.pdf
Software Arch TDD ppt.pdfTed M. Young
 
Software testing
Software testingSoftware testing
Software testingthaneofife
 
Test Driven Development:Unit Testing, Dependency Injection, Mocking
Test Driven Development:Unit Testing, Dependency Injection, MockingTest Driven Development:Unit Testing, Dependency Injection, Mocking
Test Driven Development:Unit Testing, Dependency Injection, Mockingmrjawright
 

Similar to Darius Silingas - From Model Driven Testing to Test Driven Modelling (20)

Testing Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksTesting Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation Frameworks
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
 
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
 
Online exa-syste
Online exa-systeOnline exa-syste
Online exa-syste
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
types of testing with descriptions and examples
types of testing with descriptions and examplestypes of testing with descriptions and examples
types of testing with descriptions and examples
 
midterm_fa08.pdf
midterm_fa08.pdfmidterm_fa08.pdf
midterm_fa08.pdf
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
 
Software Testing Principles and  Techniques
Software Testing Principles and  Techniques Software Testing Principles and  Techniques
Software Testing Principles and  Techniques
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test case development
Test case developmentTest case development
Test case development
 
Unit testing
Unit testingUnit testing
Unit testing
 
Test Automation on Large Agile Projects: It's Not a Cakewalk
Test Automation on Large Agile Projects: It's Not a CakewalkTest Automation on Large Agile Projects: It's Not a Cakewalk
Test Automation on Large Agile Projects: It's Not a Cakewalk
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To Testing
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Software Arch TDD ppt.pdf
Software Arch TDD ppt.pdfSoftware Arch TDD ppt.pdf
Software Arch TDD ppt.pdf
 
selenium resume
selenium resumeselenium resume
selenium resume
 
Software testing
Software testingSoftware testing
Software testing
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
 
Test Driven Development:Unit Testing, Dependency Injection, Mocking
Test Driven Development:Unit Testing, Dependency Injection, MockingTest Driven Development:Unit Testing, Dependency Injection, Mocking
Test Driven Development:Unit Testing, Dependency Injection, Mocking
 

More from TEST Huddle

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureTEST Huddle
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar TEST Huddle
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway TEST Huddle
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in ScrumTEST Huddle
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsTEST Huddle
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkTEST Huddle
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New HeightsTEST Huddle
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?TEST Huddle
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of UsTEST Huddle
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)TEST Huddle
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesTEST Huddle
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?TEST Huddle
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageTEST Huddle
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersTEST Huddle
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?TEST Huddle
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfullyTEST Huddle
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey TEST Huddle
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsTEST Huddle
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your RoleTEST Huddle
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0TEST Huddle
 

More from TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 

Recently uploaded (20)

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Darius Silingas - From Model Driven Testing to Test Driven Modelling

  • 1. From Model-Driven Testing to Test-Driven Modelling Dr. Darius Silingas Principal Consultant @ No Magic
  • 2. What Is this Session About? Disclaimer: I am not and have never been a Software Tester … but I have worked with a lot of software testers … and I know that a tester can figure out the bugs … but a developer has to fix them … and he can prevent them by using test-driven approach This session is about installing testing approach into software modelling activities for getting better quality models and thus better quality software based on those models 2
  • 3. Prerequisites This is an advanced session, which assumes that you have:  A basic understanding of Model Driven Development  A basic understanding of Test Driven Development  A desire to build better quality software  3
  • 4. Towards Synergy of Trends  Improve MDA with Agile practices  Raise the level of abstraction for Agile practices 4 AGILE Development Test Driven Development Model Driven Testing Test Driven Modelling
  • 5. Eating Your Own Dog Food Let’s practice example/test-driven approach and learn the principles of Test Driven Modelling by analyzing how to apply it to a small example system MagicTest. MagicTest provides functionality for a teacher to create test questions, group them into a test and assign it to the class that he is teaching. The students of that classes make assessments of the test that are automatically evaluated. 5
  • 7. Data Architecture 7 MagicTest Data Structure SelectionAsnwer ClosedQuestion OpenQuestion AnswerOption Assessment InputAnswer TestState Question Answer Test MagicTest MagicUniversity Data Structure UniversityMember AcademicRole ClassState Teacher Student Course Class MagicUniversity
  • 8. MagicUniversity Data Structures 8 name : String [1] cv : String [1] title : String Teacher start : date [1] end : date [1] Class name : String [1] year : Integer [1] Student title : String [1] code : String [1] description : String [1] credits : Integer [1] Course teacher 1 0..* subject 1 0..* 0..* prerequisites 0..* supervisor 1 0..* participants 1..* 0..*  How do I know if this data structure is suitable?
  • 9. Representative Data Sample 9 A sample shows inconsistency with data structure
  • 10. What Can We Do When Sample Violates Data Structure 1. Fix data structure (sample is good, structure was wrong) 2. Fix data sample (sample is wrong, structure was good)  Use invalid sample in testing for ensuring that such cases are not allowed and handled appropriately in the system 10
  • 11. MagicUniversity Data Structures 11 name : String [1] cv : String [1] title : String Teacher start : date [1] end : date [1] Class name : String [1] year : Integer [1] Student title : String [1] code : String [1] description : String [1] credits : Integer [1] Course teacher 1 0..* subject 1 0..* 0..* prerequisites 0..* supervisor 1 0..* participants 1..* 0..*  Decision: Enable multiple supervisors 1..*
  • 12. Representative Data Sample 12 A sample is now in sync with data structure
  • 13. Build Bigger Representative Samples 13  A data designer should prepare it along with data structure  Testers should take over with creating variations
  • 15. Modelling Business Logic in UML Identifying business logic services as UML components Modeling interaction scenarios as UML sequence diagrams • The operations of business components can be created as needed • New necessary service components can be created as needed • JUnit tests or their skeletons can be generated from interaction scenarios 15 UML tools support these scenarios quite well
  • 16. Modelling Interaction Scenario at Business Logic Layer 16 Service operations are discovered based on scenarios +startTestAssessment() +submitAnswer() +finishTestAssessment() -evaluateTestAssessment() «component» TestAssessmentService +getQuestion() «component» TestManagementService Take Test Assessment Take Test Assessmentinteraction [ ] : TestAssessmentService : TestManagementService getQuestion()2: question14: getQuestion()6: question28: evaluateTestAssessment()10: evaluation11: question13: question27: submitAnswer()5: finishTestAssessment()9: startTestAssessment()1: ... «component» TestManagementService ... «component» TestAssessmentService
  • 18. GUI Modelling in UML GUI structure can be captured in UML class or composite structure diagrams  Modern modelling tools typically provide graphical rendering to enable better presentation for users and GUI designers/analysts 1. Identify abstract GUI screens as UML classes 2. Build abstract GUI navigation schema as UML state machine 3. Build a story board GUI sample set as UML instance specifications for validating GUI design with data samples  Reuse data for GUI samples from data design (or vice versa) 18
  • 19. GUI Navigation Schema 19 How do I know it is suitable? TestAssessmentWindow StudentProfile UserDetails TestResultsWindow Authorized submit login infoexit / LoginDialog OK GetTestResults EditData OK Finish at (timeout) TakeTest all [session expired][login incorrect] / show error msg [password expired] / show change password fields [password not expired] Login Quit Start [login correct]
  • 20. Building GUI-Based Story Board Model (1) 20 Validates both navigation schema and screen structures Profile Edit Data Get Test Results Logout Title: Status: Active: Breaks: Time Limit: Instructions: Magic Test 2009-05-25 - 2009-06-06 4 60 Active None Java Test (Advanced) Magic Test UML Test (Advanced) UML Test (Beginner) Take Test
  • 21. Building GUI-Based Story Board Model (2) 21 Validates both navigation schema and screen structures MagicTest: UML Basics Question 2 Question 3 ... Question 10Question 1 How many standard diagram types does UML 2 define? 9 13 Pause Test < Back< Back Next > Finish Test 11Progress / 10
  • 22. Building GUI-Based Story Board Model (3) 22 Validates both navigation schema and screen structures Evaluation Start: End: 2009-05-29 2009-05-28 Taken Breaks: Time elapsed (in Minutes): 17 0 Grade: You finished the test quite well. You've made only 2 mistakes. Keep it this way and you will finish other tests also. Maybe even better if you concentrate a little bit more and take more time for thinking about the questions. 8 Finish
  • 23. Lessons Learned 1. Conceptual mistakes in design models can be found early by validating it with example/test models 2. Quality engineers need to be involved in collaborative modelling together with developers  Developers should produce essential example models  Testers should take over with creating variations for a better coverage of error-prone situations 3. Example/test-driven modelling enables achieving a better quality of model-driven software by testing design models early 23
  • 24. Towards Practicing Test Driven Modelling Tool aspect: Modelling tools like MagicDraw already provide partial support for test-driven modelling – they are not a show stopper Human aspect: Test-driven modelling requires a change in modeller’s mindset for enabling more mature modelling culture Action point: bring these ideas back to your organisations and see if you can influence a change 24
  • 25. The End Thank You for the attention! Any Questions??? Let’s Keep in Touch: E-mail: darius.silingas@nomagic.com Skype: darius.silingas Get connected at LinkedIn social network 25