2. 2
Please join on video
Meeting Agenda
• Chapter Leaders & Organizers
• Today’s Guest: Mason Turvey, UiPath MVP
• Today's Topic: UiPath Best Practices Deep Dive – Test Driven Development
• Upcoming Events
• Questions for the Chapter
4. 4
South Florida Chapter Organizers Please join on video
Consultant / Dot Connector,
Centric Consulting
Jansen.Pennock@centricconsulting.com
linkedin.com/in/jansenpennock/
Jansen Pennock
Community Marketing Manager,
Americas, UiPath
Diana.Gray@UiPath.com
linkedin.com/in/diana-gray-mba-b98362/
Diana Gray
5. 5
Mason Turvey
Mason is an automation evangelist and
bot builder. He is currently pushing the
boundaries of intelligent automation by
leveraging cutting edge technology and
building systems that make decision
like humans would.
Today's Guest
7. 7
Test Driven Development
• What is TDD?
• Building code with the test case first
• What is the difference between UiPath
QA and Test Automation?
8. 8
1. Intro to Test Driven Development
2. Defining Test Cases
3. Developing Test cases for XAML workflows
4. Developing Test cases for a UiPath Library
5. Developing Test cases using UiPath Queues/REFramework
Role of an RPA Developer
9. 9
1. Unit Tests/Smoke Tests
Test a single xaml or function
100% Code coverage
Varying input data
Not dependent on other scripts
to run
Defining Test Cases for TDD
3. Functional Testing
Test business requirements
Have a specific expected input
and output
Should map to direct
requirements from the business
2. Integration Testing
Test multiple xaml or code
pieces
Ensure various modules work
together
Focus on limited number of
interactions
11. 11
Building a Test Case
1. Always have business requirements for Functional Tests, ideally have technical
requirements for Unit and Integration Tests
2. Write Atomic Tests (Use multiple for a single workflow!)
3. Write the simplest cases first
4. Red-Green-Refactor cycle: build the test, let it fail, use the code to make it work, then
optimize/clean it up without changing functionality
5. Let Test Failures guide development
6. Automate and integrate tests into your pipelines