SlideShare une entreprise Scribd logo
1  sur  81
{R}
KEEP
CALM
AND
TEST YOUR
CODE
Alberto Ortiz Capellán
@albertortizcape
Software Developer
Ventajas de usar testing
Rapidez
Detectar errores lo más rápido posible
CalidadGarantizar la calidad de nuestro código
FuncionalidadMantener todo funcionando
Reducir el tiempo de las pruebas manuales
Tiempo manual
El testing manual es repetitivo, tedioso y
consume demasiado tiempo
Las tareas repetitivas son aburridas
Lo aburrido conduce a fallos
Pasemos al testeo
Fast
• Cuando más rápido > más ejecuciones
• No evitar su ejecución porque cuesta
mucho
• En milisegundos se deberían ejecutar
miles de test
Isolated
• Solo debe existir un motivo por el que falla
un test
• Evitar comprobaciones en la carga de
datos
• Deben ejecutarse sin un orden
Repeteable
• Obtener los mismos resultados en las
mismas condiciones
• Un test no debe depender de las
condiciones del entorno
• Debe cargar sus propios datos
Self-Verifying
• No es necesaria una inspección manual
Thorough and Timely
• Deben escribirse a la vez que se escribe
el código
• Antes que el código si es TDD
Pirámide de test
Test unitarios
• Definición
• Dobles y ejemplos
• Estructura de un test
• Consideraciones
Prueba que garantiza la
funcionalidad de una “unidad” de
código
Definición
• La definición de “unidad” es ambigua
– Programación Funcional: Una sola función
– Programación Orientado a Objetos: Una clase
entera
Dobles
• Objetos que remplazan objetos reales
• Devuelven resultados programados
– Beneficio: Agiliza los test
– Contra: Simulan datos reales
Dobles
• Termino basado en los especialistas de
cine
• Tipos
– Fake
– Dummy
– Mocks
– Stubs
Doble Fake
• Objetos implementados
• Solo los valores necesarios solicitados
Ejemplo doble Fake
Ejemplo doble Fake
Objeto doble Dummy
• Objetos que no se usan directamente
• Pueden tener valor null
• Necesarios para:
– Invocar una función
– Construir un objeto
Ejemplo doble Dummy
Objeto doble Stubs
• Objetos implementados de otros objetos
• Necesarios para:
– Simular llamadas y devolver valores fijo
Ejemplo doble Stubs
Ejemplo doble Stubs
Objeto doble Mock
• Ayuda de herramienta externa (C# Moq)
• Implementa solo aquellos métodos que
vamos a usar
• Necesarios para:
– Simular llamadas y devolver valores fijo
Ejemplo doble Mock
Estructura
• Estructura de un test
– Inicialización de los valores iniciales
– Llamada al método a testear
– Comprobación de los resultados esperados
Estructura
• Reglas nemotécnicas para recordar la
estructura de un test
– Arrange, Act, Assert (AAA)
– Given, When, Then
Consideraciones
• Una clase de test por cada clase del
proyecto
• Testear las clases publicas
• Cuidado con los cambios del código de
“producción”
Test Integración
• Definición
• Tipos
• Estructura
• Consideraciones
Unidades independientes de software
que funcionan correctamente cuando
están conectadas entre ellas
Definición
• Unidades independientes con vida propia
– Bases de datos
– Servicios
– Sistemas de archivos
– Librerías externas
– ….
Tipos
• Testean partes de la aplicación con vida
propia
– Test de integración con Base de datos
– Test de integración con Servicios
• Caso idóneo A
– Preparar un entorno
– Insertar datos necesarios para realizar el test
– Realizar el test
– Eliminar el entorno (Opcional)
Estructura
• Caso idóneo B
– Insertar datos necesarios para realizar el test
– Realizar el test
– Borrar los datos introducidos
Estructura
Pasos
• Iniciar una transacción
• Insertar datos necesarios
• Pasar los test
• Cancelar la transacción
Ejemplo test integración
Ejemplo test integración
Ejemplo test integración
Ejemplo test integración
Consideraciones
• Uso de transacciones
• Omitir test que dependan de datos
existentes
• Repetibles
• Consistentes
Servicios
• Mockear la respuesta del servicio
• Pasar los test
Test de consumo de servicio
Test de consumo de servicio
Consideraciones
• Mockear la respuesta del servicio
• Servicio externo: Evitar consultar
directamente
– Denegación de servicio
– Consultas limitadas
– Afectar al rendimiento
Test interfaz de usuario
• Definición
• Consideraciones
Pruebas automatizadas sobre la
interfaz de usuario de tu aplicación
Definición
• Interfaz de usuario
– Consola
– Web
– Escritorio
– Servicio
Consideraciones
• Beneficios:
– Son las más próximas al usuario final
– Reducen tiempo de pruebas manuales
Consideraciones
• Contras:
– Son MUY frágiles
– Son lentas
– Gran coste en detectar el error en código
Consideraciones
No intentar cubrir con test de interfaz todas
las casuísticas, solo las más importantes,
las que se usen más a menudo
Test exploratorios
Test exploratorios
• La automatización no es perfecta
• Permiten conocer la aplicación
• Encontrar errores complejos
Test exploratorios
• Sensaciones al navegar por la interfaz
– Diseños
– Tiempos de respuesta
– Falta de mensajes de error
Test exploratorios
• Definir un objetivo
• Limitar el tiempo de exploración
• Recomendable documentar
• Debe ser posible reproducir los errores
Consejos
Clean test code
• El código de testing es tan importante
como el de producción
• Solo UNA condición por test
• Mantener el código de los test bien
estructurado (AAA, Given When Then…)
• Aplicar reglas de clean code (DRY, KISS,
…)
Consejos
• Porcentaje de pruebas por nivel
– Test unitarios: 70%
– Test integración: 20%
– Test de interfaz de usuario: 10%
Consejos
• Usar Integración Continua para detectar
los errores
20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet

Contenu connexe

Similaire à 20180313 Keep Calm And Test Your Code RiojaDotNet

DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishJordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishAkamon Engineering
 
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mockEloi Poch
 
Liquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programarLiquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programarSoftware Guru
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...Luis Fernando Aguas Bucheli
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLuis Fernando Aguas Bucheli
 
INDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptxINDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptxOdalisLinares
 
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...TestingAR Meetup
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd introfperezplain
 

Similaire à 20180313 Keep Calm And Test Your Code RiojaDotNet (20)

DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2
 
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mock
 
Doble o nada
Doble o nadaDoble o nada
Doble o nada
 
Liquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programarLiquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programar
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
 
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
Automatizacion de Pruebas
Automatizacion de PruebasAutomatizacion de Pruebas
Automatizacion de Pruebas
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
 
INDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptxINDUCCION A QA TESTER.pptx
INDUCCION A QA TESTER.pptx
 
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
 
Artalde Tdd intro
Artalde Tdd introArtalde Tdd intro
Artalde Tdd intro
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 

Dernier

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Dernier (20)

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

20180313 Keep Calm And Test Your Code RiojaDotNet