SlideShare uma empresa Scribd logo
1 de 40
Model-Driven Development,
     the end of the test profession?




Johan den Haan
Head R&D Mendix
@JohanDenHaan
I’m not a test
expert
Meet Marvin!
How Marvin discovered MDD

   1. Good programmers are lazy

   2. Creating a product line

   3. Empowering business engineers

   4. Changing the test profession
1. Good programmers
are lazy
Marvin needs to add a field to
the Order entity…


                      User Interface



                     Application Layer



                      Domain Layer



                          ORM



                        Database
Marvin wants 1 place to
change instead of 5


                     User Interface



                    Application Layer



                     Domain Layer



                          ORM



                       Database
DRY
Don’t repeat yourself
Good programmers are lazy
 Don’t repeat yourself
 Generate different parts from one program
  definition
 One business change means one change in
  program definition
 Program definition can be seen as a model
 First step into direction of MDD
2. Creating a
product line
Marvin needs to serve
a lot of customers…



   Customer 1      Customer 2   Customer 3
Software Product Line:
assemble assets
Platform Assets   Assemble   Application
Proactive vs. Reactive
Software Product Line
design
Creating a product line
 What should be part of the model?
 Define a domain and specify the static and
  variable part
 Model can be at higher abstraction level
 Second step into direction of MDD
Summary
1. Don’t repeat yourself: one business change is
   one change in your program specification
2. Define a domain: separation between static
   (platform) and variability (model) leads to a
   high-level model
3. Empowering
business engineers
Marvin wants to focus
on technology…
… so he empowers business engineers
Language     Transf. rules

Specified in    Defined by



       Model        Generator       Code

                                   Uses


                                    Domain
                                  Framework
Domain-Specific Language
Code Generation vs. Model Interpretation




         +               =
          +              =
Abstraction and Automation
empower business engineers
Empowering business engineers
 High-level modeling language (abstraction)
 Tool support (automation)
 Empowers business engineers
 Focus on business problem instead of
  technology
 Third step into direction of MDD
Summary
1. Don’t repeat yourself: one business change is
   one change in your program specification
2. Define a domain: separation between static
   (platform) and variability (model) leads to a
   high-level model
3. Use DSLs: easily specify a high-level model
   which is automatically converted into a
   working application
4. Changing the
test profession
Marvin…!! What’s
in it for me?
… no billable
hours for Marvin
Marvin explains…
 Higher productivity
 More agile
 Business-IT alignment
  – Communication using models
  – Empowering domain experts
  – Short feedback cycles
 Improved quality
  – Separation of concerns
  – Engine contains knowledge
  – Less technical errors
Is MDD less
error-prone?
User                                                     Acceptance
requirements                                                    test


         System
                                                     System test
      requirements


                                               Integration
               Design
                                                   test


                     Detailed         Component
                      design             test


                           Code   Unit tests
User                                                     Acceptance
 requirements                                                    test


          System
                                                      System test
       requirements


                                                Integration
                Design
                                                    test


                      Detailed         Component
                       design             test


No code                     Code   Unit tests
User                                                    Acceptance
 requirements                                                   test


          System
                                                     System test
       requirements


                                               Integration
                Design
                                                   test


No detailed design
              Detailed                Component
                      design             test


                           Code   Unit tests
User                                                     Acceptance
 requirements                                                    test


          System
                                                      System test
       requirements


                                                Integration
                Design
                                                    test
No technical design
                      Detailed         Component
                       design             test


                            Code   Unit tests
Focus on requirements,                 Focus on validation,
functional design                      reviews, business fit
     User                                                     Acceptance
 requirements                                                    test


          System
                                                      System test
       requirements


                                                Integration
                Design
                                                    test


                      Detailed         Component
                       design             test


                            Code   Unit tests
Are we approaching
the end of the test
profession?
Why MDD doesn’t mean the end of
       the test profession
 Validation and verification still needed
 Testing of complex systems in complex
  environments
 Testing and verification of MDD tools!
 Is creating software by only defining the
  functional design ever feasible?
How Marvin discovered MDD

   1. Good programmers are lazy

   2. Creating a product line

   3. Empowering business engineers

   4. Changing the test profession
Model-Driven Development
will change the test profession!


 Read more (blog): www.theenterprisearchitect.eu
      Connect (twitter): @JohanDenHaan

Mais conteúdo relacionado

Mais procurados

Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentSpiffy
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornmentSpiffy
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_teltools
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App LifecycleMarc Hoppers
 
ALM for SharePoint projects
ALM for SharePoint projectsALM for SharePoint projects
ALM for SharePoint projectsSpiffy
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Spiffy
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_kIBM
 
IBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit IndiaIBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit IndiaLeigh Williamson
 
The Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application FrameworkThe Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application FrameworkJean-Marc Desvaux
 
Define and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements ComposerDefine and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements ComposerAlan Kan
 
Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011rgfordham
 

Mais procurados (20)

Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornment
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App Lifecycle
 
ALM for SharePoint projects
ALM for SharePoint projectsALM for SharePoint projects
ALM for SharePoint projects
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
Sakeesoft
Sakeesoft Sakeesoft
Sakeesoft
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k
 
Spring
SpringSpring
Spring
 
Unit 08: Security for Web Applications
Unit 08: Security for Web ApplicationsUnit 08: Security for Web Applications
Unit 08: Security for Web Applications
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
Unit03: Process and Business Models
Unit03: Process and Business ModelsUnit03: Process and Business Models
Unit03: Process and Business Models
 
IBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit IndiaIBM Presentation for Mobile Developer Summit India
IBM Presentation for Mobile Developer Summit India
 
BA Resume
BA  ResumeBA  Resume
BA Resume
 
The Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application FrameworkThe Strategic Role of the Enterprise Application Framework
The Strategic Role of the Enterprise Application Framework
 
SandeepVanama_Resume
SandeepVanama_ResumeSandeepVanama_Resume
SandeepVanama_Resume
 
Unit 04: From Requirements to the UX Model
Unit 04: From Requirements to the UX ModelUnit 04: From Requirements to the UX Model
Unit 04: From Requirements to the UX Model
 
Define and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements ComposerDefine and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements Composer
 
Unit 01 - Introduction
Unit 01 - IntroductionUnit 01 - Introduction
Unit 01 - Introduction
 
Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011Nearshoring With Tiempo 2011
Nearshoring With Tiempo 2011
 

Semelhante a Model-Driven Development and the Evolving Role of Testing

Visual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-endVisual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-endHosam Kamel
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementHosam Kamel
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriverMikalai Alimenkou
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Ayman El-Hattab
 
V-Empower Technical Competence Workflow
V-Empower Technical Competence WorkflowV-Empower Technical Competence Workflow
V-Empower Technical Competence WorkflowHannan Ahmed
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010Tim Mahy
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cyclegueste730d5
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMDebora Di Piano
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Packjucaab
 
Visual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management ToolsVisual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management ToolsAyman El-Hattab
 
Regression Testing with Symfony
Regression Testing with SymfonyRegression Testing with Symfony
Regression Testing with SymfonyJoachim Unger
 

Semelhante a Model-Driven Development and the Evolving Role of Testing (20)

Visual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-endVisual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-end
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle Management
 
E3 chap-06
E3 chap-06E3 chap-06
E3 chap-06
 
Manual testing1
Manual testing1Manual testing1
Manual testing1
 
Unit testing
Unit testingUnit testing
Unit testing
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriver
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview
 
ITS-Fidel
ITS-FidelITS-Fidel
ITS-Fidel
 
V-Empower Technical Competence Workflow
V-Empower Technical Competence WorkflowV-Empower Technical Competence Workflow
V-Empower Technical Competence Workflow
 
Testing
TestingTesting
Testing
 
MEx presentation
MEx presentationMEx presentation
MEx presentation
 
MEx presentation
MEx presentationMEx presentation
MEx presentation
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010
 
Coding Naked
Coding NakedCoding Naked
Coding Naked
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Pack
 
Visual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management ToolsVisual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management Tools
 
Regression Testing with Symfony
Regression Testing with SymfonyRegression Testing with Symfony
Regression Testing with Symfony
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Model-Driven Development and the Evolving Role of Testing

  • 1. Model-Driven Development, the end of the test profession? Johan den Haan Head R&D Mendix @JohanDenHaan
  • 2.
  • 3. I’m not a test expert
  • 5. How Marvin discovered MDD 1. Good programmers are lazy 2. Creating a product line 3. Empowering business engineers 4. Changing the test profession
  • 7. Marvin needs to add a field to the Order entity… User Interface Application Layer Domain Layer ORM Database
  • 8. Marvin wants 1 place to change instead of 5 User Interface Application Layer Domain Layer ORM Database
  • 10. Good programmers are lazy  Don’t repeat yourself  Generate different parts from one program definition  One business change means one change in program definition  Program definition can be seen as a model  First step into direction of MDD
  • 12. Marvin needs to serve a lot of customers… Customer 1 Customer 2 Customer 3
  • 14. Platform Assets Assemble Application
  • 15. Proactive vs. Reactive Software Product Line design
  • 16. Creating a product line  What should be part of the model?  Define a domain and specify the static and variable part  Model can be at higher abstraction level  Second step into direction of MDD
  • 17. Summary 1. Don’t repeat yourself: one business change is one change in your program specification 2. Define a domain: separation between static (platform) and variability (model) leads to a high-level model
  • 19. Marvin wants to focus on technology…
  • 20. … so he empowers business engineers
  • 21. Language Transf. rules Specified in Defined by Model Generator Code Uses Domain Framework
  • 23. Code Generation vs. Model Interpretation + = + =
  • 25. Empowering business engineers  High-level modeling language (abstraction)  Tool support (automation)  Empowers business engineers  Focus on business problem instead of technology  Third step into direction of MDD
  • 26. Summary 1. Don’t repeat yourself: one business change is one change in your program specification 2. Define a domain: separation between static (platform) and variability (model) leads to a high-level model 3. Use DSLs: easily specify a high-level model which is automatically converted into a working application
  • 27. 4. Changing the test profession
  • 29. … no billable hours for Marvin
  • 30. Marvin explains…  Higher productivity  More agile  Business-IT alignment – Communication using models – Empowering domain experts – Short feedback cycles  Improved quality – Separation of concerns – Engine contains knowledge – Less technical errors
  • 32. User Acceptance requirements test System System test requirements Integration Design test Detailed Component design test Code Unit tests
  • 33. User Acceptance requirements test System System test requirements Integration Design test Detailed Component design test No code Code Unit tests
  • 34. User Acceptance requirements test System System test requirements Integration Design test No detailed design Detailed Component design test Code Unit tests
  • 35. User Acceptance requirements test System System test requirements Integration Design test No technical design Detailed Component design test Code Unit tests
  • 36. Focus on requirements, Focus on validation, functional design reviews, business fit User Acceptance requirements test System System test requirements Integration Design test Detailed Component design test Code Unit tests
  • 37. Are we approaching the end of the test profession?
  • 38. Why MDD doesn’t mean the end of the test profession  Validation and verification still needed  Testing of complex systems in complex environments  Testing and verification of MDD tools!  Is creating software by only defining the functional design ever feasible?
  • 39. How Marvin discovered MDD 1. Good programmers are lazy 2. Creating a product line 3. Empowering business engineers 4. Changing the test profession
  • 40. Model-Driven Development will change the test profession! Read more (blog): www.theenterprisearchitect.eu Connect (twitter): @JohanDenHaan