SlideShare a Scribd company logo
TOWARDS DOMAIN-SPECIFIC TESTING LANGUAGES
FOR SOFTWARE-AS-A-SERVICE
Dionny Santiago, Adam Cando, Cody Mack, Gabriel Nunez,
Troy Thomas and Tariq M. King
MDHPCL 2013
Workshop on Model-Driven Engineering for High Performance and Cloud
Computing, September 29, 2013, Miami, Florida
©2012-2013 Ultimate Software
AGENDA
 Introduction
 Motivation
 Approach
 Prototype
 Lessons Learned
 Related Work
 Conclusion 2
©2012-2013 Ultimate Software
Introduction: Cloud Computing
3
Introspection
 Cloud Computing delivers “services” over the Internet
 Software, Platform and Infrastructure
 Cloud Characteristics:
 Computational Power
 Massive Data Storage
 Virtualization Technologies
 Scalability and Elasticity
Enables us to tackle more complex problem domains
©2012-2013 Ultimate Software
 Seeks to raise the level of abstraction
used in software development
 Domain Modeling
 Ubiquitous Language
 MDE Tools and Approaches:
 Meta-Modeling
 Model Transformations
 Platform Independent Models into Code
Few works leverage MDE to improve Software Testing
Model-Driven Engineering (MDE)
4
©2012-2013 Ultimate Software
 Ultimate Software is the developer of a cloud-based
Human Capital Management Solution – UltiPro
Testing Cloud-Based HCM Software
5
Testing Challenges
Large Problem Domain
Multiple Tester Roles
Cloud Platform Configuration
Browser Compatibility
Desktop and Mobile Products
Multi-Language Support
©2012-2013 Ultimate Software
Approach
6
©2012-2013 Ultimate Software
 Actions
 Set
 Blur
 Click
 Assertions
 Exists
 Is
Abstract Test Commands
7
©2012-2013 Ultimate Software
Application Domain Models
8
©2012-2013 Ultimate Software
Application Domain Models
9
 Domain Macro: Payroll Setup
©2012-2013 Ultimate Software
Test Harness Configuration
Timing
Logging
Client-side Platform
Desktop vs. Mobile
Web Browser Configuration
Server-side Environment
Web Servers
Database Servers
Configuration Models
10
©2012-2013 Ultimate Software
Example Test Specification
11
©2012-2013 Ultimate Software
 Developed as a Visual Studio Extension written in C#
 Syntax Coloring
 Error Highlighting
 Intelli-Sense
 Block Outlining
 Tooltips
 Debugging
Prototype: Legend
12
©2012-2013 Ultimate Software
 Developed as a Visual Studio Extension written in C#
 Syntax Coloring
 Error Highlighting
 Intelli-Sense
 Block Outlining
 Tooltips
 Debugging
Prototype: Legend
13
©2012-2013 Ultimate Software
Prototype: Design
14
©2012-2013 Ultimate Software
Prototype: Configuration
Configuration prototype
Abstractions for client and server configurations
Two distinct XML files
©2012-2013 Ultimate Software
Configurable testing frameworks are key
Building application domain models requires
cross-functional collaboration
Test automation highly simplified
Ability to debug tests in a domain language
Using Legend may eliminate need for separate test
inventory
Lessons Learned
16
©2012-2013 Ultimate Software
 MDE Approach to Platform Independent Tests
Hernandez et al.
Technique for designing platform independent tests
Platform-specific tests are generated when combined
with application models
 Behavioral-Driven Development Frameworks
RSpec / Cucumber / SpecFlow
Aid in tying acceptance tests to business requirements
Typically create and link two sets of files – specifications
and step definitions*
Related Work
17
©2012-2013 Ultimate Software
Domain-specific test case specification language
Our approach, while focused on web-based applications,
could be applied to any domain
Prototyped proposed approach for a cloud-based human
capital management solution
Next steps:
Develop a full implementation of Legend
Perform a case study using data from UltiPro
Conclusion
18
©2012-2013 Ultimate Software
Jorge Martinez
Michael Mattera
Virtual Team at Ultimate Software
Judges and Participants at Summer 2012 Ultimate
Software 48 Hours Project
Acknowledgements
19
©2012-2013 Ultimate Software
Open Discussion
20
Introspection
Questions?
¿Preguntas?
問題
Sawwal
вопросы
質問
domande
ερωτήσεις

More Related Content

PDF
CNS Presentation
DOCX
AlekyaNyalakonda_Resume
PPT
Proposal
PDF
Component based design
DOC
ThomasLiaoResume
DOC
Alka 2.8yrs exp_resume
DOCX
Arnab Kumar Chakraborty
DOCX
Brandon Miller Resume
CNS Presentation
AlekyaNyalakonda_Resume
Proposal
Component based design
ThomasLiaoResume
Alka 2.8yrs exp_resume
Arnab Kumar Chakraborty
Brandon Miller Resume

What's hot (20)

PDF
Model Driven, Component Based Development for CBDDS and IDL to C++11
PDF
Why .Net is Popular Trend Among Developers?
PDF
Resume
PDF
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
PPTX
System Architect and Rhapsody
PDF
A novel data type architecture support for programming languages
PDF
Asp.Net_ Developer Resume Remotely
PPTX
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
PDF
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...
DOCX
Bca5030, software engineering
DOCX
Arokia Raju
DOCX
An Analysis of Component-based Software Development -Maximize the reuse of ex...
DOC
bhaskar new Resume_Updated
PDF
SchiebelResume
PDF
Domain Driven Design
PDF
D. AI 2 - Low-code Platforms and AI
PDF
Senior SQL Solution Architect - Mark Read v1.0
PPT
EGL Conference 2011 - EGL Open
PDF
Resume ARUN GAUTAM
PPTX
Component Base Development
Model Driven, Component Based Development for CBDDS and IDL to C++11
Why .Net is Popular Trend Among Developers?
Resume
Improving Consistency of UML Diagrams and Its Implementation Using Reverse En...
System Architect and Rhapsody
A novel data type architecture support for programming languages
Asp.Net_ Developer Resume Remotely
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...
Bca5030, software engineering
Arokia Raju
An Analysis of Component-based Software Development -Maximize the reuse of ex...
bhaskar new Resume_Updated
SchiebelResume
Domain Driven Design
D. AI 2 - Low-code Platforms and AI
Senior SQL Solution Architect - Mark Read v1.0
EGL Conference 2011 - EGL Open
Resume ARUN GAUTAM
Component Base Development
Ad

Similar to MODELS2013_MDHPCL_Presentation (20)

PPT
Automated testing overview
PPT
Automated testing 101
PPTX
Automatic Test 2019-07-25
PDF
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
PPT
FT 2009 Highspeed Test Automation
PPT
Finance & Testing 2009 Highspeed Testautomation
PPT
Test planning and software's engineering
PPT
Manual testing visonia
PDF
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
PDF
The Comprehensive Guide to Leveraging Machine Learning in Software Testing.pdf
PDF
Testing - How Vital and How Easy to use
PDF
Enriching Tool Support for Model-Driven Software Development
PDF
CBDW2014 - Behavior Driven Development with TestBox
PDF
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
PDF
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
PPT
07 Outsource To India Independent Testing
PDF
Continuous Delivery Testing @HiQ
PDF
Software Testing Certification
DOCX
Automation Testing Syllabus - Checklist
PDF
Types of Automation Testing: A Comprehensive Guide
Automated testing overview
Automated testing 101
Automatic Test 2019-07-25
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
FT 2009 Highspeed Test Automation
Finance & Testing 2009 Highspeed Testautomation
Test planning and software's engineering
Manual testing visonia
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
The Comprehensive Guide to Leveraging Machine Learning in Software Testing.pdf
Testing - How Vital and How Easy to use
Enriching Tool Support for Model-Driven Software Development
CBDW2014 - Behavior Driven Development with TestBox
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
07 Outsource To India Independent Testing
Continuous Delivery Testing @HiQ
Software Testing Certification
Automation Testing Syllabus - Checklist
Types of Automation Testing: A Comprehensive Guide
Ad

MODELS2013_MDHPCL_Presentation

  • 1. TOWARDS DOMAIN-SPECIFIC TESTING LANGUAGES FOR SOFTWARE-AS-A-SERVICE Dionny Santiago, Adam Cando, Cody Mack, Gabriel Nunez, Troy Thomas and Tariq M. King MDHPCL 2013 Workshop on Model-Driven Engineering for High Performance and Cloud Computing, September 29, 2013, Miami, Florida
  • 2. ©2012-2013 Ultimate Software AGENDA  Introduction  Motivation  Approach  Prototype  Lessons Learned  Related Work  Conclusion 2
  • 3. ©2012-2013 Ultimate Software Introduction: Cloud Computing 3 Introspection  Cloud Computing delivers “services” over the Internet  Software, Platform and Infrastructure  Cloud Characteristics:  Computational Power  Massive Data Storage  Virtualization Technologies  Scalability and Elasticity Enables us to tackle more complex problem domains
  • 4. ©2012-2013 Ultimate Software  Seeks to raise the level of abstraction used in software development  Domain Modeling  Ubiquitous Language  MDE Tools and Approaches:  Meta-Modeling  Model Transformations  Platform Independent Models into Code Few works leverage MDE to improve Software Testing Model-Driven Engineering (MDE) 4
  • 5. ©2012-2013 Ultimate Software  Ultimate Software is the developer of a cloud-based Human Capital Management Solution – UltiPro Testing Cloud-Based HCM Software 5 Testing Challenges Large Problem Domain Multiple Tester Roles Cloud Platform Configuration Browser Compatibility Desktop and Mobile Products Multi-Language Support
  • 7. ©2012-2013 Ultimate Software  Actions  Set  Blur  Click  Assertions  Exists  Is Abstract Test Commands 7
  • 9. ©2012-2013 Ultimate Software Application Domain Models 9  Domain Macro: Payroll Setup
  • 10. ©2012-2013 Ultimate Software Test Harness Configuration Timing Logging Client-side Platform Desktop vs. Mobile Web Browser Configuration Server-side Environment Web Servers Database Servers Configuration Models 10
  • 11. ©2012-2013 Ultimate Software Example Test Specification 11
  • 12. ©2012-2013 Ultimate Software  Developed as a Visual Studio Extension written in C#  Syntax Coloring  Error Highlighting  Intelli-Sense  Block Outlining  Tooltips  Debugging Prototype: Legend 12
  • 13. ©2012-2013 Ultimate Software  Developed as a Visual Studio Extension written in C#  Syntax Coloring  Error Highlighting  Intelli-Sense  Block Outlining  Tooltips  Debugging Prototype: Legend 13
  • 15. ©2012-2013 Ultimate Software Prototype: Configuration Configuration prototype Abstractions for client and server configurations Two distinct XML files
  • 16. ©2012-2013 Ultimate Software Configurable testing frameworks are key Building application domain models requires cross-functional collaboration Test automation highly simplified Ability to debug tests in a domain language Using Legend may eliminate need for separate test inventory Lessons Learned 16
  • 17. ©2012-2013 Ultimate Software  MDE Approach to Platform Independent Tests Hernandez et al. Technique for designing platform independent tests Platform-specific tests are generated when combined with application models  Behavioral-Driven Development Frameworks RSpec / Cucumber / SpecFlow Aid in tying acceptance tests to business requirements Typically create and link two sets of files – specifications and step definitions* Related Work 17
  • 18. ©2012-2013 Ultimate Software Domain-specific test case specification language Our approach, while focused on web-based applications, could be applied to any domain Prototyped proposed approach for a cloud-based human capital management solution Next steps: Develop a full implementation of Legend Perform a case study using data from UltiPro Conclusion 18
  • 19. ©2012-2013 Ultimate Software Jorge Martinez Michael Mattera Virtual Team at Ultimate Software Judges and Participants at Summer 2012 Ultimate Software 48 Hours Project Acknowledgements 19
  • 20. ©2012-2013 Ultimate Software Open Discussion 20 Introspection Questions? ¿Preguntas? 問題 Sawwal вопросы 質問 domande ερωτήσεις

Editor's Notes

  • #4: Note this international questions slide is patented. Must ask me for permission to steal it 
  • #5: Mention that UltiPro and integrated HCM solutions in general manage all aspects of an employee from recruitment, onboarding, performance management etc. Each product area is large enough to be considered a standalone product Adequate testing requires domain expertise from each area Several server and environment configurations for each area of the product to work Necessity to create tools to aid domain experts, technical and non-technical software test engineers, developers and business analysts during validation
  • #6: Mention that UltiPro and integrated HCM solutions in general manage all aspects of an employee from recruitment, onboarding, performance management etc. Each product area is large enough to be considered a standalone product Adequate testing requires domain expertise from each area Several server and environment configurations for each area of the product to work Necessity to create tools to aid domain experts, technical and non-technical software test engineers, developers and business analysts during validation
  • #7: Approach combines abstract test commands, application domain models, platform configuration models and test automation frameworks for the purpose of creating a domain-specific test specification language To do animation
  • #8: Discuss some of the commands in the context of the UI (UltiPro) Format: Actions - A1 (INVISIBLE VERTICAL LINE) (ULTIPRO IMAGE SPANNING BOTH ROWS ON THE LEFT) - A2 Assertions - A1 - A1
  • #9: Visual of UltiPro Login page along with a snippet of Page Object code. Another visual of Payroll Overview page, along with example macro: Setup payroll May need to break up into 2 slides.
  • #10: Visual of UltiPro Login page along with a snippet of Page Object code. Another visual of Payroll Overview page, along with example macro: Setup payroll May need to break up into 2 slides.
  • #13: Supports both visual studio 2012 and 2010
  • #14: Supports both visual studio 2012 and 2010
  • #15: Legend is a Visual Studio Extension written in C# Provides a language service using the VSSDK Syntax coloring Error highlighting Intelli-sense Outlining Tooltips Debugging Integration with Application and Configuration Models
  • #16: Supports both visual studio 2012 and 2010
  • #21: Note this international questions slide is patented. Must ask me for permission to steal it 