Artesanía de So-ware y Desarrollo Dirigido por Pruebas

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

Download "Artesanía de So-ware y Desarrollo Dirigido por Pruebas"

Transcripción

1 Artesanía de So-ware y Desarrollo Dirigido por Pruebas

2 QUÉ ES LA ARTESANÍA DE SOFTWARE

3 Manifiesto por la Artesanía de So-ware Como aspirantes a artesanos de so-ware, estamos elevando el nivel de desarrollo de so-ware profesional pracbcándolo y ayudando a otros a aprenderlo. A través de este trabajo hemos llegado a valorar: No sólo so-ware que funciona, No sólo responder al cambio, No sólo los individuos y las interacciones, No sólo la colaboración con los clientes, sino también el so-ware bien diseñado pero también agregar valor de forma sostenida sino también una comunidad de profesionales sino también de asociaciones producbvas Es decir, en la búsqueda de los elementos de la izquierda hemos encontrado que los elementos de la derecha son indispensables.

4 Qué es la Artesanía de So-ware? Es acerca de crear conciencia de lo que está mal con el actual estado de la prácbca. Es acerca de hacer el mejor trabajo posible. Comprometerse con nuestra profesión. SenBr orgullo del trabajo bien hecho. Mejorar conbnuamente nuestras habilidades. SaBsfacer a nuestros usuarios con so-ware de calidad.

5 Lo que la Artesanía de So-ware NO es Ingeniería de So-ware: La promesa implícita de la ingeniería de so-ware es que si Benes un proceso sistemábco y cuanbficado, cualquiera puede desarrollar so-ware exitosamente. - Pete McBreen

6 Lo que la Artesanía de So-ware NO ES No es solo acerca de Código Bonito. Darle la espalda a los aspectos de negocio y concentrarse SOLO en el lado técnico. Buscar salidas fáciles, aceite de víbora o balas de plata. Crear cerbficaciones arbficiales y un modelo de negocio a su alrededor.

7 DESARROLLO DIRIGIDO POR PRUEBAS (TDD)

8 Qué es TDD Test- first coding is not a tesbng technique Ward Cunningham

9 Qué es TDD? (cont.) Es tomar la responsabilidad de la calidad de nuestro código. Es entender el código que escribimos en todo momento, no solo suponer que entendemos. Es una habilidad y como tal, requiere prácbca para dominarse. Es una disciplina.

10 El valor de TDD

11 Tres Reglas (según Robert C. MarBn) No se permite escribir ningún código de producción sin tener una prueba que falle. No se permite escribir más de la prueba que lo necesario para fallar (y no compilar es fallar). No está permibdo escribir más código de producción que el necesario para pasar la prueba unitaria ACTUAL.

12 Paso a paso from unittest import main, TestCase class TestPrimeFactors(TestCase): def testprimesof0(self): self.assertequals([], factorsof[0]) if name == ' main ': main() E ====================================================================== ERROR: testprimesof0 ( main.testprimefactors) NameError: global name 'factorsof' is not defined Ran 1 test in 0.001s FAILED (errors=1)

13 Paso a paso... def factorsof(n): return [] Ran 1 test in 0.000s OK

14 Paso a paso... def testprimesof0to1(self): self.assertequals([], factorsof(0)) self.assertequals([], factorsof(1)) Ran 1 test in 0.000s OK

15 Paso a paso... def testprimesof2(self): self.assertequals([2], factorsof(2))....f ====================================================================== FAIL: testprimesof2 ( main.testprimefactors) AssertionError: Lists differ: [2]!= [] Ran 2 tests in 0.029s FAILED (failures=1)

16 Paso a paso... def factorsof(n): if n > 1: return [n] return [] Ran 2 test in 0.000s OK

17 Paso a paso... def testprimesof2to3(self): self.assertequals([2], factorsof(2)) self.assertequals([3], factorsof(3)) Ran 2 test in 0.000s OK

18 Paso a paso... def testprimesof2to4(self): self.assertequals([2], factorsof(2)) self.assertequals([3], factorsof(3)) self.assertequals([2,2], factorsof(4))....f ====================================================================== FAIL: testprimesof2to4 ( main.testprimefactors) AssertionError: Lists differ: [2, 2]!= [4] Ran 2 tests in 0.001s FAILED (failures=1)

19 Paso a paso... def factorsof(n): result, factor = [], 2 if n > 1: while n > 1: return [n] while n % factor == 0: result.append(factor) n /= factor factor += 1 return [] return result Ran 2 test in 0.000s OK

20 Aprendiendo TDD: Trampas Las pruebas se tornan di_ciles de escribir, por lo que senbmos una desaceleración importante. Corren lentamente, lo que nos volvemos renuentes a ejecutarlas frecuentemente. Son frágiles, por lo que cambios aparentemente sin importancia en el código provocan que un montón de pruebas fallen. Mantenerlas en forma y funcionando se vuelve complejo y consume Bempo.

21 Escribiendo pruebas unitarias efecbvas Las pruebas unitarias deben ser legibles, confiables y fáciles de mantener - Roy Osherove The Art of Unit TesBng

22 Escribiendo pruebas unitarias efecbvas: Legibilidad Mis pruebas son tan importantes como el código de producción. Aspirar a que mis pruebas se lean como una receta de cocina (patrón composed method). Si no es posible determinar lo que una prueba está haciendo, es probable que en realidad esté verificando múlbples cosas.

23 Escribiendo pruebas unitarias efecbvas: Confiabilidad Evita a toda cosa colocar lógica en el código de una prueba (if- then, switch/case, etc). Evita calcular el valor esperado DENTRO de la prueba. Evita comparbr estado entre pruebas. Usa inyección de dependencias.

24 Escribiendo pruebas unitarias efecbvas: Mantenibilidad Mantén simple el código de inicialización. Crea fixtures o incluso casos de prueba especializados para cada escenario. Si es necesario, convierte cada escenario en una clase de prueba individual. Si una parte del código es parbcularmente di_cil de probar, busca problemas en el diseño del mismo.

25 Escribiendo pruebas unitarias efecbvas: Rapidez Una prueba unitaria efecbva debería ejecutarse en milisegundos, NO EN SEGUNDOS. Si las pruebas no son rápidas, NO SE USARÁN. Mantén conjuntos pequeños y bien enfocados de pruebas, además de la suite global.

26 Aprendiendo TDD (revisado) Comienza con algo sencillo ( pero no te detengas ahí!) Escribe muchas pruebas (tantas como puedas). Familiarízate con el ritmo y las reglas de TDD. Cuando encuentres algo que no sabes como probar, apóyate en un compañero. Nunca dejes de aprender.

27 Bibliogra_a The Clean Coder de Robert C. MarBn. Test Driven Development: By Example de Kent Beck. The Art of Unit de Roy Osherove. Growing Object- Oriented SoIware, Guided by Tests de Steve Freeman y Nat Pryce. Agile Java: CraIing Code with Test- Driven Development de Jeff Langr. Diseño Ágil con TDD de Carlos Ble Jurado - >!Es grabs! hjp://www.dirigidoportests.com/el- libro

28 Blog: hjp://pensamientoobjebvo.blogspot.mx

Pruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005

Pruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005 Pruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005 JUnit es una herramienta para la realización de pruebas de unidad de software desarrollado con Java, que es una herramienta de software

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

@carlosble. Carlos Ble. Para CITIUS, Universidad de Santiago de Compostela 18 Febrero 2014

@carlosble. Carlos Ble. Para CITIUS, Universidad de Santiago de Compostela 18 Febrero 2014 Carlos Ble Para CITIUS, Universidad de Santiago de Compostela 18 Febrero 2014 Hoy hablaremos de... El vinagre, en la dieta mediterránea Era broma! Nos os vayáis! TDD y otras prácticas de XP Profesionalidad

Más detalles

Construcción y Pruebas de Software

Construcción y Pruebas de Software UNIVERSIDAD DE CARABOBO Facultad Experimental de Ciencias y Tecnología Departamento de Computación Construcción y Pruebas de Software Elaborado por: Gustavo Bazán Francisco Rosas Bárbula, Junio de 2012

Más detalles

PROGRAMA DE CURSO. Personal 6 10 3,5 0 6,5. Taller de Investigación Aplicada Resultados de Aprendizaje

PROGRAMA DE CURSO. Personal 6 10 3,5 0 6,5. Taller de Investigación Aplicada Resultados de Aprendizaje PROGRAMA DE CURSO Código Nombre CC6401 Taller de metodologías ágiles de desarrollo de Nombre en Inglés Workshop of Agile Software Development Methods SCT Unidades Horas de Horas Docencia Horas de Trabajo

Más detalles

Estudio de Test-Driven Development en el proceso de desarrollo de Software.

Estudio de Test-Driven Development en el proceso de desarrollo de Software. Estudio de Test-Driven Development en el proceso de desarrollo de Software. Ing. Pablo Andrés Vaca, Ing. Calixto Maldonado, Ing. Claudia Inchaurrondo, Ing. Juan Peretti, Ing. María Soledad Romero, Ing.

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

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

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

Pruebas unitarias. Que son las pruebas unitarias. Porque realizar pruebas unitarias

Pruebas unitarias. Que son las pruebas unitarias. Porque realizar pruebas unitarias Pruebas unitarias Marzo 2006 @autor: Jorge Rodriguez Probar código nunca tuvo tanta importancia en el ciclo de desarrollo de una aplicación hasta hace algunos años, donde se ha desatado una revolución

Más detalles

Refactoring: otra práctica de la Programación extrema

Refactoring: otra práctica de la Programación extrema Hackers & Developers Magazine Año 0, Número 6 31 Refactoring: otra práctica de la Programación extrema EXTREME PROGRAMMING En ediciones anteriores estuvimos hablando de TDD, sus beneficios y forma de implementarlo.

Más detalles

Manifiesto Ágil: Historia

Manifiesto Ágil: Historia Agile Manifesto and agile principles andmanifestoagile Nombre del Paper: agileprinciples. Fecha de publicación: Febrero 2001 Publicación: www.agilemanifesto.org Autores: ( XP ) 1.Kent Beck ( XP 2.Mike

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

Introducción a la Computación. Testing en Python. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 17/06/2014

Introducción a la Computación. Testing en Python. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 17/06/2014 Introducción a la Computación Testing en Python Maximiliano Geier Facultad de Ciencias Exactas y Naturales, UBA 17/06/2014 Maximiliano Geier (UBA) Clase 25: Testing en Python 17/06/2014 1 / 13 Qué era

Más detalles

Programación Extrema. Ing. Sebastian Priolo

Programación Extrema. Ing. Sebastian Priolo Programación Extrema Ing. Sebastian Priolo Metodologías Ágiles Menos orientadas a los documentos. Orientadas al código. El cambio es bienvenido. Procesos que cambian NO son predictivos Son adaptables Ejemplos

Más detalles

Técnicas Avanzadas de Testing Automático

Técnicas Avanzadas de Testing Automático Técnicas Avanzadas de Testing Automático Marcelo Frias ITBA - Buenos Aires, Argentina CONICET Preliminares: Calidad Validación y Verificación Especificaciones y V&V Análisis estático y dinámico Inspecciones

Más detalles

Emprendimientos tecnológicos con Agilidad y Lean Startup

Emprendimientos tecnológicos con Agilidad y Lean Startup Emprendimientos tecnológicos con Agilidad y Lean Startup Pablo Lischinsky @pablolis Agosto, 2014 Pablo Lischinsky www.evolucionagil.com @pablolis http://uy.linkedin.com/in/pablolischinsky lis.pablo@gmail.com

Más detalles

Lenguaje Java Avanzado

Lenguaje Java Avanzado Lenguaje Java Avanzado Sesión 4: Pruebas con JUnit 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a JUnit Implementación de las pruebas Ejecución de pruebas Pruebas con excepciones

Más detalles

MADS 1.2- Introducción a la asignatura. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ.

MADS 1.2- Introducción a la asignatura. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. MADS 1.2- Introducción a la asignatura Datos de la asignatura Grado en Ingeniería Informática (4º curso) Especialidad: Ingeniería del Software Ficha de la asignatura Departamento de Ciencia de la Computación

Más detalles

Pruebas de Unidad en BlueJ

Pruebas de Unidad en BlueJ Pruebas de Unidad en BlueJ Versión 1.0 para BlueJ versión 1.3.0 Michael Kölling Mærsk Institute University of Southern Denmark Traducido al español por Matías Avallone Instituto de Tecnología Ort Nº 2

Más detalles

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones.

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones. Refactorización Definición Refactorización (n) Cambio realizado a la estructura interna del software para hacerlo más fácil de comprender y más fácil de modificar sin cambiar su comportamiento observable.

Más detalles

Introducción a la asignatura MADS-1.0

Introducción a la asignatura MADS-1.0 Introducción a la asignatura MADS-1.0 Sesión 1 Datos de la asignatura Grado en Ingeniería Informática (4º curso) Especialidad: Ingeniería del Software Ficha de la asignatura Departamento de Ciencia de

Más detalles

Taller de Test Driven Development

Taller de Test Driven Development Taller de Test Driven Development Pablo Orduña (aka NcTrun) This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/

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

Carlos Fontela cfontela@fi.uba.ar

Carlos Fontela cfontela@fi.uba.ar Carlos Fontela cfontela@fi.uba.ar Vimos la estrategia de resolución de problemas usando objetos Pero no cómo implementar los propios objetos => Construcción de objetos 2 1c2016 Diseño por contrato y Test-First

Más detalles

JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES

JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES 1 Objetivo del caso JUnit 2 Poder utilizar JUnit para realizar

Más detalles

El Proceso de Pruebas de acuerdo a los estandares y la experiencia.

El Proceso de Pruebas de acuerdo a los estandares y la experiencia. El Proceso de Pruebas de acuerdo a los estandares y la experiencia. Logo@Copyright 1 Objetivos 1. Compartir conocimiento adquirido en distintos proyectos con la comunidad de Testing. 2. Generar un espacio

Más detalles

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE Facilidades de eclipse para el uso de ant y JUnit Tabla de contenidos 1. Qué es Eclipse?... 2 2. Crear un proyecto en Eclipse... 2 3. Utilizar Ant en nuestro proyecto

Más detalles

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR Ignacio.bayugar@mercadolibre.com, i id nachobayugar@gmail.com NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE El desarrollo ágil El nuevo rol de

Más detalles

Desarrollo de Software conducido por Pruebas

Desarrollo de Software conducido por Pruebas Desarrollo de Software conducido por Pruebas Test-Driven Development Aportes de: Agustín Goñi Microsoft Cono Sur Temario Testeo de aplicaciones Desarrollo conducido por las pruebas Impacto en el proceso

Más detalles

Test-Driven Development - Una aproximación para entender su utilidad en el proceso de desarrollo de Software.

Test-Driven Development - Una aproximación para entender su utilidad en el proceso de desarrollo de Software. Test-Driven Development - Una aproximación para entender su utilidad en el proceso de desarrollo de Software. Ing. Pablo Andrés Vaca, Ing. Calixto Maldonado, Ing. Claudia Inchaurrondo, Ing. Juan Peretti,

Más detalles

Estrategias de Automatización en el contexto de un Development Pipeline

Estrategias de Automatización en el contexto de un Development Pipeline Estrategias de Automatización en el contexto de un Development Pipeline Elementos de Una Estrategia de Automatización Definir los niveles de Tests Automatizados: Tests Unitarios. Tests de Integración.

Más detalles

Arquitecturas de Programación Avanzadas en NI LabVIEW

Arquitecturas de Programación Avanzadas en NI LabVIEW Arquitecturas de Programación Avanzadas en NI LabVIEW Arturo Gómez Ingeniero de Campo National Instruments Agenda de Hoy Máquina de Estados Interfaz de Usuario Basada en Eventos Productor/Consumidor Máquina

Más detalles

Testing. Tipos, Planificación y Ejecución de Pruebas

Testing. Tipos, Planificación y Ejecución de Pruebas Testing Tipos, Planificación y Ejecución de Pruebas Contenido Definiciones del Testing de Software Objetivos, conceptos Tipos de Test Testing a-la RUP Rol del Testing en el proceso Artefactos Trabajadores

Más detalles

Sistemas de Programas Universidad Simón Bolívar

Sistemas de Programas Universidad Simón Bolívar Pruebas en sistemas orientados a objetos Sistemas de Programas Universidad Simón Bolívar Agenda 2 Introducción Qué es probar software? Por qué necesitamos probar el software? Terminología de Pruebas Black

Más detalles

Mejor Framework PythonOO + SOLID. Vivir sin Frameworks

Mejor Framework PythonOO + SOLID. Vivir sin Frameworks Mejor Framework PythonOO + SOLID Vivir sin Frameworks Presentaciones Alea Soluciones Bifer Team @eferro @pasku1 @apa42 @nestorsalceda Un placer... Qué es un framework? Django Rails Grails Spring AppEngine

Más detalles

Receta general para resolver problemas de sincronización con semáforos

Receta general para resolver problemas de sincronización con semáforos Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que

Más detalles

Práctica 7. Pruebas. Introducir conceptos básicos de pruebas unitarias en sistemas orientados a objetos.

Práctica 7. Pruebas. Introducir conceptos básicos de pruebas unitarias en sistemas orientados a objetos. Objetivos Introducir conceptos básicos de pruebas unitarias en sistemas orientados a objetos. Material Necesario - Pruebas de caja negra con Junit. www.junit.org Viene integrado en Eclipse, pero al crear

Más detalles

Demo. TDD desde Cero. Acceptance Test Driven Development. www.iwt2.org formacion@iwt2.org

Demo. TDD desde Cero. Acceptance Test Driven Development. www.iwt2.org formacion@iwt2.org Demo TDD desde Cero Acceptance Test Driven Development www.iwt2.org formacion@iwt2.org Objetivos Objetivos Conocer cómo desarrollar un sistema software combinando pruebas de aceptación y TDD. Aprender

Más detalles

Scrum Manager Gestión de proyectos

Scrum Manager Gestión de proyectos Scrum Manager Gestión de proyectos INTRODUCCIÓN Caos Procesos Agilidad cc-by **Maurice** LICENCIA DE USO Este es un recurso educativo abierto (OER) del proyecto Scrum Manager Los contenidos OER de ScrumManager

Más detalles

Cómo Comprar Software de Calidad. Pablo Straub Consultor

Cómo Comprar Software de Calidad. Pablo Straub Consultor Cómo Comprar Software de Calidad Pablo Straub Consultor El Problema Testimonio de un comprador de software a medida Nos entregaron el sistema informático mucho después de la fecha original y nos costó

Más detalles

Serie Artículos sobre Gestión de IT y Calidad CALIDAD vs TESTING

Serie Artículos sobre Gestión de IT y Calidad CALIDAD vs TESTING Serie Artículos sobre Gestión de IT y CALIDAD vs TESTING - 1 - vs Testing Autor: Dr. Norberto Figuerola (PMP) Contador Público y Licenciado en Administración (U.B.A.) Master in Project Management (George

Más detalles

Pruebas unitarias en profundidad

Pruebas unitarias en profundidad Pruebas unitarias en profundidad Luis Alfonso Rey 9º Encuentro Danysoft en Microsoft Agenda Lo que ya sabemos Algunas cosas nuevas Despacito y buena letra Herencia de familia Lo que ya sabemos Qué es

Más detalles

Gestión de Equipos de Desarrollo. Max Déboli Director de Desarrollo Lagash MVP Azure mdeboli@lagash.com http://mdeboli.wordpress.

Gestión de Equipos de Desarrollo. Max Déboli Director de Desarrollo Lagash MVP Azure mdeboli@lagash.com http://mdeboli.wordpress. Gestión de Equipos de Desarrollo Max Déboli Director de Desarrollo Lagash MVP Azure mdeboli@lagash.com http://mdeboli.wordpress.com Contexto Metodologías agiles de desarrollo de Software y como las usamos

Más detalles

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CONCEPTOS DE PRUEBAS DE APLICACIÓN El departamento de Testing se encarga de diseñar, planear y aplicar el rol de pruebas a los sistemas que el PROVEEDOR

Más detalles

Configuración Sistema CLOUD / DVR Starligh

Configuración Sistema CLOUD / DVR Starligh Configuración Sistema CLOUD / DVR Starligh Esta tecnología nos permite visualizar la DVR remotamente sin la necesidad de abrir los puertos en el router y ni contratar un servicio de DNS como NO-IP y Dyndns.

Más detalles

Cómo piensan los que logran bajar de peso?

Cómo piensan los que logran bajar de peso? Cómo piensan los que logran bajar de peso? Qué pensaban ANTES Intentaban engañarse a sí mismos El monitoreo personal de lo que como no me ayudará a bajar de peso, hábitos alimenticios son lo suficientemente

Más detalles

Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación

Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación Liberando el sistema Ayudar a los usuarios a entender y usar el sistema Distintos tipos de usuarios Entrenamiento Documentación Solución de Problemas Conversión Instalación May-12 Ing. de Software Liberación

Más detalles

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS METODOLOGIAS AGILES PROCESO UNIFICADO AGIL (AUP) MATERIA : INGENIERIA SOFTWARE DOCENTE : LIC. ERVIN FLORES ESTUDIANTE : JORGE LUIS CORDERO

Más detalles

Porque hacemos Testing? BY: ALFREDO ALVAREZ

Porque hacemos Testing? BY: ALFREDO ALVAREZ Porque hacemos Testing? BY: ALFREDO ALVAREZ Base para nuestra conversación Cual es el trabajo de un tester? En el pasado-> Mantener la calidad y encontrar Bugs. En estos días-> Mantener el equipo al tanto

Más detalles

Metodologías Ágiles Desde una Perspectiva de Project Management. Fernando Contreras Velásquez Project Management & Engineering Services.

Metodologías Ágiles Desde una Perspectiva de Project Management. Fernando Contreras Velásquez Project Management & Engineering Services. Metodologías Ágiles Desde una Perspectiva de Project Management Fernando Contreras Velásquez Project Management & Engineering Services. Ing. Fernando Contreras Velásquez: PMP, PMI-SP, PMI-RMP Acerca del

Más detalles

Título: SOFTWARE Y COMPETENCIAS BÁSICAS

Título: SOFTWARE Y COMPETENCIAS BÁSICAS Título: SOFTWARE Y COMPETENCIAS BÁSICAS Me lo contaron y lo olvidé. Lo vi y lo entendí. Lo hice y lo aprendí. Confucio (551 a.c. 479 a.c.). Filósofo y sabio chino. Autor: Miguel Ángel Hernández Toledo

Más detalles

Efectividad del Test-Driven Development: Un experimento replicado

Efectividad del Test-Driven Development: Un experimento replicado Efectividad del Test-Driven Development: Un experimento replicado Oscar Dieste. Efraín Fonseca C. Geovanny Raura Priscila Rodríguez. Julio 4 y 5 de 2015 AGEN DA 1. Antecedentes 2. Trabajos relacionados

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Mensaje del director. Mtro. Diego Prieto Director Educación Corporativa

Mensaje del director. Mtro. Diego Prieto Director Educación Corporativa Mensaje del director La decisión de invertir en el desarrollo del capital humano dentro de tu organización va a ser una de las mejores inversiones a hacer en tu carrera profesional. EBC Educación Corporativa

Más detalles

Criterios de clasificación

Criterios de clasificación Criterios de clasificación Usualmente clasificamos para agrupar elementos con características comunes, simplificando la realidad y analizando un conjunto de elementos desde distintos puntos de vista. Sobre

Más detalles

Ingeniería Software. Verificación y Validación

Ingeniería Software. Verificación y Validación Ingeniería Software Ingeniería software 4º 4º de Físicas Verificación y Validación José M. Drake y Patricia López Computadores y Tiempo Real Ingeniería de Programación 2009 1 Ingeniería de Programación

Más detalles

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS USB Ing. De Software. Prof. I. C. Martínez Ing. De Software Ingeniería de Software La Ingeniería de Software es la ciencia

Más detalles

Paula Izaurralde. Especialista en Calidad en ARRIS Argentina. Ayudante en Metodologías Ágiles en el Desarrollo de Software

Paula Izaurralde. Especialista en Calidad en ARRIS Argentina. Ayudante en Metodologías Ágiles en el Desarrollo de Software Marcela Garay Moyano Test Manager en ARRIS Argentina. Paula Izaurralde Especialista en Calidad en ARRIS Argentina. Luciano Marzo Tester en ARRIS Argentina ISTQB Certified Tester. Docente en la Diplomatura

Más detalles

Herramientas automáticas y semiautomáticas que apoyan a la aplicación de los métodos.

Herramientas automáticas y semiautomáticas que apoyan a la aplicación de los métodos. Unidad I Introducción a la ingeniería del software y sistemas de información Las economías de todos las paises son cada vez más y más dependientes del Software Importancia del Software 10 Cada vez más

Más detalles

Scrum. Helder Marques

Scrum. Helder Marques Scrum Helder Marques Gerencia de proyectos Es como el helado; viene en varios sabores ( Y muchas veces engorda ) Gerencia de proyectos Gerencia de proyectos Gerencia de proyectos Un poco de historia...

Más detalles

Técnicas Avanzadas de Testing Automatizado

Técnicas Avanzadas de Testing Automatizado Técnicas Avanzadas de Testing Automatizado Introducción: Testing ad hoc Testing sistemático Testing unitario Unidad y Suite de tests Frameworks xunit Fixtures compartidos e independecia Tests parametrizados

Más detalles

Planificación y Alineamiento Estratégico basado en las metodologías del Balanced Scorecard & Gestión por Procesos

Planificación y Alineamiento Estratégico basado en las metodologías del Balanced Scorecard & Gestión por Procesos Planificación y Alineamiento Estratégico basado en las metodologías del Balanced Scorecard & Gestión por Procesos Según la revista FORTUNE, Sólo 1 de cada 10 planes estratégicos diseñados en el Mundo se

Más detalles

Gestión de calidad en el software. Calidad en el Desarrollo de Software. Spoilage. Spoilage

Gestión de calidad en el software. Calidad en el Desarrollo de Software. Spoilage. Spoilage Gestión de calidad en el software Calidad de software Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre 2007 primer problema: los errores se aceptan. Esto

Más detalles

Cómo acortar el ciclo de venta y aumentar el cierre de oportunidades.

Cómo acortar el ciclo de venta y aumentar el cierre de oportunidades. Cómo acortar el ciclo de venta y aumentar el cierre de oportunidades. Una introducción a los procesos para grandes ventas Por Jorge Zamora E. En esta guía aprenderá qué son las grandes ventas, sus características

Más detalles

Introducción a las Pruebas de Software

Introducción a las Pruebas de Software Introducción a las Pruebas de Software Contenido Contenido El ciclo de vida de la Calidad. Conceptos Generales de Pruebas. Proceso de Pruebas de So7ware. Obje;vos de las Pruebas de So7ware. Beneficios

Más detalles

DESARROLLO DE SOFTWARE DE CALIDAD: EXTREME PROGRAMMING Y HERRAMIENTAS OPENSOURCE. Mª Carmen Bartolomé. mcbartolome@qualityobjects.

DESARROLLO DE SOFTWARE DE CALIDAD: EXTREME PROGRAMMING Y HERRAMIENTAS OPENSOURCE. Mª Carmen Bartolomé. mcbartolome@qualityobjects. DESARROLLO DE SOFTWARE DE CALIDAD: EXTREME PROGRAMMING Y HERRAMIENTAS OPENSOURCE Mª Carmen Bartolomé mcbartolome@qualityobjects.com Índice Introducción a extreme Programming (XP) Herramientas OpenSource

Más detalles

Estado del arte y tendencias en. Test-Driven Development

Estado del arte y tendencias en. Test-Driven Development Universidad Nacional de La Plata Facultad de Informática Trabajo Final Integrador de la Especialización en Ingeniería de Software Estado del arte y tendencias en Test-Driven Development Autor: Moisés Carlos

Más detalles

Datos de la materia. Clave de la materia: Liga al programa de la asignatura:

Datos de la materia. Clave de la materia: Liga al programa de la asignatura: Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México Escuela de Diseño, Ingeniería y Arquitectura Departamento de Tecnologías de Información y Computación Datos de la materia

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Operadores y Expresiones PRÁCTICA NÚM. [ 3 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

1.3 - Desarrollo Lean

1.3 - Desarrollo Lean 1.3 - Desarrollo Lean Tema 1: Fundamentos de las metodologías ágiles En qué se parece la fabricación de un producto y el desarollo de software? Fabricación de un producto Entradas: materias primas y componentes

Más detalles

ESPECIALIZACIÓN EN INGENIERÍA DE LA CALIDAD

ESPECIALIZACIÓN EN INGENIERÍA DE LA CALIDAD ESPECIALIZACIÓN EN INGENIERÍA DE LA CALIDAD Código SNIES: 53920 Una de las mejores universidades del país, reconocida por el Ministerio de Educación Nacional Marca la diferencia en procesos de mejora de

Más detalles

Porqué somos un TALLER de Arquitectura?

Porqué somos un TALLER de Arquitectura? Porqué somos un TALLER de Arquitectura? Por nuestra manera de pensar y trabajar en nuestra pasión, la arquitectura, queremos distanciarnos de la forma tradicional en la que se comprende un Estudio de Arquitectura.

Más detalles

Flex a la rápida. José Ignacio Medina

Flex a la rápida. José Ignacio Medina Flex a la rápida José Ignacio Medina Octubre, 2008 Este documento se distribuye bajo una licencia Creative Commons bync-sa 2.0. Usted es libre de copiar, distribuir, comunicar y ejecutar públicamente este

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Ingeniería del Software I

Ingeniería del Software I Ingeniería del Software I 1er. Cuatrimestre 2002 Martina Marré martina@dc.uba.ar Organización 3 tipos de clase: teórica, práctica, taller 3 grupos de docentes un cronograma material en la WEB 2002 2 Aprobación

Más detalles

Temario.» Problema Proceso Charla Inicial Definición stories y sprints Ecosistema Desarrollo Comunicación

Temario.» Problema Proceso Charla Inicial Definición stories y sprints Ecosistema Desarrollo Comunicación Temario» Problema Proceso Charla Inicial Definición stories y sprints Ecosistema Desarrollo Comunicación Problema Clásico Cómo encararían un proyecto clásico: Asumimos que ya esta vendido y la plata no

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Tutorial Servicios Web

Tutorial Servicios Web Tutorial Servicios Web 1. Servicios Web con REST Como ya hemos usado SOAP para WebService, podemos afirmar que es bien fácil de diseñar, pero algo complicado de consumir: se necesita toda una API para

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Agradecimiento: A Javier Lomelín Urrea por su dedicación y esmero en este proyecto. Manuel Fernando Guzmán Muñoz Presidente OMIJal

Agradecimiento: A Javier Lomelín Urrea por su dedicación y esmero en este proyecto. Manuel Fernando Guzmán Muñoz Presidente OMIJal Karel para todos! 1 Estás interesado en aprender a programar en lenguaje de Karel? Te interesa la Olimpiada Mexicana de Informática? Esta es tu oportunidad de unirte al equipo OMI y ser parte de la mejor

Más detalles

Nombre de la sesión: Intelisis Business Intelligence segunda parte

Nombre de la sesión: Intelisis Business Intelligence segunda parte Paquetería contable 1 Sesión No. 8 Nombre de la sesión: Intelisis Business Intelligence segunda parte Contextualización: Con el crecimiento de un sinnúmero de proyectos en las empresas, se ha generado

Más detalles

4. EVALUACIÓN DEL PROGRAMA DE CAPACITACIÓN

4. EVALUACIÓN DEL PROGRAMA DE CAPACITACIÓN 4. EVALUACIÓN DEL PROGRAMA DE CAPACITACIÓN La etapa final del proceso de capacitación es la evaluación de los resultados obtenidos, mediante este proceso se puede responder a las siguientes preguntas:

Más detalles

ESTUDIO COMPARATIVO DE METODOLOGÍAS DE DESARROLLO DE SOFTWARE ORIENTADAS A LA CALIDAD INTRÍNSECA

ESTUDIO COMPARATIVO DE METODOLOGÍAS DE DESARROLLO DE SOFTWARE ORIENTADAS A LA CALIDAD INTRÍNSECA UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN ESTUDIO COMPARATIVO DE METODOLOGÍAS DE DESARROLLO DE SOFTWARE ORIENTADAS A LA CALIDAD INTRÍNSECA

Más detalles

Lenguaje Ruby y su entorno

Lenguaje Ruby y su entorno Lenguaje Ruby y su entorno Curso de Ruby IV: Rspec Pedro Navajas Modelo Laboratorio de Software Libre Escuela Politécnica Superior Universidad de Córdoba 24 de Marzo de 2011 Pedro Navajas Modelo (UCO)

Más detalles

Checklist para Scrum Masters

Checklist para Scrum Masters Fuente original : Michael James (mj4scrum@gmail.com). http://www.colabpro.com 14 September 2007 (Revised 24 July 2012) Traducción : José Vázquez Sánchez. (a113779@gmail.com) http://www.gestiondeproyectosit.es

Más detalles

capacitación y guía para el desarrollo de software Pruebas de Software Pruebas de Software 1

capacitación y guía para el desarrollo de software Pruebas de Software Pruebas de Software 1 Pruebas de Software Pruebas de Software 1 PRUEBAS DE SOFTWARE... 3 INTRODUCCIÓN... 3 Definiciones [1]... 3 Filosofía y Economía... 4 Justificación... 4 PRINCIPIOS [1]... 7 NIVELES DE PRUEBAS... 8 TIPOS

Más detalles

Tras el desarrollo de la aplicación se evidenció las ventajas que provee TDD tales como:

Tras el desarrollo de la aplicación se evidenció las ventajas que provee TDD tales como: DESARROLLO DIRIGIDO POR TEST (TDD) UTILIZANDO EL FRAMEWORK JUNIT EN UN SISTEMA WEB DE ASIGNACIÓN DE AULAS DE LOS LABORATORIOS GENERALES DE COMPUTACIÓN DE LA ESPE, APLICANDO LA METODOLOGÍA AGILE UNIFIED

Más detalles

Clase 11. Análisis dinámico, 2ª parte.

Clase 11. Análisis dinámico, 2ª parte. Clase 11. Análisis dinámico, 2ª parte. Continuamos con el mismo tema de la clase anterior, pero esta vez nos ocuparemos principalmente de la fase de prueba. Nos detendremos brevemente en algunas de las

Más detalles

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com TUTORIAL DE PHP M. en C. Erika Vilches Parte 2 http://www.erikavilches.com Enunciados Condicionales Inicia con la palabra clave if seguida de una condición entre paréntesis $number = 5; if ($number < 10)

Más detalles

Jython: Mezclando Java y Python

Jython: Mezclando Java y Python Jython: Mezclando Java y Python Autor: Bio: Web: Email: Twitter: Identi.ca: Facebook: Milton Labanda Ingeniero en Informática (Universidad Técnica Particular de Loja), Master de Software Libre (Universitat

Más detalles

(volver a Tabla de Contenidos)

(volver a Tabla de Contenidos) Para escribir, compilar y ejecutar un programa en Java lo único que realmente se necesita y no viene incluido con el sistema operativo es el kit de desarrollo de Java, denominado SDK (Software Development

Más detalles

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Agenda Objetivo. Unidades de aprendizaje. Formas de evaluación. Bibliografía. 2 Datos del profesor Correo electrónico: egonzalez@upemor.edu.mx Asesorías Jueves de 11:00 a 13:00

Más detalles

Tema 5. Gestión de Proyectos (ISG3)

Tema 5. Gestión de Proyectos (ISG3) Tema 5. Gestión de Proyectos (ISG3) Antonio José Sáenz Albanés (C.T.O) Reconocimiento No Comercial Compartir Igual - 2.5 - España 1 Planificación 1ª Clase: Presentación y Conceptos Generales 2ª Clase:

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

Video 2: Cómo Crear una plantilla para Generar Procedimientos Almacenados

Video 2: Cómo Crear una plantilla para Generar Procedimientos Almacenados Video 2: Cómo Crear una plantilla para Generar Procedimientos Almacenados A continuación se detallará paso a paso el proceso para generar Procedimientos Almacenados (SQL Stored Procedures) con Amonsys

Más detalles

Tema 3. Test Driven Development

Tema 3. Test Driven Development Tema 3. Test Driven Development Ejercicios Resueltos Ejercicio 01. Desarrolle mediante TDD una implementación del algoritmo de la Criba de Eratóstenes para calcular la lista de los números primos desde

Más detalles

Mejora Ágil de Procesos

Mejora Ágil de Procesos Mejora Ágil de Procesos Introducción Después de haber implementado por muchos años modelos de mejora, de dirección de proyectos y diferentes marcos ágiles, llegué a la conclusión de que el camino hacia

Más detalles

Lenguaje de Programación: Go

Lenguaje de Programación: Go Centro de Investigación y de Estudios Avanzados del I.P.N 9 de Noviembre de 2011 Go Es un lenguaje de programación de propósito general que es promovido por: Rob Pike, Robert Griesemer, Ken Thompson, Russ

Más detalles

Innovación y trabajo en equipo

Innovación y trabajo en equipo Innovación y trabajo en equipo Quiénes somos? Somos una empresa de desarrollo de soluciones de software nacida en Colombia a comienzos del año 2013. Sus socios fundadores, con una larga trayectoria internacional

Más detalles