SlideShare a Scribd company logo
1 of 25
Download to read offline
From Model-Driven Testingto Test-DrivenModelling 
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 LogicData Layer
Data Architecture 
7
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 showsinconsistency 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 : Strnig [1] 
cv: String [1] 
title : String 
Teacher 
start : date [1] 
end : date [1] 
Class 
name : Strnig [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 Interface14Business LogicData Layer
Modelling Business Logic in UML 
Identifying business logic services as UML componentsModeling 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 
 Service operations are discovered based on scenarios 16 
+startTestAssessment() 
+submitAnswer() 
+finishTestAssessment() 
-evaluateTestAssessment() 
«component» 
TestAssessmentService 
+getQuestion() 
«component» 
TestManagementService 
... 
«component» 
TestManagementService 
... 
«component» 
TestAssessmentService
System LayersUser Interface 
17Business 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? 
TestAssessmentWindowStudentProfileUserDetailsTestResultsWindowAuthorizedsubmit login infoexit / LoginDialogOKGetTestResultsEditDataOKFinishat (timeout) TakeTestall [session expired] [login incorrect] / show error msg [password expired] / show change password fields [password not expired] LoginQuitStart [login correct]
Building GUI-Based Story Board Model (1) 20 
Validates both navigation schema and screen structures 
ProfileEdit DataGet Test ResultsLogoutTitle: Status: Active: Breaks: Time Limit: Instructions: Magic Test2009-05-25 - 2009-06-06460ActiveNoneJava Test (Advanced) Magic TestUML Test (Advanced) UML Test (Beginner) Take Test
Building GUI-Based Story Board Model (2) 
 Validates both navigation schema and screen structures 21 
MagicTest: UML Basics 
Question 1 Question 2 Question 3 ... Question 10 
How many standard diagram types does UML 2 define? 
9 
13 
Pause Test << BBaacckk Next > Finish Test 
Progress 1 / 10
Building GUI-Based Story Board Model (3) 
22 
Validates both navigation schema and screen structures 
EvaluationStart: End:2009-05-292009-05-28Taken Breaks: Time elapsed (in Minutes):170Grade: 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 andtake more time for thinking about the questions. 8Finish
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 situations3.Example/test-driven modelling enables achieving a better quality of model-driven software by testing design models early23
Towards Practicing Test Driven Modelling Tool aspect:Modelling tools like MagicDraw already provide partial support for test-driven modelling –they are not a show stopperHuman aspect:Test-driven modelling requires a change in modeller’s mindset for enabling more mature modelling cultureAction 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 LinkedInsocial network25

More Related Content

Similar to Darius Silingas - From Model-Driven Testing - EuroSTAR 2010

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
Rachel Davis
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementation
the_wumberlog
 
Mercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using SlidesMercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using Slides
telab
 

Similar to Darius Silingas - From Model-Driven Testing - EuroSTAR 2010 (20)

From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
 
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
 
Software Testing Principles and  Techniques
Software Testing Principles and  Techniques Software Testing Principles and  Techniques
Software Testing Principles and  Techniques
 
Applying sys ml_with_magicdraw
Applying sys ml_with_magicdrawApplying sys ml_with_magicdraw
Applying sys ml_with_magicdraw
 
#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
 
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
 
Online exa-syste
Online exa-systeOnline exa-syste
Online exa-syste
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementation
 
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
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
 
ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)
 
Mercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using SlidesMercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using Slides
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Ooad
OoadOoad
Ooad
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
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
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
 

More from TEST 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

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Darius Silingas - From Model-Driven Testing - EuroSTAR 2010

  • 1. From Model-Driven Testingto Test-DrivenModelling 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
  • 6. System Layers User Interface 6 Business LogicData Layer
  • 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 showsinconsistency 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 : Strnig [1] cv: String [1] title : String Teacher start : date [1] end : date [1] Class name : Strnig [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
  • 14. System Layers User Interface14Business LogicData Layer
  • 15. Modelling Business Logic in UML Identifying business logic services as UML componentsModeling 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  Service operations are discovered based on scenarios 16 +startTestAssessment() +submitAnswer() +finishTestAssessment() -evaluateTestAssessment() «component» TestAssessmentService +getQuestion() «component» TestManagementService ... «component» TestManagementService ... «component» TestAssessmentService
  • 17. System LayersUser Interface 17Business Logic Data Layer
  • 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? TestAssessmentWindowStudentProfileUserDetailsTestResultsWindowAuthorizedsubmit login infoexit / LoginDialogOKGetTestResultsEditDataOKFinishat (timeout) TakeTestall [session expired] [login incorrect] / show error msg [password expired] / show change password fields [password not expired] LoginQuitStart [login correct]
  • 20. Building GUI-Based Story Board Model (1) 20 Validates both navigation schema and screen structures ProfileEdit DataGet Test ResultsLogoutTitle: Status: Active: Breaks: Time Limit: Instructions: Magic Test2009-05-25 - 2009-06-06460ActiveNoneJava Test (Advanced) Magic TestUML Test (Advanced) UML Test (Beginner) Take Test
  • 21. Building GUI-Based Story Board Model (2)  Validates both navigation schema and screen structures 21 MagicTest: UML Basics Question 1 Question 2 Question 3 ... Question 10 How many standard diagram types does UML 2 define? 9 13 Pause Test << BBaacckk Next > Finish Test Progress 1 / 10
  • 22. Building GUI-Based Story Board Model (3) 22 Validates both navigation schema and screen structures EvaluationStart: End:2009-05-292009-05-28Taken Breaks: Time elapsed (in Minutes):170Grade: 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 andtake more time for thinking about the questions. 8Finish
  • 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 situations3.Example/test-driven modelling enables achieving a better quality of model-driven software by testing design models early23
  • 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 stopperHuman aspect:Test-driven modelling requires a change in modeller’s mindset for enabling more mature modelling cultureAction 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 LinkedInsocial network25