Desarrollo de Software conducido por Pruebas
|
|
- José Francisco Cárdenas Vázquez
- hace 8 años
- Vistas:
Transcripción
1 Desarrollo de Software conducido por Pruebas Test-Driven Development Aportes de: Agustín Goñi Microsoft Cono Sur
2 Temario Testeo de aplicaciones Desarrollo conducido por las pruebas Impacto en el proceso de desarrollo Herramientas para TDD Buenas prácticas y recomendaciones
3 Desarrollo conducido por pruebas Procesos de desarrollo tradicionales Etapas de análisis, diseño, implementación y testeo claramente separadas. Asumen un diseño correcto al primer intento. Se espera a tener el componente o pieza de software implementado para hacer pruebas. Fallas en la etapa de testing significan tener que rehacer muchas trabajo. Alto costo e impacto.
4 Desarrollo conducido por la prueba Procesos de espiral Se construye por iteración. Las etapas están separadas dentro de cada iteración, pero no en el proyecto completo. Se reduce el riesgo de detectar tardíamente errores de muy alto costo. A pesar de todo es necesario construir antes de comenzar el testing.
5 Inconvenientes y problemas Degradación del diseño Las pruebas se dejan para el final. Los errores pequeños no son detectados a tiempo y se propagan. Los errores del componente se arreglan extraoficialmente. El diseño no corresponde a la realidad; es el código el que manda.
6 Temario Testeo de aplicaciones Desarrollo conducido por las pruebas Impacto en el proceso de desarrollo Herramientas para TDD Buenas prácticas y recomendaciones
7 Desarrollo conducido por la prueba Qué es el desarrollo conducido por la prueba? Una técnica para la construcción de software que consiste en producir pruebas unitarias automáticas antes de escribir el código. Proviene de la filosofía de Extreme Programming, buscando un proceso de desarrollo más ágil.
8 Desarrollo conducido por la prueba Por qué antes? Es una forma de prevenir defectos. Permite analizarlos y contenerlos antes que se introduzcan en el código. Busca detectar los errores antes en vez de arreglarlos después.
9 Desarrollo conducido por la prueba Cómo funciona? Esquema Red/Green/Refactor 1. El desarrollador escribe tests unitarios para el componente que está por construir. 2. Compila (lo cual debería fallar: no se ha implementado) 3. Escribe código sólo para que compile. 4. Corre el test (lo cual debería fallar). 5. Arregla el código para que pase el test. 6. Corre el test y ve que pasa OK. 7. Hace refactoring del código para eliminar la duplicación y hacerlo más legible y mantenible 8. Vuelve a repetir.
10 Desarrollo conducido por la prueba Cómo se realiza la prueba unitaria? Los desarrolladores ejecutan el código para verificar que cumple los requisitos del diseño. Si se encuentran defectos se hace debug. Estas actividades se alternan con la codificación. Muchas veces se agrega código de prueba para ejecutar el componente.
11 Desarrollo conducido por la prueba Código de prueba A veces luego de terminado el desarrollo, se descarta el código de prueba. A veces se guarda, pero mezclado con el código de producción (ej. en un método de prueba). Como la prueba unitaria es responsabilidad del desarrollador, en general no se define un estándar para ordenar el código de prueba.
12 Desarrollo conducido por la prueba Porque es un conductor del desarrollo? El conjunto de prueba define una especificación programática del componente. Hacerlo antes del desarrollo permite tener un criterio de satisfacción de los requisitos de diseño. Es una guía de lo que se debe implementar. Más importante, es un mecanismo que permite al diseño evolucionar. Se postergan las decisiones hasta tener información más completa.
13 Desarrollo conducido por la prueba Proceso simple El desarrollador hace la prueba con las mismas herramientas que usa y en el mismo lenguaje de programación. Ordena prácticas que ya están presentes y ayuda a darle foco a la prueba.
14 Temario Testeo de aplicaciones Desarrollo conducido por las pruebas Impacto en el proceso de desarrollo Herramientas para TDD Buenas prácticas y recomendaciones
15 Impacto en el proceso de desarrollo El desarrollo conducido por la prueba afecta varias áreas del desarrollo: Prevención de defectos. Mantenimiento. Diseño simple. Confianza del desarrollador. Documentación. Trabajo en equipo.
16 Impacto en el proceso de desarrollo Prevención de defectos Es el impacto directo de la técnica. Se produce código con menos defectos, se previenen y corrigen muy temprano. El conjunto de casos de prueba unitaria hace que el software sea auto-verificable.
17 Impacto en el proceso de desarrollo Mantenimiento Repetir las pruebas muchas veces es fácil, agiliza el ciclo de desarrollo y el mantenimiento. Cuando tenemos que realizar un cambio es menos riesgoso romper algo. Contamos con una especificación programática del comportamiento.
18 Impacto en el proceso de desarrollo Diseño simple Guía al desarrollador a un diseño simple. Generalmente un diseño fácil de probar es un buen diseño. Conduce a una interfaz simple y evita el acoplamiento. Al implementar la interfaz se hace lo mínimo necesario para satisfacer el test.
19 Impacto en el proceso de desarrollo Confianza del desarrollador El método incentiva los incrementos pequeños fácilmente verificables. Se puede hacer una modificación y saber inmediatamente si todo sigue funcionando. Refactoring del código con muy poco peligro de romper algo.
20 Impacto en el proceso de desarrollo Documentación Los casos de prueba constituyen una documentación muy completa del comportamiento del componente.
21 Impacto en el proceso de desarrollo Trabajo en equipo Relacionado con las prácticas de XP La facilidad de cambiar la funcionalidad se traslada fácilmente a todos los miembros. Lo importante es que se cumplan las pruebas sin importar quien modifique el componente. No hay propietarios.
22 Temario Testeo de aplicaciones Desarrollo conducido por las pruebas Impacto en el proceso de desarrollo Herramientas para TDD Buenas prácticas y recomendaciones
23 Herramientas para TDD Para poner todo esto en práctica necesitamos una herramienta que permita: Definir tests unitarios. Ejecutarlos de manera automática. Mantenerlos independientes del código de la aplicación. Hacer cambios y volver a correr los tests de manera transparente. Proveer una interfaz de usuario clara e informativa.
24 Herramientas para TDD Se han desarrollado varias opciones: Originalmente el framework XUnit para C/C++ sobre Unix. JUnit para Java basado en ese framework, creado por Erich Gamma y Kent Beck Nunit, MbUnit para.net. Varios otros para lenguajes/ambientes específicos. Algunas herramientas de desarrollo lo están incorporando en la IDE.
25 Herramienta NUnit Definiendo NUnit Cumple con las condiciones que se busca en una herramienta de TDD. Es un conjunto de clases (framework) que se extienden por herencia. Es una herramienta de diseño muy simple. Las pruebas se pueden codificar en cualquier lenguaje.net.
26 Herramienta NUnit Radiografía de un caso de prueba: Estímulo Respuesta Evaluación Ejemplo (C#) [Test] public void PushOne() { stack.push( first element ); Assert.IsFalse(stack.IsEmpty); }
27 Herramienta NUnit Ejecución utilizando TestRunners
28 Herramienta NUnit Atributos en NUnit 2.x A partir de la versión 2 se utilizan atributos. Nos permiten atribuir características al código, en un nivel de abstracción diferente al de la funcionalidad.
29 Herramienta NUnit Ejemplo de atributos en NUnit <Test()> Define un método de prueba <TestFixture()> Define una clase que contiene métodos de prueba <ExpectedException(Excepcion)> Cuando el resultado esperado es una excepción <Ignore( Mensaje )> No se corre la prueba, pero da una alerta amarilla. <SetUp()> Método de inicialización del fixture <TearDown()> Método de finalización
30 Demo NUnit y VisualStudio.NET
31 Definición n de Stack Estructura de datos que almacena información en forma LIFO. Operaciones: Push Pop Top IsEmpty Push Top Pop IsEmpty?
32 Tests para un Stack 1. Crear un Stack y ver que IsEmpty() es true. 2. Push un único elemento y verificar que IsEmpty() es false. 3. Push un único elemento, luego Pop, y verificar que IsEmpty() es true. 4. Push un único objeto, recordándolo, luego Pop y verificar que ambos son iguales. 5. Push tres objetos, recordándolos y luego Pop, uno por uno, verificando su igualdad y orden correcto. 6. Pop un Stack sin elementos. 7. Push un único elemento, usar Top y verificar IsEmpty es false. 8. Push un elemento, recordándolo y luego usar Top y verificar que es el mismo elemento. 9. Llamar a Top con un Stack vacío.
33 Conclusiones How much of the intended code (Stack) is covered by one or more tests? 100% Coverage How much code was implemented in Stack.cs that didn t serve for the required functionality? None (Implement only what is needed) How certain are we that the code works? 100% If we need to change Stack s implementation to use (for example) a linked list, would it be easy to ensure we don t break current version? Yes! If someone new needs to find out what the implemented class is intended to do, how can he/she learn? Read unit tests. They serve as formal documentation. (Therefore, store Unit Tests with the official code)
34 Extensiones de NUnit Existen extensiones de la herramienta, orientados a ciertos modelos de aplicación Estas herramienta facilitan las pruebas específicas, permitiendo un mayor nivel de abstracción. Ejemplo: Win Forms, ASP, XML, etc.
35 Extensiones de NUnit NUnitASP y NUnitForms Periten realizar pruebas funcionales que ejecutan acciones sobre la GUI. Proveen de clases helper para Ubicar controles en el form Analizar el contenido Disparar eventos.
36 Extensiones de NUnit Ejemplo NUnitForms (C#) Form form = new Form(); form.show(); ControlTester button = new ControlTester( nombreboton"); button.fireevent("click"); ControlTester textbox = new ControlTester( nombretxtbox"); textbox[ texto"] = texto"; Assertion.AssertEquals("defaultText", textbox[ texto"];
37 Extensiones de NUnit Ejemplo NUnitASP (C#) LabelTester label = new LabelTester( label", WebForm); LinkButtonTester link = new LinkButtonTester("linkBtn", WebForm); Browser.GetPage(" // Probar objetos de la página link.click(); AssertEquals( un click", label.text);
38 Visual Studio 2005
39 Visual Studio Team System Process and Architecture Guidance Visual Studio Team Architect Application Modeling Logical Infra. Modeling Deployment Modeling Class Modeling Visio and UML Modeling Visual Studio Team Developer Dynamic Code Analyzer Static Code Analyzer Code Profiler Team Foundation Client Visual Studio Professional Edition Unit Testing Code Coverage Visual Studio Team Test Load Testing Manual Testing Test Case Management Visual Studio Industry Partners Visual Studio Team Foundation Change Management Work Item Tracking Reporting Project Site Integration Services Project Management
40 Temario Testeo de aplicaciones Desarrollo conducido por las pruebas Impacto en el proceso de desarrollo Herramientas para TDD Buenas prácticas y recomendaciones
41 Buenas prácticas y recomendaciones Recomendaciones prácticas Pensar en todos los casos de prueba necesarios; abordarlos uno a uno. Mantener los casos de prueba simples No confiar en un orden particular de ejecución No dejar efectos laterales luego de la prueba Si se encuentra un defecto, agregar el caso que lo muestra primero, luego corregir
42 Buenas prácticas y recomendaciones Se puede escribir la prueba después o por un equipo independiente? Lo podría hacer un equipo independiente, pero se pierde el feedback de las pruebas. Se puede codificar la prueba luego de terminado el componente pero no se obtienen los mismos beneficios. No sirve como prevención, ni como análisis del problema.
43 Buenas prácticas y recomendaciones Automatización No intentar automatizar todo el proceso de prueba, puede no ser viable ni práctico. La prueba debe ser estratégica en la búsqueda de defectos. Utilizar distintos niveles y técnicas, los defectos son evasivos.
44 Buenas prácticas y recomendaciones Prueba funcional vs. TDD Se ejecuta el software con el objetivo de encontrar defectos, con la perspectiva del usuario. Prueba el sistema o divisiones funcionales como los casos de uso, a través de la IU. Puede ser costosa de automatizar. La prueba funcional sigue siendo necesaria y es una actividad complementaria al desarrollo conducido por la prueba.
45 Resumen
46 Resumen TDD es una técnica para desarrollar basado en las pruebas. TDD puede mejorar significativamente el proceso de desarrollo. Existen herramientas que permiten llevarlo a cabo en forma automática.
47 Referencias James Newkirk; Test Driven Development in Microsoft.NET Kent Beck; Test Driven Development, by example Will Stott, James Newkirk; Test-Driven C#, Improve the Design and Flexibility of Your Project with Extreme Programming Techniques ng Visual Studio 2005 Team System Herramientas Noticias, recursos
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 detallesPruebas 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 detallesBienvenidos a la presentación, producción de informes y depuración (debugging). En esta unidad discutiremos la producción de informes utilizando la
Bienvenidos a la presentación, producción de informes y depuración (debugging). En esta unidad discutiremos la producción de informes utilizando la tecnología.net y la aplicación de técnicas de depuración
Más detallesPrá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 detallesPruebas 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 detallesOrígenes y descripción de la Automatización 'Inteligente'
Orígenes y descripción de la Automatización 'Inteligente' Orígenes La automatización, como hoy la propone Agile, nace del concepto Jidoka; también llamado: Autonomation. Automation with a human touch.
Más detallesVisual Studio Team System 2010
Visual Studio Team System 2010 5. Pruebas Automatizadas con Visual Studio 6. Pruebas codificadas de interfaz de usuario 7. Pruebas Web de desempeño Identificación de candidatos para la automatización Visual
Más detallesTema 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 detallesIngeniería de Software
Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6
Más detallesXP- 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 detallesARQUITECTURA DE DISTRIBUCIÓN DE DATOS
4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia
Más detalles1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).
1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada
Más detallesPruebas 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 detallesIntroducción al Proceso de Pruebas.
Introducción al Proceso de Pruebas. Javier Gutiérrez / javierj@us.es Introducción al proceso de pruebas Objetivo: repasar las ideas principales sobre las pruebas del software y, en concreto, las que usaremos
Más detalles4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005
4994 Introduction to Programming Microsoft.NET Framework Applications with Microsoft Visual Studio 2005 Introducción Este curso de cinco días impartido por instructor permite a desarrolladores de nivel
Más detallesIniciar flujo a partir de un archivo XML
How to Iniciar flujo a partir de un archivo XML Versión: 2.0 Fecha de publicación 30-03-2011 Aplica a: Q-flow 3.0y Q-flow 3.1 Índice Introducción... 3 Pre-requisitos... 3 Componentes de la solución...
Más detallesArtesanía de So-ware y Desarrollo Dirigido por Pruebas
Artesanía de So-ware y Desarrollo Dirigido por Pruebas QUÉ ES LA ARTESANÍA DE SOFTWARE Manifiesto por la Artesanía de So-ware Como aspirantes a artesanos de so-ware, estamos elevando el nivel de desarrollo
Más detallesPRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE
PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,
Más detallesProceso Unificado de Rational
RUP: El Proceso Unificado de Rational XP: Programacion Extrema EAP: Computación Científica Ciencia de la Computación V Prof. Oscar Brnito Pacheco Proceso Unificado de Rational Orígenes Modelo original
Más detallesClase Práctica Nº 1 ED 2015
Clase Práctica Nº 1 ED 2015 Introducción La creación de una solución de software tiene varias etapas, por ejemplo: Diseño Implementación Testeo Y para cada etapa existen herramientas que nos ayudan. Introducción
Más detallesTesting. 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 detallesNUEVAS 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 detallesAlgunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos
Algunas Herramientas de Apoyo al Análisis y Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos Resumen Para desarrollar software hay varias herramientas de gran utilidad
Más detallesSistemas 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 detallesTé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 detallesPlanificación en Team Foundation Server 2010
Planificación en Team Foundation Server 2010 Planificación y Seguimientos en Proyectos Agile con Microsoft Visual Studio Team Foundation Server 2010 Dirigido a: Todos los roles implicados en un proyecto
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesAdministración de Proyectos de Software - PMI. Tema: Gestión de la Calidad del Proyecto. Autor: Mario Hernández
Administración de Proyectos de Software - PMI Tema: Gestión de la Calidad del Proyecto Autor: Mario Hernández Procesos ligados a la Gestión de la Calidad del Proyecto La gestión de la calidad del proyecto
Más detallesIntroducció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 detallesWorkflow, BPM y Java Resumen de la presentación de Tom Baeyens
Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Página 1 de 11 1. Introducción Tom Baeyens es el fundador y arquitecto del proyecto de JBoss jbpm, la máquina de workflow
Más detallesPlan de estudios ISTQB: Nivel Fundamentos
Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE
Más detallesMejor 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 detallesVolumen TECNOLOGÍA DE ADMINISTRACIÓN EMPRESARIAL SIMI EVOLUTION (9.0) Guía de usuario
Volumen 1 TECNOLOGÍA DE ADMINISTRACIÓN EMPRESARIAL SIMI EVOLUTION (9.0) Guía de usuario SISTEMA INTEGRADO DE MANEJO INMOBILIARIO Guía administración módulo CALLCENTER Tecnología de Administración Empresarial
Más detallesGestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari
Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari 1 Temario Definiciones Problemas del cambio Elementos de la configuración Actividades de SCM Identificación
Más detallesBaires. Design - Test - Automate
SERVICIOS DE CONTROL DE CALIDAD Y TESTING DE SOFTWARE Áreas con falta de Calidad y Testing La falta de control de calidad orgánico en una empresa tiene impactos que van más allá de la aparición de errores
Más detallesWINDOWS 2008 7: COPIAS DE SEGURIDAD
1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden
Más detallesExtreme 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 detallesE 2.4.1 Documento de entrega de Aplicación
E 2.4.1 Documento de entrega de Aplicación Versión: 0.1 Fecha: 11/08/11 Autor: Email: Antoni Bertran Bellido abertran@opentrends.net Historial de cambios Versión Fecha Autor Cambios 0.1 11/08/11 Antoni
Más detallesPráctica 00: Compilador
Práctica 00: Compilador El objetivo de esta práctica es aprender a utilizar el compilador y el entorno de desarrollo instalado en las aulas de la Escuela Técnica Superior de Ingeniería ICAI. 1. Compiladores
Más detallesModulo 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 detallesCiclo de vida y Metodologías para el desarrollo de SW Definición de la metodología
Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto
Más detallesGestió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 detallesPruebas de Compatibilidad de Aplicaciones con SQL Server 2008
Pruebas de Compatibilidad de Aplicaciones con SQL Server 2008 Instrucciones Generales El objetivo de esta iniciativa es determinar si sus aplicaciones ejecutan apropiadamente en SQL Server 2008 y apoyar
Más detallesAutomatizació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 detallesPropiedad Colectiva del Código y Estándares de Codificación.
Propiedad Colectiva del Código y Estándares de Codificación. Carlos R. Becerra Castro. Ing. Civil Informática UTFSM. Introducción. n. En este trabajo se presentan específicamente dos prácticas de XP: Collective
Más detallesHoy terminamos caja blanca
Hoy terminamos caja blanca Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Caja Blanca/Otros enfoques Blanca A. Vargas Govea vargasgovea@itesm.mx Marzo 22, 2013 Contenido Pruebas
Más detallesEl modelo de ciclo de vida cascada, captura algunos principios básicos:
Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",
Más detallesPruebas 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 detallesSOLUCION PARCIAL TASK SCHEDULER. Task Scheduler
Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,
Más detallesCapacitación Rational Funcional Tester
Capacitación Rational Funcional Tester Clínica Alemana Santiago, 28 de abril de 2009 Introducción La presente exposición es sobre las principales características de Rational Functional Tester Describiendo
Más detallesIV. Implantación del sistema.
IV. Implantación del sistema. Para hablar sobre el proceso de desarrollo del sistema de Recuperación de Información Visual propuesto, empezaremos hablando del hardware utilizado, las herramientas de software
Más detallesINGENIERÍA DEL SOFTWARE
INGENIERÍA DEL SOFTWARE Sesión No. 2 Nombre: Procesos de ingeniería del software INGENIERÍA DEL SOFTWARE 1 Contextualización La ingeniería de software actualmente es muy importante, pues con los avances
Más detallesENTORNO DE DESARROLLO MICROSOFT.NET 2010
ENTORNO DE DESARROLLO MICROSOFT.NET 2010 UNIDAD 2 Estructura de contenidos: 1. Conociendo ASP 2. Sitio Web y Proyecto Web 3. WebForm 4. Características de los webforms 5. Entorno del.net 6. Controles básicos
Más detallesWorkflows? Sí, cuántos quiere?
Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención
Más detallesAseguramiento 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 detallesEjercicio 1. Desarrollar un pequeño juego para practicar mecanografía.
Examen Curso 2001-2002. Convocatoria de Febrero Página 1 Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía. Este ejercicio se divide en dos partes con el fin de que el alumno no intente
Más detallesTé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 detallesPatrones de software y refactorización de código
Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: http://www.ucv.edu.pe/cis/ cisvirtual@ucv.edu.pe. 1.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD 1 Estructura de contenidos: 1. Programación Web 2. Sistema De Información 3. Sistema Web 4. Requisitos Para Sistemas Web Con Asp 5. Internet Information Server
Más detallesCapí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 detallesCapítulo 11. Conclusiones y trabajo futuro
Capítulo 11. Conclusiones y trabajo futuro En esta tesis ha realizado un entorno de desarrollo Web que proporciona herramientas para la mejora de la calidad del código de los desarrolladores. Para conseguir
Más detallesSeñor A/P. Lino Bessonart FEMI Presente Ref.: 181/2009
1 Montevideo, 11 de marzo de 2009 Señor A/P. Lino Bessonart FEMI Presente Ref.: 181/2009 De nuestra consideración, De acuerdo a vuestra solicitud, tenemos el agrado de poner a su consideración la presente
Más detallesTema 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 detallesAcronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Más detallesCurso de Python Inicial
Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos
Más detallesTABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.
TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.
Más detallesElementos requeridos para crearlos (ejemplo: el compilador)
Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción
Más detallesManual Instalación. Componentes necesarias para operar en la Facturación Electrónica SII
Manual Instalación Componentes necesarias para operar en la Facturación Electrónica SII Fecha: 03/06/2008 CONTROL DE VERSIONES... 3 1. INTRODUCCIÓN... 4 2. REQUERIMIENTOS DE AMBIENTE... 5 2.1 EN CUANTO
Más detallesLas Novedades de VisualStudio.Net
Artículos Grupo Danysoft: Las Novedades de Visual Studio.NET Las Novedades de VisualStudio.Net Visual Studio es el paquete de software para desarrolladores más importante de la actualidad y desde hace
Más detallesADMINISTRACIÓN DE DISCO
ADMINISTRACIÓN DE DISCO Desfragmentar: Su función es la de ordenar la información que se ha almacenado y facilitar un acceso más rápido cuando los programas buscan o archivan datos en el disco. La desfragmentación
Más detallesImplementación de Paquetes
Project Management Caso Particular: Implementación de Paquetes Fases de Project Management Visión Proyecto Aprobado Inicio (Alcance) Alcance Aprobado Organización Planificación Aprobada Ejecución y Control
Más detallesVisión General de GXportal. Última actualización: 2009
Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de
Más detallesMANUAL DE USUARIO DE CUENTAS DE CORREO
MANUAL DE USUARIO DE CUENTAS DE CORREO Existen dos formas de consultar el correo, por Interfaz Web (Webmail), la cual se realiza desde un navegador de Internet, o mediante un cliente de Correo, tal como
Más detallesCLASE # 5 TÉCNICAS DE CAJA BLANCA
CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente
Más detallesGuía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6
Guía de instalación de Citrix EdgeSight for Load Testing Citrix EdgeSight for Load Testing 3.6 Copyright El uso del producto descrito en esta guía está sujeto a la aceptación previa del Contrato de licencia
Más detalles6.4 ESTRATEGIAS DE PRUEBA
Prueba del sistema Prueba de validación Prueba de integración Prueba de Unidad Código Diseño Requisitos Ingeniería del Sistema Las pruebas del software aplican similar estrategia moviéndonos de adentro
Más detallesIngeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007
Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el
Más detallesProgramación Avanzada Ingeniería Civil en Computación
Interfaces Gráficas de Usuario usando Swing Prof. Federico Meza Programación Avanzada Ingeniería Civil en Computación Junio 2007 Programación Avanzada (ICC) Swing GUI s Junio 2007 1 / 13 GUI - Graphical
Más detallesInstrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)
aprenderaprogramar.com Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) Sección: Cursos Categoría: Curso Bases de la programación
Más detallesToken ikey 2032 de Rainbow. Guía instalación y uso para Internet Explorer
Token ikey 2032 de Rainbow Guía instalación y uso para Internet Explorer Abril de 2006 INDICE 1. Introducción 3 2. Requisitos mínimos 4 2.1 Requisitos de Hardware y Software 4 3. Configuración del ikey
Más detallesGestión de la Configuración
Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de
Más detallesCapítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Más detallesUNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS
UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación
Más detallesDESARROLLO 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 detalles14. DESARROLLO VERSUS COMPRA DE LA SOLUCIÓN COMPUTACIONAL
226 14. DESARROLLO VERSUS COMPRA DE LA SOLUCIÓN COMPUTACIONAL Como se planteó en el capítulo anterior, entre las opciones para disponer de una solución computacional están: la compra de una solución ya
Más detallesMANUAL DE USUARIO APLICACIÓN SYSACTIVOS
MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014
Más detallesMetodologí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 detallesCOMISIÓN NACIONAL PARA EL AHORRO DE ENERGÍA
COMISIÓN NACIONAL PARA EL AHORRO DE ENERGÍA PROGRAMA DE EFICIENCIA ENERGÉTICA SISTEMA DE CONTROLY SEGUIMIENTO DE INDICADORES DEL CONSUMO DE ENERGÍA HERRAMIENTA ELECTRÓNICA DE INDICADORES DEL CONSUMO DE
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
Más detallesCAPITULO 2 - POR QUÉ NECESITAN LAS EMPRESAS UN CUADRO DE MANDO INTEGRAL?
CAPITULO 2 - POR QUÉ NECESITAN LAS EMPRESAS UN CUADRO DE MANDO INTEGRAL? Los indicadores financieros. Desde hace mucho tiempo se utiliza el sistema de mediciones financiero, desde la época de los egipcios
Más detalleshttp://www.informatizate.net
http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.
Más detalles04.01.01 Introducción a ASP.NET
04.01.01 Introducción a ASP.NET Integración de Sistemas Parte II. Diseño e implementación de aplicaciones Web con.net Objetivos Conocer los fundamentos de ASP.NET Saber crear una aplicación web ASP.NET
Más detallesPaula 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 detallesCarlos Castro Grande 1
QUÉ ES VISUAL BASIC.NET? GUIA DE LABORATORIO I TALLER DE DESARROLLO I VB.NET 2012 Es un lenguaje de programación de alto nivel orientado a objetos y eventos que soporta encapsulación, herencia y polimorfismo.
Más detallesManual de referencia y del usuario
Manual de referencia y del usuario Manual del usuario y referencia de Todos los derechos reservados. Ningún fragmento de esta publicación podrá ser reproducido de manera alguna (ya sea de forma gráfica,
Más detallesAplicaciones Distribuidas con Visual Studio 2005
Aplicaciones Distribuidas con Visual Studio 2005 24.10.2006 Servicios Profesionales Danysoft Ahora los arquitectos en.net disponen de una versión de Visual Studio especialmente creada para atender sus
Más detallesSSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010
SSTQB Nivel Fundamentos Examen ejemplo Página 1 de 12 Fecha publicación: 28 - octubre - 2015 Índice Preguntas... 3 Respuestas... 12 Página 2 de 12 Fecha publicación: 28 - octubre - 2015 Preguntas 1 2 Una
Más detallesProcedimiento para el Manejo de No Conformidades, Acciones Preventivas y Correctivas del Sistema de Gestión Integral
Página: 1 de 1 Hoja de Control de Emisión y Revisiones. N de Revisión Páginas Afectadas Motivo del Cambio Aplica a partir de: 0 Todas Generación de documento 01-Agosto-2009 1 Todas Mejora del documento
Más detallesHaga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra
Cómo gestiono el Plan Anual de Adquisiciones de mi Entidad en el SECOP II? Crear equipo Crear Plan Anual de Adquisiciones Publicar Plan Anual de Adquisiciones Modificar Plan Anual de Adquisiciones Buscar
Más detallesSistema de Gestión de Proyectos Estratégicos.
[Documento versión 2.0 del 24/06/2015] Sistema de Gestión de Proyectos Estratégicos. El sistema de Gestión de Proyectos Estratégicos (GPE), es una poderosa herramienta para administrar y gestionar los
Más detalles