SlideShare a Scribd company logo
1 of 29
#helloWindows10
Hel10 Windows 10!
#helloWindows10
Fernando Escolar
Consultant at Tokiota
fernando.escolar@tokiota.com
@fernandoescolar
Unit testing
#helloWindows10
Definición de Unit Test
Estructura
Código Testeable
Unit Test
Estructura
Herramientas
Conclusiones
Agenda
#helloWindows10
#helloWindows10
Input Process Output
#helloWindows10
Installation testing
Compatibility testing
Smoke and sanity testing
Regression testing
Acceptance testing
Alpha testing
Beta testing
Functional vs non-functional
testing
Destructive testing
Software performance testing
Usability testing
Accessibility testing
Security testing
Internationalization and
localization
Development testing
A/B testing
Unit testing
Integration testing
System testing
Acceptance testing
White-Box testing
Black-box testing
Visual testing
Grey-box testing
#helloWindows10
A unit test is a piece of a code (usually a method) that invokes
another piece of code and checks the correctness of some
assumptions afterward. If the assumptions turn out to be wrong, the
unit test has failed.
A “unit” is a method or function.
Unit test definition – The art of unit testing
Roy Osherove – Manning Publications co
#helloWindows10
FIRST
Fast
Isolated
Repeatable
Self-Validating
Timely
#helloWindows10
SECOND
Profesional
Unitario
Automatizable
No usa recursos
#helloWindows10
Triple A
Arrange
Act
Assert
#helloWindows10
Triple Cuádruple A
Assume
Arrange
Act
Assert
#helloWindows10
Demo
#helloWindows10
#helloWindows10
#helloWindows10
Demo
#helloWindows10
…tengo que desglosarlos al máximo
Vs.
#helloWindows10
#helloWindows10
Inversion Of Control
Abstract Factory
…
#helloWindows10
Demo
#helloWindows10
Dummies
Fakes
Spies
Stubs
Mocks
#helloWindows10
Demo
#helloWindows10
#helloWindows10
Encontrar bugs pronto
Red de seguridad
Documentación
Mejor diseño
#helloWindows10
No detectan problemas de:
Integración
Performance
…
No todo puede ser testeado con
facilidad:
Multi-threading
Algoritmos no deterministas
…
#helloWindows10
TDD
ATDD
BDD
#helloWindows10
Q&A
http://aka.ms/W10Ev14
#helloWindows10
No olvides realizar la encuesta
¡Gracias!
Fernando Escolar
fernando.escolar@tokiota.com
@fernandoescolar
http://aka.ms/W10Ev14

More Related Content

What's hot

Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testingikhwanhayat
 
Hack@macs 2014 test driven development & pair programing
Hack@macs 2014 test driven development & pair programingHack@macs 2014 test driven development & pair programing
Hack@macs 2014 test driven development & pair programingunihack
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelinesLalit Kale
 
Software testing and quality assurance
Software testing and quality assuranceSoftware testing and quality assurance
Software testing and quality assuranceBenjamin Baumann
 
Beyond Unit Testing
Beyond Unit TestingBeyond Unit Testing
Beyond Unit TestingSøren Lund
 
More than Programming!
More than Programming!More than Programming!
More than Programming!Sophy Eung
 
Automated Testing DITA Content and Customizations
Automated Testing DITA Content and CustomizationsAutomated Testing DITA Content and Customizations
Automated Testing DITA Content and CustomizationsSteve Anderson
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016Søren Lund
 
Alexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the TrenchesAlexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the TrenchesMozaic Works
 
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Søren Lund
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
De weg naar Continuous Delivery
De weg naar Continuous DeliveryDe weg naar Continuous Delivery
De weg naar Continuous DeliveryDelta-N
 
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»GoQA
 
Mixing testing types to improve your testing results
Mixing testing types to improve your testing resultsMixing testing types to improve your testing results
Mixing testing types to improve your testing resultsPractiTest
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 

What's hot (18)

Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
Hack@macs 2014 test driven development & pair programing
Hack@macs 2014 test driven development & pair programingHack@macs 2014 test driven development & pair programing
Hack@macs 2014 test driven development & pair programing
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
Software testing and quality assurance
Software testing and quality assuranceSoftware testing and quality assurance
Software testing and quality assurance
 
Beyond Unit Testing
Beyond Unit TestingBeyond Unit Testing
Beyond Unit Testing
 
More than Programming!
More than Programming!More than Programming!
More than Programming!
 
XP Injection
XP InjectionXP Injection
XP Injection
 
Automated Testing DITA Content and Customizations
Automated Testing DITA Content and CustomizationsAutomated Testing DITA Content and Customizations
Automated Testing DITA Content and Customizations
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016
 
Alexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the TrenchesAlexandru Bolboaca - Unit Testing from the Trenches
Alexandru Bolboaca - Unit Testing from the Trenches
 
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
De weg naar Continuous Delivery
De weg naar Continuous DeliveryDe weg naar Continuous Delivery
De weg naar Continuous Delivery
 
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
 
Mixing testing types to improve your testing results
Mixing testing types to improve your testing resultsMixing testing types to improve your testing results
Mixing testing types to improve your testing results
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
Android testing
Android testingAndroid testing
Android testing
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 

Viewers also liked

Suit up Presentation
Suit up PresentationSuit up Presentation
Suit up Presentationowildman
 
вебинар возможности интернет в работе учителя. ч.2.
вебинар возможности интернет в работе учителя. ч.2.вебинар возможности интернет в работе учителя. ч.2.
вебинар возможности интернет в работе учителя. ч.2.YanaLv
 
2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's Next2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's NextParsons Behle & Latimer
 
Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...
Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...
Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...HML Ltd
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性Naruto TAKAHASHI
 
October 2014 UK Commercial Bulletin
October 2014 UK Commercial BulletinOctober 2014 UK Commercial Bulletin
October 2014 UK Commercial BulletinHML Ltd
 
Why You Should Team Up and Make Friends: Your Professional Responsibilities W...
Why You Should Team Up and Make Friends: Your Professional Responsibilities W...Why You Should Team Up and Make Friends: Your Professional Responsibilities W...
Why You Should Team Up and Make Friends: Your Professional Responsibilities W...Parsons Behle & Latimer
 

Viewers also liked (20)

Suit up Presentation
Suit up PresentationSuit up Presentation
Suit up Presentation
 
вебинар возможности интернет в работе учителя. ч.2.
вебинар возможности интернет в работе учителя. ч.2.вебинар возможности интернет в работе учителя. ч.2.
вебинар возможности интернет в работе учителя. ч.2.
 
Gestion blog parte 1
Gestion blog parte 1Gestion blog parte 1
Gestion blog parte 1
 
Memòria
MemòriaMemòria
Memòria
 
2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's Next2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's Next
 
Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...
Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...
Addressing the issue of mortgage arrears in Ireland: a good practice guide fr...
 
Teknik presentasi
Teknik presentasiTeknik presentasi
Teknik presentasi
 
Devops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscaleDevops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscale
 
Gerenciando um Projeto
Gerenciando um ProjetoGerenciando um Projeto
Gerenciando um Projeto
 
Hoa mai p2
Hoa mai p2Hoa mai p2
Hoa mai p2
 
Equipamentos de redes
Equipamentos de redesEquipamentos de redes
Equipamentos de redes
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性
 
Freello #Expo2015 #Milano
Freello #Expo2015 #MilanoFreello #Expo2015 #Milano
Freello #Expo2015 #Milano
 
Redes de emergencia
Redes de emergenciaRedes de emergencia
Redes de emergencia
 
Stamp album 2
Stamp album 2Stamp album 2
Stamp album 2
 
October 2014 UK Commercial Bulletin
October 2014 UK Commercial BulletinOctober 2014 UK Commercial Bulletin
October 2014 UK Commercial Bulletin
 
Examen t1
Examen t1Examen t1
Examen t1
 
Cijferend optellen2
Cijferend optellen2Cijferend optellen2
Cijferend optellen2
 
50058334 informatica
50058334 informatica50058334 informatica
50058334 informatica
 
Why You Should Team Up and Make Friends: Your Professional Responsibilities W...
Why You Should Team Up and Make Friends: Your Professional Responsibilities W...Why You Should Team Up and Make Friends: Your Professional Responsibilities W...
Why You Should Team Up and Make Friends: Your Professional Responsibilities W...
 

Similar to Unit testing en Windows 10

Testy dymne, integracyjne i jednostkowe w Laravel
Testy dymne, integracyjne i jednostkowe w LaravelTesty dymne, integracyjne i jednostkowe w Laravel
Testy dymne, integracyjne i jednostkowe w LaravelLaravel Poland MeetUp
 
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...TelecomValley
 
Oh so you test? - A guide to testing on Android from Unit to Mutation
Oh so you test? - A guide to testing on Android from Unit to MutationOh so you test? - A guide to testing on Android from Unit to Mutation
Oh so you test? - A guide to testing on Android from Unit to MutationPaul Blundell
 
Testing on frontend
Testing on frontendTesting on frontend
Testing on frontendAfif Alfiano
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Grig Gheorghiu
 
When you get lost in api testing #ForumPHP
When you get lost in api testing #ForumPHPWhen you get lost in api testing #ForumPHP
When you get lost in api testing #ForumPHPPaula Čučuk
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonSeb Rose
 
Continuous Integration
Continuous  IntegrationContinuous  Integration
Continuous IntegrationLiyao Chen
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Deepak Singhvi
 
Visual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersVisual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersSteve Lange
 
Trainmesofttech Manual testing course content
Trainmesofttech Manual testing course contentTrainmesofttech Manual testing course content
Trainmesofttech Manual testing course contentTrainmesofttech
 
.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developersNETFest
 
Day Of Dot Net Ann Arbor 2008
Day Of Dot Net Ann Arbor 2008Day Of Dot Net Ann Arbor 2008
Day Of Dot Net Ann Arbor 2008David Truxall
 

Similar to Unit testing en Windows 10 (20)

Testy dymne, integracyjne i jednostkowe w Laravel
Testy dymne, integracyjne i jednostkowe w LaravelTesty dymne, integracyjne i jednostkowe w Laravel
Testy dymne, integracyjne i jednostkowe w Laravel
 
Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
 
Why unit testingl
Why unit testinglWhy unit testingl
Why unit testingl
 
Unit testing, principles
Unit testing, principlesUnit testing, principles
Unit testing, principles
 
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
Treat Your Unit Tests As Production Code - DARGO - Amadeus - Soirée du Test L...
 
Tdd - introduction
Tdd - introductionTdd - introduction
Tdd - introduction
 
Oh so you test? - A guide to testing on Android from Unit to Mutation
Oh so you test? - A guide to testing on Android from Unit to MutationOh so you test? - A guide to testing on Android from Unit to Mutation
Oh so you test? - A guide to testing on Android from Unit to Mutation
 
Testing on frontend
Testing on frontendTesting on frontend
Testing on frontend
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
 
expBSIT (1) (1)
expBSIT (1) (1)expBSIT (1) (1)
expBSIT (1) (1)
 
When you get lost in api testing #ForumPHP
When you get lost in api testing #ForumPHPWhen you get lost in api testing #ForumPHP
When you get lost in api testing #ForumPHP
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking Skeleton
 
Continuous Integration
Continuous  IntegrationContinuous  Integration
Continuous Integration
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
Software testing
Software testingSoftware testing
Software testing
 
Visual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersVisual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for Developers
 
Trainmesofttech Manual testing course content
Trainmesofttech Manual testing course contentTrainmesofttech Manual testing course content
Trainmesofttech Manual testing course content
 
.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers
 
Day Of Dot Net Ann Arbor 2008
Day Of Dot Net Ann Arbor 2008Day Of Dot Net Ann Arbor 2008
Day Of Dot Net Ann Arbor 2008
 

More from Fernando Escolar Martínez-Berganza

Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Fernando Escolar Martínez-Berganza
 

More from Fernando Escolar Martínez-Berganza (20)

Por qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta malPor qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta mal
 
Deconstrucción de SOLID
Deconstrucción de SOLIDDeconstrucción de SOLID
Deconstrucción de SOLID
 
Gapand - por qué odio git?
Gapand - por qué odio git?Gapand - por qué odio git?
Gapand - por qué odio git?
 
Betabeers - continuous deployment
Betabeers - continuous deploymentBetabeers - continuous deployment
Betabeers - continuous deployment
 
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
 
Reconnect 2015 - ALM VSTS
Reconnect 2015 - ALM VSTSReconnect 2015 - ALM VSTS
Reconnect 2015 - ALM VSTS
 
Codemotion 2015 - Unit Testing
Codemotion 2015 - Unit TestingCodemotion 2015 - Unit Testing
Codemotion 2015 - Unit Testing
 
Las cronicas de redis
Las cronicas de redisLas cronicas de redis
Las cronicas de redis
 
Redis: no solo una caché
Redis: no solo una cachéRedis: no solo una caché
Redis: no solo una caché
 
DotNet Conference: code smells
DotNet Conference: code smellsDotNet Conference: code smells
DotNet Conference: code smells
 
Foro de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondoForo de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondo
 
Codemotion: descubriendo las cachés
Codemotion: descubriendo las cachésCodemotion: descubriendo las cachés
Codemotion: descubriendo las cachés
 
Unit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugsUnit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugs
 
We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)
 
Mobile services by @quiqu3
Mobile services by @quiqu3Mobile services by @quiqu3
Mobile services by @quiqu3
 
Javascript no es vietnam
Javascript no es vietnamJavascript no es vietnam
Javascript no es vietnam
 
Where is my beer?
Where is my beer?Where is my beer?
Where is my beer?
 
Coding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival GuideCoding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival Guide
 
Level up your skills
Level up your skillsLevel up your skills
Level up your skills
 
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Unit testing en Windows 10

Editor's Notes

  1. Una prueba unitaria es una pieza de código (generalmente un método) que invoca a otra pieza de código y comprueba después la exactitud de ciertos supuestos. Si alguno de estos supuestos termina siendo erróneo, la prueba unitaria ha fallado.
  2. Una prueba de software es una investigación que se lleva a cabo con el fin de proporcionar a los stakeholders información sobre la calidad del mismo. No tienen por qué basarse solo en código. Nos pueden aportar en adición datos sobre performance y reporte de errores o defectos en el software.
  3. Métodos de testing: White Box: pruebas de las estructuras internas de trabajo de un programa. El tester especifica unas entradas que se ejecutarán a lo largo de diferentes ámbitos del código y definirá unas salidas apropiadas. Este método se aplica en las pruebas unitarias, de integración y del sistema. Black Box: son pruebas del comportamiento externo de una aplicación. Sin tener en cuenta ni conocimiento de como se han implementado internamente. Pueden ser aplicados a todos los niveles de testing: unitarios, integración, sistema y aceptación. Un ejemplo y subtipo de este método de testing son los visuales o de UI. Grey Box: son pruebas de tipo black box en las que hay que tener cierto conocimiento de la implementación interna, pero no de todo el código fuente. (ejemplo test de carga de wke). Niveles de testing: Unitarios: verifica una funcionalidad de una sección del código fuente específica. Generalmente utilizados por los desarrolladores usando el método de White box. Integración: verifican que los diferentes componentes, interfaces y artefactos de un sistema trabajan bien entre ellos. Sistema: se usan sobre un sistema totalmente integrado y desplegado. Y validan que el sistema cumple los requisitos deseados y que el software se comporta correctamente dentro de este. Aceptación: se usan sobre el aplicativo terminado, para validar que realmente realiza las operaciones como se espera. Tipos de testing: Hay muchos, en dependencia de cual es el objetivo del test que estamos realizando. Una prueba unitaria puede ser de cualquiera de estos tipos….
  4. Una prueba unitaria es una pieza de código (generalmente un método) que invoca a otra pieza de código y comprueba después la exactitud de ciertos supuestos. Si alguno de estos supuestos termina siendo erróneo, la prueba unitaria ha fallado. Una “unidad” es un método o una función.
  5. Fast: Rápidos. Tenemos que ser capaces de ejecutar cientos de pruebas en un solo segundo. Isolated: Una prueba unitaria tiene que estar aislada del resto de pruebas y del resto del código que no se quiere probar. Repeatable: Tenemos que poder repetir una prueba tantas veces como sea necesario sin que esto afecte al resultado. Self-validating: Una prueba unitaria devuelve si se ha pasado o si ha fallado. No tiene que dejar cosas al aire para la interpretación. Timely: Estamos acostumbrados a escribir las pruebas justo después de hacer el código que queremos probar. Y esas pruebas las realiza el mismo desarrollador. Lo cierto es que hacerlas antes de codificar o que las escriba otra persona después, aportará valor. Un unit test tiene que ser escrito en el momento oportuno.
  6. Profesional: es parte de tu código, refactorizalo, documentalo si es que documentas,…. Y básicamente mantenlo como la pieza fundamental de tu desarrollo. Unitario: es muy redundante decirlo, pero solo hay que probar una cosa por prueba. Un aspecto básico del total del código fuente. Automatizable: un test unitario no debería depender de una persona para que lo ejecute y lea los resultados. Deberíamos automatizarlo de alguna forma. En este sentido existen muchas frameworks que nos ayudarán con esta la tarea. No usa recursos: no accede a disco, ni a base de datos, ni abre conexiones remotas.
  7. Suposiciones: asumir condiciones previas sobre las entradas de prueba Organizar: establecer el contexto de la unidad bajo prueba Actuar: ejecutar la unidad bajo prueba, capturando cualquier estado resultante Afirmar: verificar el comportamiento a través de afirmaciones (assertions)
  8. FirstTest.cs
  9. FirstTest.cs
  10. FirstTest.cs
  11. Test doubles es el nombre genérico que recibe la técnica de reemplazar un objeto del sistema existente por otro, solo con fines de prueba. Estos objetos ayudarán a que nuestras pruebas unitarias solo prueben una cosa y no las demás. Tipos: Dummy (maniquí): son objetos que se van pasando por el test, pero que en realidad no se usan. Se suelen usar para almacenar datos “vacíos”. Fake (falso): es un objeto que contiene lógica que funciona. Pero esta lógica no sirve para producción. Un ejemplo sería la gestión de una base de datos en memoria, para no crear sockets ni tocar archivos. Spies (espias): guardan una estadística de las llamas mismas. Por ejemplo cuantas veces ha sido llamado un método. Stubs (esbozo): proporcionan respuestas enlatadas a las llamadas realizadas durante la prueba, por lo general no responden en absoluto a nada fuera de lo que está programado en la prueba. Mocks (simulacro): son objetos pre-programados con las expectativas de las llamadas que van a recibir. Pueden lanzar excepciones cuando reciben llamadas no admitidas. Y al final se verifica que se han realizado todas las llamadas que se esperaban.
  12. FirstTest.cs
  13. - TDD: escribir pruebas antes que el código que las resuelva ATDD: es similar a TDD, pero TDD se basa en pruebas unitarias y ATDD en pruebas de aceptación BDD: similar a TDD pero en lugar de unit tests se crean specs. Las specs se centran en el comportamiento antes que en la implementación.