SlideShare a Scribd company logo
Gustavo Machado
VP of Engineering, KidoZen, Inc.
Mastering Unit Testing in Xamarin
1. Why Unit Testing
2. Xamarin Testing Frameworks
3. Demos
4. Q&A
Agenda
• Gustavo Machado
• VP of Engineering, KidoZen, Inc.
• @machadogj
• http://machadogj.com
• Speaker
About me
Why Unit Testing?
Why Unit Testing?
5
1. Automated tests run fast.
2. Encourages decoupling.
3. Validates early on your interfaces.
4. Serves as documentation for other developers.
5. Extra safety net which can run in CI.
6. Provides extra confidence for more aggressive refactoring.
And TDD…
Xamarin Testing Frameworks
Xamarin Projects
7
LibrariesApplications
iOS Application
Android Application
Forms Portable Application
Forms Shared Application
iOS Library
Android Library
Portable Application
Forms Portable Library
Library
Shared Library
Xamarin Landscape
8
Applications Libraries
What will you be testing?
User Acceptance Tests Unit Tests
Where will these tests run?
Outside of
Device
Device
Emulator
NUnit NUnitLite
UI Test Calabash
Test Cloud Agent
Local
Xamarin Landscape
9
NUnit NUnitLite
Outside of devices Emulators / Devices
• No access to Xamarin SDKs
• Runs with NUnit runner
• Fast & Lightweight
• Easy to integrate with CI
• Support for Mocking Libraries
• Runs on device
• More realistic
• Slower
• Harder to integrate with CI
Portable Application
Forms Portable Library
Library
Shared Library
iOS Library
Android Library
Portable Application
Forms Portable Library
Library
Shared Library
Shared Libraries
10
1. No build output, requires another project to do the Build
2. No references
3. You can use #if __ANDROID__
4. Refactoring can be a little tricky
Shared Libraries
11
Unit Testing Shared Libraries
12
DEMO
Portable Class Libraries
13
1. Uses .NET Portable Subset
2. Runs on any platform
3. You can leverage PCL Nuget packages
4. No platform specific code. (ie: #if __ANDROID__)
Portable Class Libraries
14
Unit Testing Portable Libraries
15
DEMO
Q&A
16
Gustavo Machado
@machadogj / gus@kidozen.com
http://kidozen.com
THANKS!

More Related Content

PDF
Selenium Camp 2016 - Kiev, Ukraine
KEY
Continuous Integration, the minimum viable product
PDF
Continuous Integration at T3CON08
PDF
Security as Code: A DevSecOps Approach
PDF
Continuous Everything
PDF
Slides 29-07-2017
KEY
Using Jenkins with iOS projects
PPTX
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
Selenium Camp 2016 - Kiev, Ukraine
Continuous Integration, the minimum viable product
Continuous Integration at T3CON08
Security as Code: A DevSecOps Approach
Continuous Everything
Slides 29-07-2017
Using Jenkins with iOS projects
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation

What's hot (20)

PPTX
End to end test automation with cypress
PDF
DevSecOps - The big picture
PDF
PPTX
Async webdriverjs
PDF
Architecture of automated test cases for legacy applications
PDF
Integrating DevOps and Security
PDF
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
PPTX
QA Challenge Accepted 4.0 - Cypress vs. Selenium
PDF
[131] packetbeat과 elasticsearch
PDF
CNIT 128 7. Attacking Android Applications (Part 2)
PDF
Cypress testing
PDF
Component testing with cypress
PDF
e2e testing with cypress
PDF
Automated Security Testing
PPTX
Microsoft Community Day - Developer Track Introduction
KEY
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
PPTX
Aleksei Dremin - Application Security Pipeline - phdays9
PDF
Cypress e2e automation testing - day1 intor by: Hassan Hameed
PDF
[DevSecOps Live] DevSecOps: Challenges and Opportunities
End to end test automation with cypress
DevSecOps - The big picture
Async webdriverjs
Architecture of automated test cases for legacy applications
Integrating DevOps and Security
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
QA Challenge Accepted 4.0 - Cypress vs. Selenium
[131] packetbeat과 elasticsearch
CNIT 128 7. Attacking Android Applications (Part 2)
Cypress testing
Component testing with cypress
e2e testing with cypress
Automated Security Testing
Microsoft Community Day - Developer Track Introduction
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
Aleksei Dremin - Application Security Pipeline - phdays9
Cypress e2e automation testing - day1 intor by: Hassan Hameed
[DevSecOps Live] DevSecOps: Challenges and Opportunities
Ad

Similar to KidoZen Mastering Unit Testing in Xamarin (20)

PDF
Getting your mobile test automation process in place - using Cucumber and Cal...
PPTX
Growing Trends of Open Source UI Frameworks
PDF
Playwright, Cypress, or TestGrid: A Feature-by-Feature Breakdown for Test Aut...
PPTX
Introduction to xamarin
PPTX
DevOps On AWS - Deep Dive on Continuous Delivery
ODP
JavaOne 2014 Security Testing for Developers using OWASP ZAP
PDF
Proactive Security AppSec Case Study
PDF
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
PPTX
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
PDF
Cracking android app. Мокиенко Сергей
PPT
Встреча "QA: в каких направлениях может найти себя тестировщик?"
PDF
Software Security Assurance for DevOps
PPTX
Operating a High Velocity Large Organization with Spring Cloud Microservices
PPTX
ChaosEngineeringITEA.pptx
PDF
Top Automation Testing Tools of 2025_ What’s New and What’s Next.pdf
PDF
5 Steps to Jump Start Your Test Automation
PDF
Unit Testing in JavaScript
PPTX
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
PDF
Create an architecture for web test automation
PDF
Hangout: Novidades do Xamarin
Getting your mobile test automation process in place - using Cucumber and Cal...
Growing Trends of Open Source UI Frameworks
Playwright, Cypress, or TestGrid: A Feature-by-Feature Breakdown for Test Aut...
Introduction to xamarin
DevOps On AWS - Deep Dive on Continuous Delivery
JavaOne 2014 Security Testing for Developers using OWASP ZAP
Proactive Security AppSec Case Study
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
Cracking android app. Мокиенко Сергей
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Software Security Assurance for DevOps
Operating a High Velocity Large Organization with Spring Cloud Microservices
ChaosEngineeringITEA.pptx
Top Automation Testing Tools of 2025_ What’s New and What’s Next.pdf
5 Steps to Jump Start Your Test Automation
Unit Testing in JavaScript
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
Create an architecture for web test automation
Hangout: Novidades do Xamarin
Ad

More from kidozen (20)

PPTX
IOT Platform as a Service
PDF
APIs of Enterprise mBaaS Platforms
PDF
From Liability to Asset: How to Better Secure Enterprise Mobile Deployments
PPTX
5 Trends that Will Shape The Future of the Mobile Enterprise
PPTX
KidoZen Enterprise-Ready Mobile App Infrastructure
PPTX
Mobilizing Microsoft Sharepoint Server
PPTX
What's Next for Enterprise Mobility
PPTX
Managing BYOD Conference: Mobile Enterprise Data
PPTX
Mobile DAta
PPTX
Mobile Data Management, The Next Frontier of Enterprise Mobility
PPTX
Introducing the mHealth Platform as a Service
PPTX
From MDM(Devices) to MDM(Data)
PPT
Challenges in enterprise mobility development 2
PPTX
From Managing Devices to Apps to Data
PPT
Building Enterprise Ready Mobile Apps: A Developer Deep Dive
PPTX
Mobilizing Microsoft SharePoint Server: An MBaaS PErspective
PPTX
Integration in the Enterprise Mobile World
PPTX
M baa s as the new enterprise middleware
PDF
Kidozen Mobile First Cloud-Presentation
PDF
Whitepaper KidoZen vs-konyone
IOT Platform as a Service
APIs of Enterprise mBaaS Platforms
From Liability to Asset: How to Better Secure Enterprise Mobile Deployments
5 Trends that Will Shape The Future of the Mobile Enterprise
KidoZen Enterprise-Ready Mobile App Infrastructure
Mobilizing Microsoft Sharepoint Server
What's Next for Enterprise Mobility
Managing BYOD Conference: Mobile Enterprise Data
Mobile DAta
Mobile Data Management, The Next Frontier of Enterprise Mobility
Introducing the mHealth Platform as a Service
From MDM(Devices) to MDM(Data)
Challenges in enterprise mobility development 2
From Managing Devices to Apps to Data
Building Enterprise Ready Mobile Apps: A Developer Deep Dive
Mobilizing Microsoft SharePoint Server: An MBaaS PErspective
Integration in the Enterprise Mobile World
M baa s as the new enterprise middleware
Kidozen Mobile First Cloud-Presentation
Whitepaper KidoZen vs-konyone

Recently uploaded (20)

PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
top salesforce developer skills in 2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
medical staffing services at VALiNTRY
PDF
AI in Product Development-omnex systems
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Nekopoi APK 2025 free lastest update
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Design an Analysis of Algorithms II-SECS-1021-03
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
VVF-Customer-Presentation2025-Ver1.9.pptx
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025
Odoo Companies in India – Driving Business Transformation.pdf
Reimagine Home Health with the Power of Agentic AI​
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Upgrade and Innovation Strategies for SAP ERP Customers
top salesforce developer skills in 2025.pdf
ai tools demonstartion for schools and inter college
medical staffing services at VALiNTRY
AI in Product Development-omnex systems
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Nekopoi APK 2025 free lastest update
How Creative Agencies Leverage Project Management Software.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Design an Analysis of Algorithms II-SECS-1021-03

KidoZen Mastering Unit Testing in Xamarin