SlideShare a Scribd company logo
Automated Testing for Dynamics CRM
Unit Testing
Custom Workflow Activities
Wael Hamze
Ramón Tébar
@CRMUG
Wael Hamze
▪ Solution Architect
▪ @WaelHamze
▪ http://www.linkedin.com/in/waelhamze
@CRMUG
Ramon Tebar
▪ Solution Architect
▪ Microsoft CRM MVP
▪ http://www.ramontebar.com
@CRMUG
Automated Testing Series
1. Unit Testing Plug-ins in Dynamics CRM 2013
2. Unit Testing Custom Workflow Activities in
Dynamics CRM 2013 [Tuesday, July 8]
3. Integration Testing Plug-Ins in Dynamics CRM
2013 [Tuesday, July 29]
4. Integration Testing Custom Workflow
Activities in Dynamics CRM 2013 [Wednesday,
August 27]
@CRMUG
Automated Testing Series
2. Unit Testing Custom Workflow Activities in
Dynamics CRM 2013
▪ This session will focus on using the Unit Testing concepts from the
previous session and show you how you can apply that to test
custom workflow activities using Moq.
▪ Breaking limitations: Shims
▪ This session will also introduce you to the xRM Test Framework
and show you how you can speed up the creation of your tests.
▪ Finally you will see how you can execute these unit tests as part
of your builds.
@CRMUG
CRM Workflow Runtime
CRM Workflow Runtime
Worflow
Worflow
Process
Custom
Workflow
Activity
• Sync. Worflows
• Async. Workflows
• Dialogs
• Actions
@CRMUG
Unit Test Mock<Extensions> Workflow Runtime
Create
Setup Mocks
Create + Inputs
Create + Inject Activity + Extensions
Execute
Workflow Activity
Invoke
Call
Verify
Outputs
@CRMUG
Demo
Our first test
@CRMUG
▪ It is definitely Possible
▪ It is definitely Helpful
▪ Too much effort using standard approach
Unit Testing Comments
@CRMUG
xRM Test Framework
@CRMUG
Demo
Now using
Xrm Test Framework
https://xrmtestframework.codeplex.com
@CRMUG
Demo
Data Driven Test
with an
External Service
Dependency
@CRMUG
Why Write Unit Tests?
▪ Validate all components work on their own
▪ Ability to Test Plug-ins & Custom Workflow
Activities without CRM Environment
▪ Ability to Test without Deployment
▪ Tests run much quicker
▪ Detect bugs very early and fix quickly
▪ Debug locally with Visual Studio
@CRMUG
When to Run your Tests?
▪ Run your Tests locally before you Check-In
▪ Run your Tests as part of your Build
▪ Consider using Gated Check-In Builds
@CRMUG
Demo
Using your tests:
Continuous
Integration

More Related Content

What's hot

Testing CRM from a 360 View - extremeCRM Rome 2013
Testing CRM from a 360 View - extremeCRM Rome 2013Testing CRM from a 360 View - extremeCRM Rome 2013
Testing CRM from a 360 View - extremeCRM Rome 2013
Wael Hamze
 
Test & Dynamics CRM - extremeCRM Berlin 2012
Test & Dynamics CRM - extremeCRM Berlin 2012Test & Dynamics CRM - extremeCRM Berlin 2012
Test & Dynamics CRM - extremeCRM Berlin 2012
Wael Hamze
 
Source Control and Release Strategy for Dynamics 365 Solutions
Source Control and Release Strategy for Dynamics 365 SolutionsSource Control and Release Strategy for Dynamics 365 Solutions
Source Control and Release Strategy for Dynamics 365 Solutions
Shane Carvalho
 
DevOps for Dynamics 365/CRM - Summit EMEA 2017 Amsterdam
DevOps for Dynamics 365/CRM - Summit EMEA 2017 AmsterdamDevOps for Dynamics 365/CRM - Summit EMEA 2017 Amsterdam
DevOps for Dynamics 365/CRM - Summit EMEA 2017 Amsterdam
Wael Hamze
 
Ordina SOFTC Presentation - Deployment with TFS Build and Workflow
Ordina SOFTC Presentation - Deployment with TFS Build and WorkflowOrdina SOFTC Presentation - Deployment with TFS Build and Workflow
Ordina SOFTC Presentation - Deployment with TFS Build and Workflow
Ordina Belgium
 
Team Foundation Server Demo
Team Foundation Server DemoTeam Foundation Server Demo
Team Foundation Server Demo
phase2int
 
CRM Saturday: DevOps with Jonas Rapp
CRM Saturday: DevOps with Jonas RappCRM Saturday: DevOps with Jonas Rapp
CRM Saturday: DevOps with Jonas Rapp
Jonas Rapp
 
Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013
Kobi Moraz
 
Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)
Alexis Williams
 
One-Click Deployments - CRMUG London 2014
One-Click Deployments - CRMUG London 2014One-Click Deployments - CRMUG London 2014
One-Click Deployments - CRMUG London 2014
Wael Hamze
 
Useful Salesforce.com chrome extensions & Snapshots
Useful Salesforce.com chrome extensions & SnapshotsUseful Salesforce.com chrome extensions & Snapshots
Useful Salesforce.com chrome extensions & Snapshots
ProQuest
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEM
connectwebex
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
InCycleSoftware
 
Brisbane Salesforce User Group - May 2015 - Lightning Process Builder
Brisbane Salesforce User Group - May 2015 - Lightning Process BuilderBrisbane Salesforce User Group - May 2015 - Lightning Process Builder
Brisbane Salesforce User Group - May 2015 - Lightning Process Builder
Kevin Akermanis
 
Managing Your Batch and Scheduled Apex Processes with Relax
Managing Your Batch and Scheduled Apex Processes with RelaxManaging Your Batch and Scheduled Apex Processes with Relax
Managing Your Batch and Scheduled Apex Processes with Relax
Salesforce Developers
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
Mehdi Khalili
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015
InCycleSoftware
 
CI with TFS
CI with TFSCI with TFS
CI with TFS
Esteban Garcia
 
What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013
Danijel Malik
 
Streamline Workflows Using Salesforce Process builder
Streamline Workflows Using Salesforce Process builderStreamline Workflows Using Salesforce Process builder
Streamline Workflows Using Salesforce Process builder
Suyati Technologies
 

What's hot (20)

Testing CRM from a 360 View - extremeCRM Rome 2013
Testing CRM from a 360 View - extremeCRM Rome 2013Testing CRM from a 360 View - extremeCRM Rome 2013
Testing CRM from a 360 View - extremeCRM Rome 2013
 
Test & Dynamics CRM - extremeCRM Berlin 2012
Test & Dynamics CRM - extremeCRM Berlin 2012Test & Dynamics CRM - extremeCRM Berlin 2012
Test & Dynamics CRM - extremeCRM Berlin 2012
 
Source Control and Release Strategy for Dynamics 365 Solutions
Source Control and Release Strategy for Dynamics 365 SolutionsSource Control and Release Strategy for Dynamics 365 Solutions
Source Control and Release Strategy for Dynamics 365 Solutions
 
DevOps for Dynamics 365/CRM - Summit EMEA 2017 Amsterdam
DevOps for Dynamics 365/CRM - Summit EMEA 2017 AmsterdamDevOps for Dynamics 365/CRM - Summit EMEA 2017 Amsterdam
DevOps for Dynamics 365/CRM - Summit EMEA 2017 Amsterdam
 
Ordina SOFTC Presentation - Deployment with TFS Build and Workflow
Ordina SOFTC Presentation - Deployment with TFS Build and WorkflowOrdina SOFTC Presentation - Deployment with TFS Build and Workflow
Ordina SOFTC Presentation - Deployment with TFS Build and Workflow
 
Team Foundation Server Demo
Team Foundation Server DemoTeam Foundation Server Demo
Team Foundation Server Demo
 
CRM Saturday: DevOps with Jonas Rapp
CRM Saturday: DevOps with Jonas RappCRM Saturday: DevOps with Jonas Rapp
CRM Saturday: DevOps with Jonas Rapp
 
Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013
 
Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)Continuous Integration In The Cloud Final (1)
Continuous Integration In The Cloud Final (1)
 
One-Click Deployments - CRMUG London 2014
One-Click Deployments - CRMUG London 2014One-Click Deployments - CRMUG London 2014
One-Click Deployments - CRMUG London 2014
 
Useful Salesforce.com chrome extensions & Snapshots
Useful Salesforce.com chrome extensions & SnapshotsUseful Salesforce.com chrome extensions & Snapshots
Useful Salesforce.com chrome extensions & Snapshots
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEM
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
Brisbane Salesforce User Group - May 2015 - Lightning Process Builder
Brisbane Salesforce User Group - May 2015 - Lightning Process BuilderBrisbane Salesforce User Group - May 2015 - Lightning Process Builder
Brisbane Salesforce User Group - May 2015 - Lightning Process Builder
 
Managing Your Batch and Scheduled Apex Processes with Relax
Managing Your Batch and Scheduled Apex Processes with RelaxManaging Your Batch and Scheduled Apex Processes with Relax
Managing Your Batch and Scheduled Apex Processes with Relax
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015
 
CI with TFS
CI with TFSCI with TFS
CI with TFS
 
What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013
 
Streamline Workflows Using Salesforce Process builder
Streamline Workflows Using Salesforce Process builderStreamline Workflows Using Salesforce Process builder
Streamline Workflows Using Salesforce Process builder
 

Similar to Automated Testing for Dynamics CRM 2 - CRMUG 2014

A comparative study of process templates in team
A comparative study of process templates in teamA comparative study of process templates in team
A comparative study of process templates in team
aminmesbahi
 
Agile ALM Virtual Study Group Session 1 - Scrum process
Agile ALM Virtual Study Group Session 1 - Scrum processAgile ALM Virtual Study Group Session 1 - Scrum process
Agile ALM Virtual Study Group Session 1 - Scrum process
IBM Rational software
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
TechWell
 
Pega robotics best practices building solutions (1)
Pega robotics best practices   building solutions (1)Pega robotics best practices   building solutions (1)
Pega robotics best practices building solutions (1)
KPMG US
 
Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.
Santhoo Vardan
 
What is Scrum
What is Scrum What is Scrum
What is Scrum
Ayo Apampa
 
Seminar on Scrum
Seminar  on  ScrumSeminar  on  Scrum
Seminar on Scrum
Abhishek Kumar Singh
 
Seminar On Scrum
Seminar On  ScrumSeminar On  Scrum
Seminar On Scrum
Abhishek Kumar Singh
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
Ranorex
 
BPM for business analysts: modelling procedure
BPM for business analysts: modelling procedureBPM for business analysts: modelling procedure
BPM for business analysts: modelling procedure
Alexander SAMARIN
 
IBM Agile ALM Overview
IBM Agile ALM OverviewIBM Agile ALM Overview
IBM Agile ALM Overview
IBM Rational software
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
TechWell
 
Why Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and PracticeWhy Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and Practice
TechWell
 
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
Kovair
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
TechWell
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
TEST Huddle
 
scrum-1-10.pptx
scrum-1-10.pptxscrum-1-10.pptx
scrum-1-10.pptx
heelojr
 
Nuts and Bolts of Scrum Template (extended)
Nuts and Bolts of Scrum Template (extended)Nuts and Bolts of Scrum Template (extended)
Nuts and Bolts of Scrum Template (extended)
Alexei Govorine
 
MeManagement Issues in Test Automation
MeManagement Issues in Test AutomationMeManagement Issues in Test Automation
MeManagement Issues in Test Automation
TechWell
 

Similar to Automated Testing for Dynamics CRM 2 - CRMUG 2014 (20)

A comparative study of process templates in team
A comparative study of process templates in teamA comparative study of process templates in team
A comparative study of process templates in team
 
Agile ALM Virtual Study Group Session 1 - Scrum process
Agile ALM Virtual Study Group Session 1 - Scrum processAgile ALM Virtual Study Group Session 1 - Scrum process
Agile ALM Virtual Study Group Session 1 - Scrum process
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
 
Pega robotics best practices building solutions (1)
Pega robotics best practices   building solutions (1)Pega robotics best practices   building solutions (1)
Pega robotics best practices building solutions (1)
 
Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.
 
What is Scrum
What is Scrum What is Scrum
What is Scrum
 
Seminar on Scrum
Seminar  on  ScrumSeminar  on  Scrum
Seminar on Scrum
 
Seminar On Scrum
Seminar On  ScrumSeminar On  Scrum
Seminar On Scrum
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
 
BPM for business analysts: modelling procedure
BPM for business analysts: modelling procedureBPM for business analysts: modelling procedure
BPM for business analysts: modelling procedure
 
IBM Agile ALM Overview
IBM Agile ALM OverviewIBM Agile ALM Overview
IBM Agile ALM Overview
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
 
Why Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and PracticeWhy Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and Practice
 
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
 
scrum-1-10.pptx
scrum-1-10.pptxscrum-1-10.pptx
scrum-1-10.pptx
 
Nuts and Bolts of Scrum Template (extended)
Nuts and Bolts of Scrum Template (extended)Nuts and Bolts of Scrum Template (extended)
Nuts and Bolts of Scrum Template (extended)
 
MeManagement Issues in Test Automation
MeManagement Issues in Test AutomationMeManagement Issues in Test Automation
MeManagement Issues in Test Automation
 

Recently uploaded

Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 

Recently uploaded (20)

Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
 

Automated Testing for Dynamics CRM 2 - CRMUG 2014

  • 1. Automated Testing for Dynamics CRM Unit Testing Custom Workflow Activities Wael Hamze Ramón Tébar
  • 2. @CRMUG Wael Hamze ▪ Solution Architect ▪ @WaelHamze ▪ http://www.linkedin.com/in/waelhamze
  • 3. @CRMUG Ramon Tebar ▪ Solution Architect ▪ Microsoft CRM MVP ▪ http://www.ramontebar.com
  • 4. @CRMUG Automated Testing Series 1. Unit Testing Plug-ins in Dynamics CRM 2013 2. Unit Testing Custom Workflow Activities in Dynamics CRM 2013 [Tuesday, July 8] 3. Integration Testing Plug-Ins in Dynamics CRM 2013 [Tuesday, July 29] 4. Integration Testing Custom Workflow Activities in Dynamics CRM 2013 [Wednesday, August 27]
  • 5. @CRMUG Automated Testing Series 2. Unit Testing Custom Workflow Activities in Dynamics CRM 2013 ▪ This session will focus on using the Unit Testing concepts from the previous session and show you how you can apply that to test custom workflow activities using Moq. ▪ Breaking limitations: Shims ▪ This session will also introduce you to the xRM Test Framework and show you how you can speed up the creation of your tests. ▪ Finally you will see how you can execute these unit tests as part of your builds.
  • 6. @CRMUG CRM Workflow Runtime CRM Workflow Runtime Worflow Worflow Process Custom Workflow Activity • Sync. Worflows • Async. Workflows • Dialogs • Actions
  • 7. @CRMUG Unit Test Mock<Extensions> Workflow Runtime Create Setup Mocks Create + Inputs Create + Inject Activity + Extensions Execute Workflow Activity Invoke Call Verify Outputs
  • 9. @CRMUG ▪ It is definitely Possible ▪ It is definitely Helpful ▪ Too much effort using standard approach Unit Testing Comments
  • 11. @CRMUG Demo Now using Xrm Test Framework https://xrmtestframework.codeplex.com
  • 12. @CRMUG Demo Data Driven Test with an External Service Dependency
  • 13. @CRMUG Why Write Unit Tests? ▪ Validate all components work on their own ▪ Ability to Test Plug-ins & Custom Workflow Activities without CRM Environment ▪ Ability to Test without Deployment ▪ Tests run much quicker ▪ Detect bugs very early and fix quickly ▪ Debug locally with Visual Studio
  • 14. @CRMUG When to Run your Tests? ▪ Run your Tests locally before you Check-In ▪ Run your Tests as part of your Build ▪ Consider using Gated Check-In Builds