Test Driven Development en la plataforma Salesforce

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Test Driven Development en la plataforma Salesforce"

Transcripción

1 Test Driven Development en la plataforma Salesforce Mitos y verdades Abril 27, 2016

2 Aldo Fernandez Technical

3 Agenda Plataforma Salesforce Que es TDD? Proceso TDD Un ejemplo de TDD en Apex Beneficios Desafios

4 Que es Salesforce? Originalmente CRM (1999) a demanda Evolución natural a una plataforma multi-tenant (Force.com Platform) Plataforma declarativa Modelo de datos y Objetos UI Procesos / Workflows Reportes y análisis de datos Seguridad, Identidad, segmentación Aplicaciones móviles. Plataforma programática APIs (REST, SOAP, Streaming, Metadata, etc) Apex (Lenguaje OO, similar a Java / C#) Lightning Components (Javascript client-side) Más información: salesforce.com/trailhead - UYSDUG.com

5 Que es Apex? Lenguaje de programación OO Basado en Java / C# Fuertemente tipado Ejecutado en transacciones sobre la plataforma multi-tenant (compilado, ejecutado y controlado) Implementa lógica de negocios en eventos, clicks, operaciones en la base de datos, web services, etc. Framework de testing incorporado Código de producción debe tener como mínimo 75% de code coverage.

6 Que es TDD? (I) Se refiere a Test Driven Development (TDD) como un estilo de programación donde tres actividades están marcadamente entrelazadas: Codigo Testing (en la forma de unit test) Diseño (en la forma de refactoring)

7 Que es TDD? (II) TDD es una forma de desarrollar software donde los tests se escriben antes que el código funcional TDD es una técnica que utiliza tests unitarios automatizados para guiar el diseño del software forzando a desacoplar sus dependencias

8 El proceso TDD 1. Escribir un test 2. Ejecutar todos los tests (el nuevo debería fallar) 3. Escribir algo de código 4. Ejecutar todos los tests 5. Si el test es exitoso, hacer refactor 6. Repetir paso 1

9 Test Unitario vs Test de Integración Test Unitario Verifica que una parte relativamente pequeña del código haga lo que tiene que hacer Alcance acotado Fácil de escribir y ejecutar Test útil para el desarrollador No hay dependencias de componentes externos Los componentes externos son simulados (mocked or stubbed out) Evalúa la consistencia interna Test de Integración Verifica que diferentes piezas del sistema funcionen conjuntamente correctas. Cubre todo un requerimiento o feature del negocio Requiere mas recursos para completar su evaluación Test útil para el negocio Las dependencies son requeridas debido a la aproximación holistica de la prueba. Evalúa la consistencia entre componentes.

10 Un ejemplo de TDD en Apex (I) Algebra de Aldo (no existe! es un ejemplo trivial) Dados 2 números enteros a, b el resultado de la operación sum (a,b) es a + b Si uno (o ambos) números son null entonces tratarlos como cero ejemplos AA.sum(2, 3) = 5 AA.sum(2, null) = 2 AA.sum(null, null) = 0

11 Un ejemplo de TDD en Apex (II)

12 Un ejemplo de TDD en Apex (III) Repetir el proceso hasta completar la especificación

13 pero que sucede si hay dependencias con otras clases o componentes?

14 Un ejemplo de TDD en Apex (IV) Algebra <<page>> AlgebraController <<class>> Dependencia /o\ AlgebraServices <<class>>

15 Un ejemplo de TDD en Apex (V)

16 Dependency Injection

17 Un ejemplo de TDD en Apex (VI)

18 Un ejemplo de TDD en Apex (VII) inyectando la dependencia \o/

19 Beneficios Obliga a tener un buen diseño/arquitectura Reduce el tiempo de buscar el origen de un bug Crea una especificación detallada de cada feature Se escribe código mas corto y menos complejo Write shorter and less complex code Feedback inmediato de donde se rompió el código Aumenta el código de cobertura Obliga a mantener las cosas simples (KISS!) Tests se ejecutan mas rápido

20 Desafios Curva de aprendizaje Costo de TDD vs Budget de Proyecto Explicar el ROI con TDD a jerarquias. Conceptos técnicos avanzados Dependency Injection Mocking Problemas culturales en los equipos Frecuentes cambios en los requerimientos de negocio

21 Resources + Kudos Test Driven Development Method in Software Development Process. Denis Duka, Lovre Hribar 2010 Test Driven Development in Apex by Chris Aldridge (@caldrig3) Unit Testing, Apex Enterprise Patterns and ApexMock, Andrew Fawcett (@andyinthecloud) Writing true unit tests using dependency injection mocking apex, Alex Tennant (@adtennant) ApexMocks: How Does It Work? Jesse Altman (@jessealtman) Inversion of Control Containers and the Dependency Injection Pattern. Martin Fowler, 2004 Demo Code repo:

22 Gracias!!! #uysdug #tdd #dependencyinjection #apex #testinguy TestingUy 3 Abril 27, 2016 Montevideo, Uruguay Test Driven Development en la Plataforma Salesorce Mitos y verdades Aldo Fernandez Technical

Behavior Driven Development

Behavior Driven Development Behavior Driven Development Sesión 11c Repaso de TDD Práctica de desarrollo de software propuesta por Kent Beck Parte de XP y de metodologías ágiles, pero puede ser usada también con cualquier otra metodología

Más detalles

TESTS UNITARIOS. keep the bar green to keep the code clean

TESTS UNITARIOS. keep the bar green to keep the code clean TESTS UNITARIOS keep the bar green to keep the code clean Para qué hacer tests unitarios? Es imposible hacer software libre de defectos. Tiempo del desarrollador: Diseño Análisis Debug Desarrollo Los tests

Más detalles

Procesando Salesforce Outbound Messages con PHP en Heroku

Procesando Salesforce Outbound Messages con PHP en Heroku Procesando Salesforce Outbound Messages con PHP en Heroku Mensajes asincrónicos en las nubes Ago 8, 2015 Aldo Fernandez Technical Consultant @aldoforce Agenda Salesforce Heroku Ejemplo de integración asincrónica

Más detalles

Automatización: Hacia el Software de Calidad. Building Success Together

Automatización: Hacia el Software de Calidad. Building Success Together 2017 Automatización: Hacia el Software de Calidad Building Success Together Contenido Conceptos Básicos Automatización Desarrollo Guiado por Pruebas (TDD) Integracion Continua Entrega Continua Virtualización

Más detalles

Microsoft Sure Step Evolved para Dynamics CRM.

Microsoft Sure Step Evolved para Dynamics CRM. Microsoft Sure Step Evolved para Dynamics CRM. 07/06/2016 Evento: Cómo sobrevivir con metodología: Sure Step Evolved para Dynamics CRM. Nadia Fernández Solution Architect Dynamics CRM Americas Global Practices

Más detalles

Tecnología hardware y software

Tecnología hardware y software Denominación: Desarrollo de software Código : J62.05 Nivel: 4 Sector: Familia: Eje tecnológico: Programación informática, consultoría de informática y actividades conexas. Tecnología hardware y software

Más detalles

Testing Ágil. Experiencia de aproximación 2.0 Junio de 2016

Testing Ágil. Experiencia de aproximación 2.0 Junio de 2016 Testing Ágil Experiencia de aproximación 2.0 Junio de 2016 Hacemos un scrum? Índice Objetivos de pruebas Manifiesto ágil Estrategias de pruebas Skills del tester Organización del trabajo: inception y sprints

Más detalles

Entender el concepto de testing exploratorio y las particularidades. Ponerlo en práctica, desde su ejecución hasta su gestión.

Entender el concepto de testing exploratorio y las particularidades. Ponerlo en práctica, desde su ejecución hasta su gestión. Entender el concepto de testing exploratorio y las particularidades. Ponerlo en práctica, desde su ejecución hasta su gestión. Entender los beneficios. Imaginarse cómo planificar y analizar los resultados

Más detalles

Pruebas de Software: Herramientas: Pruebas Unitarias. Elisa Herrmann Ingeniería del Software de Gestión

Pruebas de Software: Herramientas: Pruebas Unitarias. Elisa Herrmann Ingeniería del Software de Gestión Pruebas de Software: Herramientas: Pruebas Unitarias Elisa Herrmann Ingeniería del Software de Gestión Contenido Qué son Pruebas Unitarias? Frameworks Ventajas Desventajas y limitaciones Mitos sobre Pruebas

Más detalles

Spring. Desarrollo de Aplicaciones Empresariales

Spring. Desarrollo de Aplicaciones Empresariales Spring Desarrollo de Aplicaciones Empresariales 2014-1 Spring Spring Es un framework para el desarrollo de aplicaciones y un contenedor de inversión de control, de código abierto para la plataforma Java.

Más detalles

Estrategia de éxito para escalar Testing Agile en grandes corporaciones. 8 de junio de 2016

Estrategia de éxito para escalar Testing Agile en grandes corporaciones. 8 de junio de 2016 Estrategia de éxito para escalar Testing Agile en grandes corporaciones 8 de junio de 2016 Introducción Seamos ágiles!!!! Introducción No es suficiente! Problemas en las grandes corporaciones Problemas

Más detalles

Verificación. Taller de Programación

Verificación. Taller de Programación Verificación Taller de Programación Error, Defecto y Falla puede generar Un defecto un error humano (interna) que puede generar?! una falla (externa) El software falla cuando No hace lo requerido o Hace

Más detalles

Reduciendo el Time to Market: Cómo DevOps transforma los procesos de TI y le brinda mayor agilidad al negocio

Reduciendo el Time to Market: Cómo DevOps transforma los procesos de TI y le brinda mayor agilidad al negocio Reduciendo el Time to Market: Cómo DevOps transforma los procesos de TI y le brinda mayor agilidad al negocio Marcelo Corcilli Max Garcia Red Hat Argentina Software Cambia los Negocios Retail Finance Media??

Más detalles

CURSO GRATUITO Experto web y multimedia para e-commerce. DURACIÓN 90 horas. LUGAR DE REALIZACIÓN On-line

CURSO GRATUITO Experto web y multimedia para e-commerce. DURACIÓN 90 horas. LUGAR DE REALIZACIÓN On-line ÁREA F. SUBVENCIONADA DURACIÓN 90 horas LUGAR DE REALIZACIÓN On-line INTERESADOS CONTACTAR CON: Escuela Superior de Diseño ESI Valladolid Teléfono: 983 397 622 ext. 102 e-mail: rrhh@esivalladolid.com CURSO

Más detalles

Métodos para el diseño de soluciones

Métodos para el diseño de soluciones Sergio Sotelo IBM Software IT Architect smsotelo@pe.ibm.com Agenda Unified Method Architecture Introducción a TOGAF 2 Método o Metodología? Método Modo de decir o hacer con orden una cosa Métodología Ciencia

Más detalles

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba Pruebas de Software R. Casallas Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes 1 Agenda Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba 2 1 Pruebas de Programas

Más detalles

Instituto Tecnológico Superior De Acatlán de Osorio. Portafolio de evidencias

Instituto Tecnológico Superior De Acatlán de Osorio. Portafolio de evidencias Instituto Tecnológico Superior De Acatlán de Osorio Carrera: Ingeniería Informática Materia: Verificación y Validación de Software Portafolio de evidencias Elaborado por: Solano Agustín Carlos Profesor:

Más detalles

Contenido de la sesión. Las pruebas unitarias. Qué es eso de TDD? Inyección de dependencias 19/04/2013

Contenido de la sesión. Las pruebas unitarias. Qué es eso de TDD? Inyección de dependencias 19/04/2013 TDD con ASP.NET MVC Jorge Bustos j.bustos@danysoft.com, Servicios Profesionales sp@danysoft.com www.danysoft.com 18.04.2013 Contenido de la sesión Las pruebas unitarias Qué es eso de TDD? Inyección de

Más detalles

Planificaciones METODOS Y MODELOS EN LA INGENIERIA DEL SOFTWARE PLANIFICACIONES II. Docente responsable: PAEZ NICOLAS MARTIN.

Planificaciones METODOS Y MODELOS EN LA INGENIERIA DEL SOFTWARE PLANIFICACIONES II. Docente responsable: PAEZ NICOLAS MARTIN. Planificaciones 9521 - METODOS Y MODELOS EN LA INGENIERIA DEL SOFTWARE II Docente responsable: PAEZ NICOLAS MARTIN 1 de 6 OBJETIVOS Que los alumnos entiendan las desafíos, estrategias y técnicas para la

Más detalles

Planificaciones METODOS Y MODELOS EN LA INGENIERIA DEL SOFTWARE PLANIFICACIONES II. Docente responsable: PAEZ NICOLAS MARTIN.

Planificaciones METODOS Y MODELOS EN LA INGENIERIA DEL SOFTWARE PLANIFICACIONES II. Docente responsable: PAEZ NICOLAS MARTIN. Planificaciones 9521 - METODOS Y MODELOS EN LA INGENIERIA DEL SOFTWARE II Docente responsable: PAEZ NICOLAS MARTIN 1 de 6 OBJETIVOS Que los alumnos entiendan las desafíos, estrategias y técnicas para la

Más detalles

ANALISTA PROGRAMADOR

ANALISTA PROGRAMADOR ANALISTA PROGRAMADOR Objetivos La carrera forma profesionales en informática capacitados para: - desempeñarse como analistas y programadores de sistemas informáticos y como especialistas en el desarrollo

Más detalles

Proyecto docente de la asignatura

Proyecto docente de la asignatura Proyecto docente de la asignatura Asignatura Materia Módulo TECNOLOGIAS PARA EL DESARROLLO DE SOFTWARE INGENIERIA DEL SOFTWARE Tecnologías Específicas Titulación GRADO EN INGENIERÍA INFORMÁTICA (545) Plan

Más detalles

Agenda. Ciclo de calidad continua XII Encuentro Danysoft en Microsoft Directos al código. XII Encuentro Danysoft en Microsoft Abril 2015

Agenda. Ciclo de calidad continua XII Encuentro Danysoft en Microsoft Directos al código. XII Encuentro Danysoft en Microsoft Abril 2015 Ciclo de calidad continua XII Encuentro Danysoft en Microsoft Directos al código Jose García Servicios Profesionales sp@danysoft.com 916 638683 www.danysoft.com Abril 2015 Sala 2 Team Foundation Server

Más detalles

El producto desarrollo de liderazgo juvenil solución de problemáticas, conciencia de sí mismos, empoderamiento de otros y conciencia global

El producto desarrollo de liderazgo juvenil solución de problemáticas, conciencia de sí mismos, empoderamiento de otros y conciencia global El producto Nuestro objetivo es el desarrollo de liderazgo juvenil, en colaboración con las empresas, que tienen las puertas abiertas con oportunidades desafiantes creando un espacio donde nuestros practicantes

Más detalles

MS_2778 Writing Queries Using Microsoft SQL Server 2008 Transact-SQL

MS_2778 Writing Queries Using Microsoft SQL Server 2008 Transact-SQL Writing Queries Using Microsoft SQL Server 2008 Transact-SQL www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción Este curso provee

Más detalles

Programación en Java. Uso de Spring Framework: 2ª Edición (Spanish Edition)

Programación en Java. Uso de Spring Framework: 2ª Edición (Spanish Edition) Programación en Java. Uso de Spring Framework: 2ª Edición (Spanish Edition) Alex Rodríguez Vidal Programación en Java. Uso de Spring Framework: 2ª Edición (Spanish Edition) Alex Rodríguez Vidal Java es

Más detalles

Desarrollo de Componentes de Negocio con Tecnología

Desarrollo de Componentes de Negocio con Tecnología Desarrollo de Componentes de Negocio con Tecnología Empresarial Java Beans Modalidad Online Horario Flexible Descuento Alumnos Duración 180 horas Nivel Superior Subvención Empresas Descripción Detallada

Más detalles

Applying UML and Patterns Capítulos 18, 19, 20 y 21

Applying UML and Patterns Capítulos 18, 19, 20 y 21 Applying UML and Patterns Capítulos 18, 19, 20 y 21 ALEJANDRO ZAPATA SÁNCHEZ CINVESTAV-Tamaulipas 17 de Octubre del 2012 ALEJANDRO ZAPATA SÁNCHEZ (CINVESTAV) Capítulos 18, 19, 20 y 21 17 de Octubre del

Más detalles

Cuales son los 6 lenguajes de programacion mas usados actualmente. Cuales son los 6 lenguajes de programación mas usados actualmente.

Cuales son los 6 lenguajes de programacion mas usados actualmente. Cuales son los 6 lenguajes de programación mas usados actualmente. Cuales son los 6 lenguajes de programacion mas usados actualmente Cuales son los 6 lenguajes de programación mas usados actualmente. Java Es un lenguaje de programación con el cual podemos realizar cualquier

Más detalles

Testing + Integración continua

Testing + Integración continua Testing + Integración continua Agenda Introducción Conceptos Herramientas CI en Arquitectura Práctica Agenda Introducción Conceptos Herramientas CI en Arquitectura Práctica Conceptos El Testing, o pruebas

Más detalles

Introducción a la Programación 1

Introducción a la Programación 1 Introducción a la Programación Dinámica Quiénes somos? Lucas Luppani: lucas.luppani@ing.austral.edu.ar Juan Longo: juan.longo@ing.austral.edu.ar Cuál va a ser la dinámica? Teóricas Prácticas Quizzes 2

Más detalles

RESUMEN MAESTRIA EN INGENIERIA INDUSTRIAL ALUNMOS: SANCHEZ CERVANTES OSCAR DANIEL JAIMES VILLANUEVA MARCO ANTONIO ESPINDOLA OCAMPO JERRY

RESUMEN MAESTRIA EN INGENIERIA INDUSTRIAL ALUNMOS: SANCHEZ CERVANTES OSCAR DANIEL JAIMES VILLANUEVA MARCO ANTONIO ESPINDOLA OCAMPO JERRY RESUMEN MAESTRIA EN INGENIERIA INDUSTRIAL ALUNMOS: SANCHEZ CERVANTES OSCAR DANIEL JAIMES VILLANUEVA MARCO ANTONIO ESPINDOLA OCAMPO JERRY GeneXus su esencia y sus características principales GeneXus es,

Más detalles

Datos Descriptivos. ASIGNATURA: Profundización en Ingeniería del Software. MATERIA: Diseño de Sistemas de Información

Datos Descriptivos. ASIGNATURA: Profundización en Ingeniería del Software. MATERIA: Diseño de Sistemas de Información Guía%de%Aprendizaje% %Información%al%estudiante% Datos Descriptivos ASIGNATURA: Profundización en Ingeniería del Software MATERIA: Diseño de Sistemas de Información CRÉDITOS EUROPEOS: 3 CARÁCTER: Obligatoria

Más detalles

microservicios Introducción y conceptos generales

microservicios Introducción y conceptos generales microservicios Introducción y conceptos generales Por que hablar de microservicios en FLISoL? Comunidad Aprender y Compartir Software Libre Qué es la arquitectura de microservicios? Es una interpretación

Más detalles

XP- EXTREME PROGRAMMING

XP- EXTREME PROGRAMMING XP- EXTREME PROGRAMMING RUBBY CASALLAS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN FACULTAD DE INGENIERÍA UNIVERSIDAD DE LOS ANDES Agenda Qué es XP? 12 Prácticas Actividades Principales: Planeación Diseño Codificación

Más detalles

Salesforce.com: 4ª empresa de Software más grande del mundo empleados. Patricio Guzmán Socio BDLA Chile Ltda. $ 1.

Salesforce.com: 4ª empresa de Software más grande del mundo empleados. Patricio Guzmán Socio BDLA Chile Ltda. $ 1. Salesforce.com: 4ª empresa de Software más grande del mundo 2013 2014 2015 2008 2009 2010 2011 2012 2013 2014 2015 1er lugar: Empresas más innovadora del mundo" 2011 2012 2013 2014 2os en 2015 2os en 2016

Más detalles

Planificaciones Algoritmos y Programación III. Docente responsable: FONTELA MOISES CARLOS. 1 de 8

Planificaciones Algoritmos y Programación III. Docente responsable: FONTELA MOISES CARLOS. 1 de 8 Planificaciones 7507 - Algoritmos y Programación III Docente responsable: FONTELA MOISES CARLOS 1 de 8 OBJETIVOS Esta busca que los alumnos adquieran los conceptos centrales de la programación orientada

Más detalles

Plan de estudios: Programador Android Nativo

Plan de estudios: Programador Android Nativo Información General: Duración: 12 semanas / 35hs semanales Modalidad: Tiempo completo Días y horarios: Lunes a Viernes de 9 a 17hs Mentores: Página Web: Idioma: Ubicación: Ignasi Lopez Luna (ignasi@ubiqum.com)

Más detalles

METODOLOGÍAS ÁGILES DE DESARROLLO. Rubby Casallas Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes

METODOLOGÍAS ÁGILES DE DESARROLLO. Rubby Casallas Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes 1 METODOLOGÍAS ÁGILES DE DESARROLLO Rubby Casallas Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes Principios del Manifiesto Ágil 2 Nuestra mayor prioridad es satisfacer al

Más detalles

DESARROLLAR SOFTWARE APLICANDO LA INGENIERÍA INVERSA: EL ARTE DE LA

DESARROLLAR SOFTWARE APLICANDO LA INGENIERÍA INVERSA: EL ARTE DE LA 3 DESARROLLAR SOFTWARE APLICANDO LA INGENIERÍA INVERSA: EL ARTE DE LA CIENCIA DESARROLLAR SOFTWARE PUEDE CONVERTIRSE EN UN VERDADERO ARTE CIENTÍFICO SI SE ES CAPAZ DE COMBINAR PARALELAMENTE, LÓGICA Y PENSAMIENTO

Más detalles

BANCO INTERAMERICANO DE DESARROLLO. SIAFs en America Latina NOVIEMBRE 2015

BANCO INTERAMERICANO DE DESARROLLO. SIAFs en America Latina NOVIEMBRE 2015 BANCO INTERAMERICANO DE DESARROLLO SIAFs en America Latina NOVIEMBRE 2015 1 Tendencias de los SIAFs en la región Factores claves para una implementación exitosa Orígenes de los SIAFs en la América Latina

Más detalles

AS - Arquitectura del Software

AS - Arquitectura del Software Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 747 - ESSI - Departamento de Ingenieria de Servicios y Sistemas de Información Curso: Titulación: 2017 GRADO EN

Más detalles

Introducción a la ingeniería del software dirigida por modelos Curso

Introducción a la ingeniería del software dirigida por modelos Curso Procesadores de Lenguajes 2 Introducción a la ingeniería del software dirigida por modelos Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN. 1º Bachillerato

INTRODUCCIÓN A LA PROGRAMACIÓN. 1º Bachillerato INTRODUCCIÓN A LA PROGRAMACIÓN 1º Bachillerato Qué es un programa? Componente informático que se utiliza para realizar una determinada tarea. Se compone de algoritmos y estructuras de datos Algoritmos:

Más detalles

Desarrollo Software Gran Escala

Desarrollo Software Gran Escala Desarrollo Software Gran Escala Herramientas de Desarrollo (Parte 3: Generadores y Constructores) Diferentes tipos de herramientas Controladores de versión Ambientes de desarrollo Pruebas y Depuración

Más detalles

Solución a los problemas de integración

Solución a los problemas de integración Solución a los problemas de integración EAI requiere conocimiento de muchas problemáticas y aspectos técnicos. 18/05/2016 SMART INTEGRATOR para Dynamics CRM. Mauricio Molina Alvarez Skype @maoma1999 mao@alfapeople.com

Más detalles

adv Software Factory

adv Software Factory adv Software Factory NUESTRA VISION Nuestra visión de Servicio es convertirnos en un apéndice del área de Sistemas de las empresas contratantes, entendiendo que ellas son las más capacitadas para recibir

Más detalles

Aseguramiento de la calidad y pruebas de software

Aseguramiento de la calidad y pruebas de software Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Automatización de pruebas unitarias Blanca A. Vargas Govea vargasgovea@itesm.mx Abril 23, 2013 Contenido Automatización de pruebas

Más detalles

6.1 Behavior Driven Development. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante, 2014-15

6.1 Behavior Driven Development. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante, 2014-15 6.1 Behavior Driven Development Modelo tradicional de desarrollo de requisitos John Ferguson Smart - BDD in Action 2 Modelo de desarrollo usando BDD John Ferguson Smart - BDD in Action 3 Resumen en un

Más detalles

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Cali, Colombia Verano 2012 Lección 1 Introducción a Java Agenda Qué es lo que hace Java especial? Ventajas y Desventajas de usar Java.

Más detalles

ANX-PR/CL/ GUÍA DE APRENDIZAJE

ANX-PR/CL/ GUÍA DE APRENDIZAJE PROCESO DE COORDINACIÓN DE LAS ENSEÑANZAS PR/CL/001 ASIGNATURA 613000095 - PLAN DE ESTUDIOS 61AF - CURSO ACADÉMICO Y SEMESTRE 2017-18 - Primer semestre 11\ 1 i#e)liii@i@;l CAMPUS DE EXCELENCIA INTERNACIONAL

Más detalles

Estado del arte sobre el testeo de software en las Pymes de Aragón

Estado del arte sobre el testeo de software en las Pymes de Aragón Estado del arte sobre el testeo de software en las Pymes de Aragón 12 de Noviembre de 2015 Contenido Introducción Resultados #1 Perfil de la organización #2 Niveles de testing #3 Técnicas de testing #4

Más detalles

IBM Software Demos Rational Software Delivery Platform - Presentación del ejemplo de demostración

IBM Software Demos Rational Software Delivery Platform - Presentación del ejemplo de demostración Las demostraciones de esta sección muestran una situación "cotidiana" de un equipo de desarrollo que utiliza IBM Rational Software Delivery Platform. Éste es el nuevo nombre de Rational Software Development

Más detalles

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa Paradigmas de lenguajes de programación Introducción a la programación imperativa Algoritmos y Estructuras de Datos I Paradigma: Definición del modo en el que se especifica el cómputo (que luego es implementado

Más detalles

Introducción a las Metodologías Ágiles. Nicolás Brailovsky March 7, 2009

Introducción a las Metodologías Ágiles. Nicolás Brailovsky March 7, 2009 Universidad Tecnológica Nacional Facultad Regional Buenos Aires Diseño de Sistemas Introducción a las Metodologías Ágiles Nicolás Brailovsky March 7, 2009 1 Qué es una metodología? 2 Metodologías Ágiles

Más detalles

Modelado de Arquitectura Software

Modelado de Arquitectura Software Departamento de Lenguajes y Sistemas Informáticos BLOQUE I: Arquitectura del Software Modelado de Arquitectura Software Tema 4 Arquitectura e Integración del Software Curso 2012/2013 Índice UML Diagrama

Más detalles

Tema I Testing Estructurado

Tema I Testing Estructurado Tema I Testing Estructurado 4ta Parte Verificación y Validación de Software UNS Contenido Testing de Unidad: Caja Negra Grafos Causa Efecto Clases de Equivalencia Valores Límite Verificación y Validación

Más detalles

Metodologías ágiles de desarrollo de software

Metodologías ágiles de desarrollo de software Metodologías ágiles de desarrollo de software Sesión 2 Índice Metodologías ágiles de desarrollo de software 2 Qué es el software?, 2013-14 Domingo Gallardo, DCCIA, Universidad de Alicante Metáforas La

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Curso 2015/2016 Javier Bermúdez Ruiz Marcos Menárguez Tortosa Begoña Moros Valle http://dis.um.es/docencia/poo Contenido de la presentación Programa de teoría. Programa

Más detalles

Testing y Mocking: Probando Aplicaciones

Testing y Mocking: Probando Aplicaciones Testing y Mocking: Probando Aplicaciones 1 Introducción 2 Tipos de tests 3 Inyección de dependencias, DI 4 Mocking Outline 1 Introducción 2 Tipos de tests 3 Inyección de dependencias, DI 4 Mocking Outline

Más detalles

PROCESS RUNNER. ASUG TECH DAY 8 Edición Hotel MELIA, 15 de Junio del Pablo Bascoy IT Business Consultant

PROCESS RUNNER. ASUG TECH DAY 8 Edición Hotel MELIA, 15 de Junio del Pablo Bascoy IT Business Consultant PROCESS RUNNER ASUG TECH DAY 8 Edición Hotel MELIA, 15 de Junio del 2017 Pablo Bascoy IT Business Consultant Pablo.Bascoy@blatorh.com Leonardo Blau Director Leonardo.Blau@blatorh.com Agenda Acerca de BLATORH

Más detalles

UNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

UNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM UNIDAD IV Programación Funcional Porqué? 2 Introducción Porque aprender programación funcional? - Recursión - Abstracción funcional - Funciones de primer orden Estos conceptos se han incorporado en la

Más detalles

Lenguaje Orientado por Objetos Simple, Poderoso y Fácil de aprender Robusto Interactivo Arquitectura neutral Interpretado y de alto desempeño

Lenguaje Orientado por Objetos Simple, Poderoso y Fácil de aprender Robusto Interactivo Arquitectura neutral Interpretado y de alto desempeño Programación Orientada a Objetos Introducción a Java Angela Carrillo Ramos Java: Lenguaje de Programación Por qué surge un lenguaje? Para adaptarse a los cambios de entorno y usos: Independencia de la

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Curso 2014/2015 Javier Bermúdez Ruiz Marcos Menárguez Tortosa Begoña Moros Valle http://dis.um.es/docencia/poo Contenido de la presentación Programa de teoría. Programa

Más detalles

PREGUNTAS FRECUENTES

PREGUNTAS FRECUENTES PREGUNTAS FRECUENTES DOCUMENTO INFORMATIVO CONVOCATORIA CERTIFICACIÓN SFIA GERENCIA DE DESARROLLO COMPETITIVO Actualizado al 04 de octubre de 2017. Moneda 921, Santiago, Chile 800 400 080 www.corfo.cl/certificaciontic

Más detalles

Empresa. Panorámica Innovación Aplicada y Mejores Prácticas J U S T I M A G I N E. J u l i o

Empresa. Panorámica Innovación Aplicada y Mejores Prácticas J U S T I M A G I N E. J u l i o Empresa Panorámica Innovación Aplicada y Mejores Prácticas J U S T I M A G I N E J u l i o 2 0 1 6 VISIÓN GLOBAL Fundada en 2015 30 empleados / 1,5 MM de facturación anual Capital 100% español (personas

Más detalles

Servicios Cloud de Desarrollo & Testing Software

Servicios Cloud de Desarrollo & Testing Software Servicios Cloud de Desarrollo & Testing Software Qué es Devops? Ingenieros de operaciones y de desarrollo trabajando conjuntamente a lo largo de todo el ciclo de vida del desarrollo de un servicio o producto

Más detalles

CURSO. Programación web JAVA JEE. Civil, sistemas, diseño

CURSO. Programación web JAVA JEE. Civil, sistemas, diseño CURSO Programación web JAVA JEE Civil, sistemas, diseño Bienvenido, Curso Programación web JAVA JEE Presentación Java es una tecnología para el desarrollo de software que por tener carácter de software

Más detalles

Hacia Procesos de desarrollo que además de software construyan confianza

Hacia Procesos de desarrollo que además de software construyan confianza Hacia Procesos de desarrollo que además de software construyan confianza Victor Manuel Toro C. VictorToro@cincosoft.com CincoSOFT Ltda. Tel.: (1)6226350, (1)6230180 Bogotá - Colombia 1 El contexto Proyectos

Más detalles

Automatización de Pruebas de Software con Herramientas Open Source. Henry Eduardo Carrión Cristóbal

Automatización de Pruebas de Software con Herramientas Open Source. Henry Eduardo Carrión Cristóbal Automatización de Pruebas de Software con Herramientas Open Source Henry Eduardo Carrión Cristóbal Agenda Pruebas de Software Test Driven Development Por que automatizar? Herramientas Estrategias Conclusiones

Más detalles

El proceso de adopción de Cloud: los 12 pasos clave para las empresas

El proceso de adopción de Cloud: los 12 pasos clave para las empresas El proceso de adopción de Cloud: los 12 pasos clave para las empresas Cristina Caballé Directora Ejecutiva de Cloud, IBM Cloud en Acción 21 de octubre de 2014 IBM Client Center Madrid #CloudenAcción Tu

Más detalles

APIFICACION y DevOps. Iván Sampedro Postigo Oracle Cloud Platform Sales Consultant. TIC en la Modernización de la Justicia.

APIFICACION y DevOps. Iván Sampedro Postigo Oracle Cloud Platform Sales Consultant. TIC en la Modernización de la Justicia. TIC en la Modernización de la Justicia. APIFICACION y DevOps Iván Sampedro Postigo Oracle Cloud Platform Sales Consultant Copyright 2014 Oracle and/or its affiliates. All rights reserved. APIficación Copyright

Más detalles

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Verificación y Desarrollo de Programas

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Verificación y Desarrollo de Programas CENTRO UNIVERSITARIO DE TECNOLOGÍA Y ARTE DIGITAL PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE Verificación y Desarrollo de Programas 1. DATOS DE IDENTIFICACIÓN DE LA ASIGNATURA. Título: Facultad:

Más detalles

Máster Arquitectura y Desarrollo Software. Pénsum Académico

Máster Arquitectura y Desarrollo Software. Pénsum Académico Máster Arquitectura y Desarrollo Software Pénsum Académico 2018 19 Índice 1. Plan de estudios... 3 2. Objetivos generales del Máster... 3 3. Contenidos del Máster... 3 3.1. Diseño y arquitectura software...

Más detalles

Meta-circular Dynamic Languages

Meta-circular Dynamic Languages Meta-circular Dynamic Languages Hernán Wilkinson Octubre 2011 agile software development & services Who am I? Hernán Wilkinson 10Pines SRL Founder Professor at UBA and UCA (OO, Design, Ing. Soft) FAST

Más detalles

80295 Ampliación de Microsoft Dynamics CRM 2011

80295 Ampliación de Microsoft Dynamics CRM 2011 80295 80295 Ampliación de Microsoft Dynamics CRM 2011 Fabricante: Microsoft Grupo: Dynamics Subgrupo: Microsoft Dynamics CRM 2011 Formación: Presencial Horas: 15 Este curso ofrece información detallada

Más detalles

Tatiana Pozo, Carlos Aucancela, Cecilia Hinojosa y Aly Abdelrahaman

Tatiana Pozo, Carlos Aucancela, Cecilia Hinojosa y Aly Abdelrahaman Sistema Web de Asignación de Aulas de los Laboratorios de Computación de la ESPE, Aplicando la Metodología Agile Unified Process (AUP), utilizando el Framework Junit Tatiana Pozo, Carlos Aucancela, Cecilia

Más detalles

Tema 5 - Pruebas del software Ingeniería del Software de Gestión II

Tema 5 - Pruebas del software Ingeniería del Software de Gestión II escuela técnica superior de ingeniería informática Tema 5 - Pruebas del software Ingeniería del Software de Gestión II Objetivos Cuáles son las alternativas para verificar y validar software Qué son las

Más detalles

AspectJ. Juan Rodriguez Duran Johann Triana Olaya Jonatan Parra Toro

AspectJ. Juan Rodriguez Duran Johann Triana Olaya Jonatan Parra Toro AspectJ Juan Rodriguez Duran Johann Triana Olaya Jonatan Parra Toro Tabla de contenido 1. 2. 3. 4. 5. 6. Historia y descripción Ventajas y desventajas Instalación de AspectJ en Eclipse Sintaxis Repaso

Más detalles

Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Caja Blanca/Cobertura Blanca A. Vargas Govea

Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Caja Blanca/Cobertura Blanca A. Vargas Govea Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Caja Blanca/Cobertura Blanca A. Vargas Govea vargasgovea@itesm.mx Marzo 19, 2013 Contenido Pruebas de caja blanca Cobertura Casos

Más detalles

Acelerando el desarrollo de tu app con IBM Bluemix. BluemixLab Session 1 Desplegando mi aplicación

Acelerando el desarrollo de tu app con IBM Bluemix. BluemixLab Session 1 Desplegando mi aplicación Acelerando el desarrollo de tu app con IBM Bluemix BluemixLab Session 1 Desplegando mi aplicación Desplegando mi aplicación Computación en la nube IBM Bluemix UI Cloud Foundry CLI Cuestionario Ingrese

Más detalles

Programación de Aplicaciones de Escritorio

Programación de Aplicaciones de Escritorio ENSAMBLADOS Entorno de ejecución común de los lenguajes El proceso de ejecución de cualquier aplicación incluye los pasos siguientes: 1.- Diseñar y escribir el código fuente. 2.- Compilar el código fuente

Más detalles

Extreme Programming Practices. Pair-Programming, Collective Code Ownership, Frequent Integration

Extreme Programming Practices. Pair-Programming, Collective Code Ownership, Frequent Integration Extreme Programming Practices Pair-Programming, Collective Code Ownership, Frequent Integration 12 Prácticas de XP 4 Prácticas de Codificación: estándares, vocabulario, refactoring, diseño simple. 4 Prácticas

Más detalles

INTEGRACIÓN DE APIS POLÍGLOTAS DE MAPAS EN GOOGLE WEB TOOLKIT: IDELABMAPSTRACTIONGWT

INTEGRACIÓN DE APIS POLÍGLOTAS DE MAPAS EN GOOGLE WEB TOOLKIT: IDELABMAPSTRACTIONGWT INTEGRACIÓN DE APIS POLÍGLOTAS DE MAPAS EN GOOGLE WEB TOOLKIT: IDELABMAPSTRACTIONGWT Pablo López, Juan Pablo de Castro, Ricardo García, María Jesús Verdú, Elena Verdú, Luisa M. Regueras Escuela Técnica

Más detalles

Programa de Capacitación en. Aplicaciones Visual Studio.NET 2013

Programa de Capacitación en. Aplicaciones Visual Studio.NET 2013 Programa de Capacitación en Aplicaciones Visual Studio.NET 2013 Actualización 2015-2016 FLUJO DE CAPACITACIÓN Programana de Capacitación : Experto Programador en Aplicaciones.NET 2013 * Fundamentos Programación

Más detalles

Soporte a CMMI. III Semana CMMI. Gestión e Ingeniería de Requisitos con IRqA. Fernando Valera Consultor IRqA fvalera@tcpsi.es

Soporte a CMMI. III Semana CMMI. Gestión e Ingeniería de Requisitos con IRqA. Fernando Valera Consultor IRqA fvalera@tcpsi.es Soporte a CMMI Gestión e Ingeniería de Requisitos con IRqA III Semana CMMI Fernando Valera Consultor IRqA fvalera@tcpsi.es Agenda - Agenda Presentación TCP & IRqA La Ingeniería de Requisitos en CMMI Qué

Más detalles

Introducción código transversal

Introducción código transversal Introducción La aparición de la programación Orientada a Objetos (OO) tuvo un efecto dramático en el desarrollo de software. En la actualidad, los desarrolladores crean aplicaciones utilizando clases y

Más detalles

Ingeniería del Software I

Ingeniería del Software I - 1 - Ingeniería del Software I Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Segundo Cuatrimestre de 2005 Práctica: Testing Funcional - 2 - Comentario: la mayoría de los enunciados

Más detalles

Ingeniería de Aplicaciones Web

Ingeniería de Aplicaciones Web Ingeniería de Aplicaciones Web Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Tecnologías web cliente servidor Arquitecturas Web cliente servidor

Más detalles

Test de software embebido. Sistemas embebidos para tiempo real

Test de software embebido. Sistemas embebidos para tiempo real Test de software embebido Sistemas embebidos para tiempo real Objetivos Definir los principales conceptos de test. Identificar las diferencias de test en PC. Explicar los métodos de test embebido: en host

Más detalles

Lenguajes de Cuarta Generación

Lenguajes de Cuarta Generación Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia

Más detalles

Universidad Autónoma del Estado de México Facultad de Medicina

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005)

Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005) Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005) http://www.jorgesanchez.net email:info@jorgesanchez.net Esta obra está bajo una licencia de Reconocimiento-NoComercial-

Más detalles

Capitulo 3. Test Driven Development

Capitulo 3. Test Driven Development Capitulo 3. Test Driven Development 3.1 Uso de JUnit como framework para realizar pruebas unitarias Como ya se mencionó en el marco teórico Test Driven Development es una técnica de programación extrema

Más detalles

ESTRUCTURAS CICLICAS

ESTRUCTURAS CICLICAS ESTRUCTURA DE CONTENIDOS 1.ESTRUCTURAS CICLICAS 1.1. La Estructura Cíclica PARA. 1.2. La Estructura Cíclica MIENTRAS. 1.3. La Estructura Cíclica REPITA. 2. Armando el rompecabezas con estructuras de programación

Más detalles

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Código: S28 Duración: 25 horas En este curso, los estudiantes aprenderán a desarrollar aplicaciones ASP.NET MVC con avanzadas tecnologías y herramientas de.net Framework 4.5. Se centrará en la codificación

Más detalles

Curso Developing ASP.NET MVC 4 Web Applications (20486)

Curso Developing ASP.NET MVC 4 Web Applications (20486) Curso Developing ASP.NET MVC 4 Web Applications (20486) Programa de Estudio Curso Developing ASP.NET MVC 4 Web Applications (20486) Aprende a desarrollar aplicaciones avanzadas de ASP.NET MVC usando tecnologías

Más detalles