Ingeniería de Software Avanzada
|
|
|
- Sergio Gil Espinoza
- hace 10 años
- Vistas:
Transcripción
1 Universidad Técnica Federico Santa María Departamento de Informática Ingeniería de Software Avanzada Dr. Marcello Visconti Z. Conceptos básicos de testing Una falla (failure) ocurre cuando un programa no se comporta adecuadamente - representa una propiedad del sistema en ejecución Un defecto (fault) existe en el código - si se encuentra puede causar una falla - no hay defecto si el sistema no puede fallar Un error (error,mistake) es una acción humana que resulta en software que contiene un defecto - un error puede llevar a incluir un defecto en el sistema, haciéndolo fallar Nunca se puede probar que un programa no fallará, solo se puede probar que contiene defectos Page 1
2 Conceptos básicos de testing Un test exitoso es aquel que encuentra muchos defectos, no lo opuesto - por lo tanto, desarrollo exitoso puede llevar a testing no exitoso (no encuentra defectos) El propósito del testing es encontrar defectos - es un proceso destructivo, se debe mostrar que algo es incorrecto - no es recomendable probar las propios desarrollos Cada vez que se corrigen defectos detectados, se pueden introducir nuevos defectos al sistema Conceptos básicos de testing Testing es el proceso de ejecutar un programa con la intención de encontrar defectos - proceso destructivo que determina el diseño de los casos de prueba y la asignación de responsabilidades Testing exitoso: aquel que descubre defectos caso de prueba bueno: aquel que tiene una alta probabilidad de detectar un defecto aun no descubierto caso de prueba exitoso: aquel que detecta un defecto aun no descubierto Page 2
3 Conceptos básicos de testing Testing no es: demostración de que no hay errores demostración de que el software desempeña correctamente sus funciones establecimiento de confianza que un programa hace lo que debe hacer Visión más apropiada de testing: proceso destructivo de tratar de encontrar defectos (cuya presencia se asume!) en un programa Ejercicio Considere el siguiente programa un programa lee tres valores enteros, que representan las longitudes de los lados de un triángulo, e imprime un mensaje que establece si el triángulo es escaleno, isósceles, o equilátero Escriba un conjunto de casos de prueba que prueben adecuadamente este programa. Cada caso de prueba es de la forma (x,y,z) donde x,y,z representan los lados del triángulo Page 3
4 Principios de testing Una parte necesaria de un caso de prueba es la definición de la salida o resultado esperado Un programador debería evitar probar su propio código Una unidad de programación no debería probar sus propios programas Los resultados de cada prueba deben ser acuciosamente inspeccionados Los casos de prueba deben diseñarse para condiciones de entrada inválidas e inesperadas, no solo para aquellas válidas y esperadas Principios de testing Examinar un programa para ver si no hace lo que debe hacer es solo la mitad de la tarea; la otra mitad es ver si hace lo que no debe hacer Evitar casos de prueba espontáneos y que no dejan registro - es solo pérdida de tiempo No planificar un esfuerzo de prueba bajo el supuesto tácito que no se encontrará defectos La probabilidad de existencia de más defectos en una sección de un programa es proporcional al número de defectos ya detectados en dicha sección Testing es una tarea extremadamente creativa e intelectualmente desafiante Page 4
5 Aspectos económicos Es posible probar un programa para encontrar todos los defectos? ---- no, ni siquiera para los programas más triviales.. En general, es impráctico y a menudo imposible encontrar todos los defectos en un programa habría que probar todas las combinaciones de entrada, correctas e incorrectas... número infinito de casos de prueba habría que probar todos los caminos posibles dentro de un programa, que pueden contener loops... el número de casos de prueba no es infinito, pero usualmente puede considerarse como tal Testing v/s debugging El propósito del testing es mostrar que un programa tiene defectos, mientras el propósito del debugging es encontrar el error o mala concepción que llevó a la falla, y diseñar e implementar los cambios que corrijan el error El debugging usualmente sigue al testing El testing lo puede hacer un externo, el debugging no Page 5
6 Debugging Consecuencia del buen testing Difícil ligar síntoma y causa Ejecución de Casos Casos de Prueba Causas Adicionales Pruebas de Regresión Causas Sospechadas Resultados Correcciones Causas Identificadas Depuración Depuración Caso de prueba Un buen test case es aquel que tiene una alta probabilidad de encontrar un defecto no descubierto, no aquel en que el programa funciona correctamente Un buen test case no es redundante, ni muy simple, ni muy complejo... idealmente, el mejor de su clase Un exitoso test case es aquel que descubre un defecto no descubierto El diseño de test cases es muy difícil Testing no puede mostrar la ausencia de defectos, solo puede mostrar que los defectos están presentes Page 6
7 Diseño de casos de prueba Caja blanca caminos básicos estructuras de control otros Caja negra clases de equivalencia análisis de fronteras otros Bucle < = 20 veces Problemas de la prueba exhaustiva Diseño de casos de prueba Existen dos estrategias fundamentales white-box testing o pruebas de caja blanca» pretende un examen en detalle de los procedimientos internos, ejecutando caminos lógicos con condiciones o loops específicos black-box testing o pruebas de caja negra» las pruebas se conducen a nivel de la interfaz, sin mayor interés por los detalles internos de estructura lógica A simple vista da la impresión que white-box testing puede entregar programas 100% correctos, si se definen y ejecutan todos los caminos (path) lógicos, es decir, se prueba exhaustivamente la lógica del programa... Page 7
8 Diseño de casos de prueba Ejercicio Un programa en C de 100 líneas, contiene 2 loops anidados que ejecutan de 1 a 20 veces cada uno, dependiendo de ciertas condiciones especificadas en la entrada. Dentro del loop interior, se requieren 4 constructores if-then-else. Calcule cuántos caminos posibles existen (y que deberían ejercitarse para probar exhaustivamente el programa)? Suponga que un procesador mágico es capaz de desarrollar un caso de prueba, ejecutarlo, y evaluar el resultado en solo un milisegundo, y que trabaja 24 horas diarias durante los 365 días del año. Cuánto tiempo se necesita para probar exhaustivamente dicho programa? Diseño de casos de prueba White-box testing no debería descartarse por impráctico. Un número limitado de caminos lógicos importantes puede seleccionarse y ejercitarse, y puede probarse la validez de importantes estructuras de datos Los atributos de black-box y white-box testing se pueden combinar para proveer un enfoque que valide la interfaz y selectivamente asegure que los aspectos internos son los correctos Page 8
9 White-box testing test coverage Cobertura (test coverage) la ejecución de un caso de prueba considera ciertos requerimientos, utiliza ciertas partes de la funcionalidad, y ejercita ciertas partes de la lógica interna de un programa hay que asegurarse de tener suficientes pruebas de cada uno de estos niveles tiene tres componentes» cobertura de requerimientos» cobertura funcional» cobertura lógica Forma simplista de entenderlo: % de instrucciones ejecutadas por un conjunto de pruebas Observación general: la probabilidad de encontrar nuevos defectos es inversamente proporcional a la cantidad de código no cubierto White-box testing test coverage Los métodos white-box se utilizan para aumentar la cobertura lógica Existen las siguientes formas básicas de cobertura lógica cobertura de instrucción (statement coverage)» cada instrucción es ejecutada al menos una vez cobertura de decisión (ramificación) (decision (branch) coverage)» cada instrucción es ejecutada al menos una vez, cada decisión toma todos los resultados posibles al menos una vez cobertura de condición (condition coverage)» cada instrucción es ejecutada al menos una vez, cada condición en una decisión toma todos los resultados posibles al menos una vez Page 9
10 White-box testing test coverage Existen las siguientes formas básicas de cobertura lógica cobertura de decisión/condición (decision/condition coverage)» cada instrucción es ejecutada al menos una vez, cada decisión toma todos los resultados posibles al menos una vez, cada condición en una decisión toma todos los resultados posibles al menos una vez cobertura de múltiples condiciones (multiple/condition coverage)» cada instrucción es ejecutada al menos una vez, todas las combinaciones posibles de resultados de condiciones en cada decisión ocurre al menos una vez cobertura de camino (path coverage)» cobertura exhaustiva es generalmente impráctica White-box testing Ejercicio: LIABILITY test coverage procedure liability (age, sex, married, premium); begin premium:=500; if ((age < 25) and (sex = male) and (not married)) then premium :=premium ; else (if (married or (sex = female)) then premium := premium - 200; if ((age > 45) and (age < 65)) then premium :=premium -100;) end; Page 10
11 White-box testing test coverage Ejercicio: LIABILITY listar un conjunto posible (mínimo) de casos de prueba que satisfaga cada uno de los criterios de cobertura Estrategias de testing Una estrategia de testing puede ser vista como una espiral en el que la cronología de eventos es inversa a la que se da en el desarrollo de software Ingeniería del Sistema Requerimientos Diseño Codificación S R D C U I V ST Prueba de Unidad Prueba de Integración Prueba de Validación Prueba del Sistema Page 11
12 Estrategias de testing Inicialmente, las pruebas se focalizan en cada módulo individualmente, asegurando que funciona apropiadamente como una unidad; principalmente se utilizan técnicas de white-box Después, los módulos deben integrarse o ensamblarse para formar un paquete completo; las técnicas de blackbox son las más importantes Estrategias de testing Finalmente, corresponde una serie de pruebas de orden superior orientadas a asegurar que el software satisfaga todas los requerimientos de uso, funcionales, de comportamiento y de desempeño, y a verificar que todos los elementos del sistema computacional se acoplan adecuadamente y que la funcionalidad y desempeño globales se alcanzan Page 12
13 Estrategias de testing Requisitos Pruebas de alto nivel Diseño Prueba de integración Codificación Prueba de unidad "Dirección" de prueba Estrategias de testing Para una implementación exitosa de una estrategia de testing se debe especificar requerimientos del producto en forma cuantificable mucho antes de comenzar el testing establecer explícitamente los objetivos del testing comprender a los usuarios y desarrollar un perfil para cada categoría desarrollar un plan que enfatice pruebas de ciclo rápido construir software robusto que se diseñe para probarse a sí mismo usar revisiones técnicas formales como un filtro previo al testing conducir revisiones técnicas formales para evaluar la estrategia de testing y los casos de prueba desarrollar un enfoque de mejoramiento continuo para el proceso de testing Page 13
14 Estrategias de testing Black-box y white-box testing v/s cobertura pruebas de requerimientos (cobertura de requerimientos) y funcionales (cobertura funcional) deberían utilizar black-box testing pruebas internas (cobertura lógica) deben emplear white-box testing En todos los casos las pruebas deben definir sus resultados y ser repetibles Testing unitario Módulo Interfaz Estructuras de datos locales Condiciones límite Caminos independientes Caminos de manejo de errores Casos de prueba Pasos de unidad Page 14
15 Testing de integración Es una técnica sistemática para construir la estructura del programa mientras se conducen pruebas para descubrir defectos asociados a las interfaces, para lo que se toman módulos probados (testing unitario) y se construye una estructura de programa de acuerdo al diseño Cualquier estrategia de integración debe ser incremental, para lo que existen dos esquemas principales integración top-down integración bottom-up Integración top-down M1 M2 M3 M4 M5 M6 M7 M8 Integración descendente Page 15
16 Integración bottom-up Mc Ma Mb D1 D2 D3 Grupo 3 Grupo 1 Grupo 2 Integración ascendente Testing de integración En general, las ventajas de ambos enfoques tienden a ser desvemtajas del otro Integración top-down ventaja: probar tempranamente funciones principales desventaja: necesidad de stubs Integración bottom-up ventaja: diseño más fácil de casos de prueba, no uso de stubs desventaja: el programa como entidad no existe hasta el final Un buen compromiso puede ser un enfoque combinado Page 16
17 Testing de integración Finalmente, es importante indentificar módulos críticos según se conducen las pruebas de integración consideran varios requerimientos de software tienen altos niveles de control (arriba en la estructura de programa) son complejos o propensos a los errores (potencial indicador: V(G)) tienen requerimientos de desempeño Los módulos críticos deben ser probados lo más tempranamente posible Testing de regresión Es la actividad que ayuda a asegurar que los cambios no introduzcan comportamientos no pretendidos o defectos adicionales Los casos de prueba para regresión (regression test suite) corresponden a tres clases diferentes un conjunto representativo de pruebas para ejercitar todas las funciones del software pruebas adicionales que se focalizan en funciones probablemente afectadas por el cambio pruebas que se focalizan en los componentes que han cambiado Page 17
18 Testing de regresión Dado que el número de pruebas puede crecer demasiado, y no es posible ejecutar cada prueba para cada función después de un cambio, estas pruebas deben diseñarse de tal manera de incluir solo pruebas de clases de errores de las principales funciones Las pruebas de regresión se pueden ejecutar manualmente o usando herramientas automatizadas de captura y ejecución (capture-playback tools) Testing de usabilidad Involucra el hacer que los usuarios trabajen con un producto de software y observar sus respuestas a él Históricamente ha sido uno de los muchos componentes de las pruebas de sistema ya que están basados en requerimientos, pero la tendencia es hacia darle un rol más prominente Características a probar accesibilidad - puede el usuario entrar, navegar, salir con facilidad? respuesta - puede hacer lo que desea, cuando desea, en forma clara? eficiencia - puede hacerlo con un mínimo uso de recursos? comprensibilidad - entiende la estructura, ayudas, y documentación? Page 18
19 Testing de validación o aceptación Objetivo determinar si el funcionamiento satisface al cliente/usuario Pruebas alfa conducidas en laboratorios del desarrollador por el usuario final Pruebas beta conducidas en ambientes de trabajo reales por usuarios finales, generalmente amistosos; la prueba se desarrolla antes de la distribución general Testing de sistemas Objetivo: determinar si el sistema en su globalidad opera satisfactoriamente (recuperación de fallas, seguridad y protección, stress, performance) Page 19
20 Criterios de completación de testing Cómo saber cuándo dejar de hacer testing? Normalmente, se abandona al agotarse los recursos En la práctica el testing nunca acaba, solo cambia de tester... del profesional al usuario Idealmente, utilizar modelos de fallas de software como función del tiempo de ejecución, basados en modelación estadística y teorías de confiabilidad para poder hacer afirmaciones como la siguiente:... hemos hecho suficiente testing para afirmar con un 95% de confianza que la probabilidad de 1000 horas de CPU de operación libre de fallas en un ambiente probabilísticamente definido es por lo menos Testability Representa cuán fácilmente se puede probar un programa Algunas características deseables operabilidad - mejor funciona, más eficientemente se puede probar observabilidad - lo que ve es lo que prueba controlabilidad - mejor se controla, más se puede automatizar y optimizar descomponibilidad - ámbito controlado, más rápidamente se puede aislar porblemas y desarrollar re-testing más inteligente simpleza - menos que probar, más rápidamente se hace estabilidad - menos cambios, menos problemas comprensibilidad - más información, mejor se prueba Page 20
Ingeniería de Software Dr. Marcello Visconti Z. Ingeniería de Software
Universidad Técnica Federico Santa María Departamento de Informática Ingeniería de Software Dr. Marcello Visconti Z. Programa Proceso de Software y Paradigmas de Desarrollo Gestión de Proyectos Fases del
PRUEBAS 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,
Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Tipos de prueba Estrategias de prueba
Pruebas Pruebas en el PUD Las pruebas del software Diseño de casos de prueba Tipos de prueba Estrategias de prueba 1 2 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos
PRUEBAS, CALIDAD Y MANTENIMIENTO DEL SOFTWARE
VI PRUEBAS, CALIDAD Y MANTENIMIENTO DEL SOFTWARE 6.1 PRUEBAS DEL SOFTWARE Una vez generado el código el software debe ser probado para descubrir el máximo de errores posibles antes de su entrega al cliente.
Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.
Cátedra : Sistemas de Información Administrativa S.I.A. Escuela de Contadores Auditores Tema: Ingeniería del Software Estrategias de Pruebas Relator: Sr. Eduardo Leyton G Pruebas del Software (Basado en
PRINCIPIOS DE PRUEBAS. ENFOQUE ESTRATEGICO.
PRINCIPIOS DE PRUEBAS. ENFOQUE ESTRATEGICO. 0. Consideraciones iniciales. Las pruebas son un conjunto de actividades que se pueden planificar por adelantado y llevar a cabo sistemáticamente. Por esta razón,
6.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
Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE
Técnicas de prueba El desarrollo de Sistemas de software implica la realización de una serie de actividades predispuestas a incorporar errores (en la etapa de definición de requerimientos, de diseño, de
Contenido. Tipos y niveles de pruebas de software Pruebas de caja negra
Hoy, la caja negra Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Niveles y Caja Negra Blanca A. Vargas Govea [email protected] Marzo 1, 2013 Contenido Tipos y niveles de
Prueba de software. Ingeniería de software Eduardo Ferreira, Martín Solari
Prueba de software Ingeniería de software Eduardo Ferreira, Martín Solari 1 Temario Prueba de software Estrategias, niveles y tipos de prueba Pruebas de caja blanca Pruebas de caja negra Proceso de prueba
SSTQB. 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
Ingeniería de Software. Pruebas
Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en
Empresa Financiera Herramientas de SW Servicios
Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través
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
Introducción al Proceso de Pruebas.
Introducción al Proceso de Pruebas. Javier Gutiérrez / [email protected] Introducción al proceso de pruebas Objetivo: repasar las ideas principales sobre las pruebas del software y, en concreto, las que usaremos
Plan 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
Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008
Estándares para planes de calidad de software Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 DIFERENCIA ENTRE PRODUCIR UNA FUNCION Y PRODUCIR UNA FUNCION
PRU. Pruebas. Ejercicio previo. Enunciado
PRU Pruebas 1 Ejercicio previo Enunciado Se tiene un programa que Lee tres enteros de un fichero Los tres enteros representan los lados de un triángulo Imprime un mensaje indicando el tipo de triángulo
1. Descripción y objetivos
Pruebas 1 1. Descripción y objetivos Las pruebas son prácticas a realizar en diversos momentos de la vida del sistema de información para verificar: El correcto funcionamiento de los componentes del sistema.
CLASE # 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
3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)
3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.
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
Diseño orientado al flujo de datos
Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos
Ciclo 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
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
3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE
3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE Software Configuration Management (SCM) es una disciplina de la Ingeniería de Software que se preocupa de [Ber92] [Ber84] [Bou98] [Mik97]: Identificar y documentar
Instituto Nacional de Tecnología Industrial TESTING DE SOFTWARE
Instituto Nacional de Tecnología Industrial TESTING DE SOFTWARE Laboratorio de Testing y Aseguramiento de Calidad de Software Disertante: A.C. Gabriel Miretti Agenda Presentación del Laboratorio de Testing
Técnicas Avanzadas de Testing Automatizado
Técnicas Avanzadas de Testing Automatizado Criterios de cobertura: Caja blanca/caja negra Clases de Equivalencia Valores de borde Cobertura basada en flujo de control CodeCover Mutación Jumble Criterios
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
Propiedad 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
Ingenierí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
Conceptos Generales. Introducción a la ingeniería de Software. Tomado de: Escuela de Sistemas Universidad Nacional de Colombia Sede Medellín
Conceptos Generales Introducción a la ingeniería de Software Tomado de: Escuela de Sistemas Universidad Nacional de Colombia Sede Medellín Qué es el Software? Objeto de estudio de la Ingeniería de Software
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
Elementos 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
CAPITULO I. Introducción. En la actualidad, las empresas están tomando un papel activo en cuanto al uso de sistemas y
CAPITULO I Introducción 1.1 Introducción En la actualidad, las empresas están tomando un papel activo en cuanto al uso de sistemas y redes computacionales. La tecnología ha ido evolucionando constantemente
CICLO DE VIDA DEL SOFTWARE
CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en
Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007
Calidad Calidad Definición de diccionario: Conjunto de Cualidades que constituyen la manera de ser de una persona o cosa. En términos generales podemos definir la calidad como conjunto de características
Hoy 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 [email protected] Marzo 22, 2013 Contenido Pruebas
6.3 CASOS DE PRUEBA CAJA BLANCA
Tipos de Prueba: 6.3 CASOS DE PRUEBA CAJA BLANCA Prueba de la Ruta Básica Pruebas de la estructura de control Prueba de condición Prueba del flujo de datos Prueba de bucles 6.3.1 PRUEBA DE LA RUTA BASICA
Análisis y gestión de riesgo
Marco Dueñes Intriago María Cabrales Jaquez Resumen capitulo 6 Ingeniería del software Análisis y gestión de riesgo Estrategias de riesgo proactivas vs reactivas Una estrategia considerablemente más inteligente
TESTING. Universidad Simón Bolívar. Ing. de Software. Profa. Marlene Goncalves
TESTING Universidad Simón Bolívar. Ing. de Software. Profa. Marlene Goncalves Definiciones Error: Equivocación cometida por un desarrollador. Ejemplos: un error de tipeo, una mal interpretación de un requerimiento
Ingeniería del Software. La última lección. Resumen del curso. Buenas prácticas. Conclusión
La última lección Resumen del curso Buenas prácticas Malas prácticas Conclusión Objetivos Mostrar las técnicas básicas para planificar, gestionar y desarrollar productos de software complejos (Proyectos
1 ENTREVISTA INDIVIDUAL
1 ENTREVISTA INDIVIDUAL 1.1 Por qué utilizar esta herramienta en evaluación? La entrevista individual es una técnica de recopilación de información que tiene lugar cara a cara entre el evaluador y la persona
5/10/2007 PCPM PRUEBAS DE SOFTWARE. Por: Paola Constanza Peña Melo Ingeniería de Software Mayo de 2007 AGENDA GENERAL PCPM
1 PRUEBAS DE SOFTWARE Por: Paola Constanza Peña Melo Ingeniería de Software Mayo de 2007 AGENDA GENERAL 2 1 AGENDA 3 QUE SON LAS PRUEBAS DE SOFTWARE? Proceso de análisis de un sistema. Detectar diferencias.
CMMI (Capability Maturity Model Integrated)
CMMI (Capability Maturity Model Integrated) El SEI (software engineering institute) a mediados de los 80 desarrolló el CMM (modelo de madurez de la capacidad de software). CMMI: CMM integrado, una mezcla
Patrones 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.
Ciclo de vida del software
Ciclo de vida del software Definición El proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema. Confiable,
CAPÍTULO 2. MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE
CAPÍTULO 2. MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE 2.1 Ingeniería de Software Los modelos y estándares de calidad de software forman parte de la ingeniería de software. Es por eso que comenzaremos
E 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 [email protected] Historial de cambios Versión Fecha Autor Cambios 0.1 11/08/11 Antoni
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
Validation. Validación Psicométrica. Validation. Central Test. Central Test. Centraltest CENTRAL. L art de l évaluation. El arte de la evaluación
Validation Validación Psicométrica L art de l évaluation Validation Central Test Central Test Centraltest L art de l évaluation CENTRAL test.com El arte de la evaluación www.centraltest.com Propiedades
"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios
"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se
2 EL DOCUMENTO DE ESPECIFICACIONES
Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir
Tema 9. Pruebas del Software
Tema 9. Pruebas del Software 1. Definiciones asociadas 2. El proceso de prueba 3. Técnicas de diseño de casos de prueba 4. Pruebas estructurales 5. Pruebas funcionales 6. Pruebas aleatorias 7. Enfoque
LiLa Portal Guía para profesores
Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista
Introducción: Modelos, Escalas y Métricas. Valentin Laime. Calidad de Software
Calidad de Software: Introducción: Modelos, Escalas y Métricas Valentin Laime Calidad de Software 10/28/2014 1 Modelos Un modelo es una abstracción de la realidad, que permite abstraer detalles y visualizar
Gestión de Configuración del Software
Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software
Banco de la República Bogotá D. C., Colombia
Banco de la República Bogotá D. C., Colombia Subgerencia de Informática Departamento de Seguridad Informática MANUAL DE USUARIO PARA EL SERVICIO - SISTEMA DE GESTIÓN PKI DE USUARIOS ROAMING - USI-GI-56
PMP Test - C04_01. 01. Una integración de proyecto eficaz generalmente requiere hacer énfasis en:
PMP Test - C04_01 01. Una integración de proyecto eficaz generalmente requiere hacer énfasis en: A. Las carreras personales de los miembros del equipo. B. Actualizaciones periódicas del plan de dirección
Aseguramiento de la Calidad, QA. Materia: Desarrollo Industrial de Software Alumno: David Alejandro González Díaz y Froylan Ruiz Cirilo.
Aseguramiento de la Calidad, QA Materia: Desarrollo Industrial de Software Alumno: David Alejandro González Díaz y Froylan Ruiz Cirilo. Definición El aseguramiento de la calidad (QA), se puede definir
PUEDE MEDIRSE EL PODER DE VENTAS DE LOS ANUNCIOS BASADOS EN UN MENSAJE DE VENTA EMOCIONAL?
El Uso Efectivo de las Emociones en Publicidad The ARS Group Debido a que las emociones pueden ser una poderosa fuerza de impulso en el comportamiento humano, los mercadólogos han incorporado, desde hace
Capítulo 2. Metodologías de selección de personal
Capítulo 2. Metodologías de selección de personal 2.1 Introducción La selección de personal es una actividad en la cual toda empresa invierte parte de sus recursos, debido a que es una tarea de vital importancia.
DE VIDA PARA EL DESARROLLO DE SISTEMAS
MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso
PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...
Tabla de Contenido PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... 2 1. LA PRESENCIA DE INFORMACIÓN Y AYUDA ÚTIL PARA COMPLETAR LOS TRÁMITES EN LÍNEA.... 2 2. LA DISPONIBILIDAD DE DIVERSOS
Acciones Correctivas y Preventivas. Universidad Autónoma del Estado de México
Acciones Correctivas y Preventivas Universidad Autónoma del Estado de México Mejora Continua La mejora continua del desempeño global de la organización debería ser un objetivo permanente de ésta. Mejora
DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE
DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
CLASE # 4 DESCRIPCIÓN GENERAL DE LAS PRUEBAS DINÁMICAS
CLASE # 4 DESCRIPCIÓN GENERAL DE LAS PRUEBAS DINÁMICAS 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA
Implementando un ERP La Gestión del Cambio
Artículos> Implementando un ERP - La Gestión del Cambio Artículo Implementando un ERP La Gestión del Cambio 1 Contenido Sumario Ejecutivo 3 Los sistemas ERP flexibilizan la gestión de la empresa y su cadena
INGENIERÍA DE SOFTWARE. Sesión 3: Tipos
INGENIERÍA DE SOFTWARE Sesión 3: Tipos Contextualización Actualmente existe una gran variedad en los software que se pueden clasificar en varias categorías, como pueden ser, por tipo de licencia, tipo
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
PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA. Plan de Pruebas. File: 20130211-QA-INF-V2-PLAN DE PRUEBAS.odt STD-INF-GENERAL Versión: 1.
Cliente: FCM-UNA Página 1 de 14 PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA Cliente: FCM-UNA Página 2 de 14 Tabla de contenido 1. INTRODUCCIÓN 1.1. PROPÓSITO 1.2. ALCANCE 1.3. DEFINICIONES, ACRÓNIMOS
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido
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
2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE.
2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE. En este epígrafe abordaremos el estudio del comportamiento de compra del consumidor, para ello tendremos que estudiar tanto las distintas situaciones de
Figura 4.1 Clasificación de los lenguajes de bases de datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje
implantación Fig. 1. Ciclo de vida tradicional
1. Ciclo de vida tradicional de los sistemas de software En ingeniería de software, la descripción tradicional del ciclo de vida del software está basada en un modelo conocido como el modelo de cascada
Aplicaciones de Ingeniería de Software
Aplicaciones de Ingeniería de Software Administración de la Calidad del Producto de Software Qué es la gestión de la calidad? Es una actividad protectora o de sombrilla que se aplica a lo largo del proceso
Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos
Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos
EL PORTAL DE LOS EXPERTOS EN PREVENCIÓN DE RIESGOS DE CHILE. División Difusión y Comunicaciones CALIDAD APQP
CALIDAD APQP 1. Definición 2. Diseño y desarrollo de producto 3. Producto y validación del proceso 4. Lanzamiento, regeneración gravamen y acción correctiva 5. Planeación y definición del programa 6. Controlar
Capítulos 2 y 5: Modelación con UML y Modelo Objeto
Capítulos 2 y 5: Modelación con UML y Modelo Objeto Asignando Responsabilidades 2 Responsabilidades son obligaciones de un objeto, o comportamiento relacionado a su rol en el sistema Qué hace un objeto?
SISTEMAS Y MANUALES DE LA CALIDAD
SISTEMAS Y MANUALES DE LA CALIDAD NORMATIVAS SOBRE SISTEMAS DE CALIDAD Introducción La experiencia de algunos sectores industriales que por las características particulares de sus productos tenían necesidad
Operación 8 Claves para la ISO 9001-2015
Operación 8Claves para la ISO 9001-2015 BLOQUE 8: Operación A grandes rasgos, se puede decir que este bloque se corresponde con el capítulo 7 de la antigua norma ISO 9001:2008 de Realización del Producto,
Bases de datos en Excel
Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos
SÍNTESIS Y PERSPECTIVAS
SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.
Los costes ocultos en las implantaciones de ERP
Los costes ocultos en las implantaciones de ERP Conozca sus 10 escondites favoritos Los procesos de implantación de software de gestión ERP que lleva a cabo un proveedor suelen prolongarse en el tiempo,
Ingeniería del Software I
Ingeniería del Software I 1er. Cuatrimestre 2002 Martina Marré [email protected] 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
PRU. Fundamento Institucional. Objetivos. Alcance
PRU INSTRUCCIONES: a continuación se describe el flujo de trabajo correspondiente al área de procesos de PRUEBAS para el desarrollo de software, en el cual se debe apoyar para la ejecución de sus actividades;
Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar
Gobierno Municipal del Cantón Bolívar Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Pruebas Universidad Técnica del Norte Histórico
Objetivos. Testing de Software. Contenidos. Primera parte. Calidad de software. Visiones de calidad. Page 1
Objetivos Testing de Software Analizar los conceptos fundamentales de pruebas de software en el contexto del aseguramiento de calidad del software. Diseñar casos de prueba, planes de prueba y especificaciones
Hacer Realidad BPM en su Organización ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN
ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN OBJETIVOS GENERALES 1. Identificar, diseñar, automatizar y habilitar la mejora continua de los procesos relacionados a la necesidad o proyecto
TEMA 2: DESARROLLO DEL SOFTWARE
TEMA 2: DESARROLLO DEL SOFTWARE EDI I Curso 2007/08 Escuela Politécnica Superior Universidad Autónoma de Madrid TEMA 2: DESARROLLO DEL SOFTWARE 2.1. Ciclo de vida del Software 2.2. Corrección de errores
MUESTREO TIPOS DE MUESTREO
MUESTREO En ocasiones en que no es posible o conveniente realizar un censo (analizar a todos los elementos de una población), se selecciona una muestra, entendiendo por tal una parte representativa de
Ejemplo Ciclos de vida
Ejemplo Ciclos de vida Problema a resolver Una empresa quiere implantar un sistema de control de acceso de usuarios previo al arranque del resto de aplicaciones que tiene instaladas. Cada usuario deberá
SISTEMAS DE INFORMACIÓN III TEORÍA
CONTENIDO: IMPLEMENTACIÓN DE SISTEMAS CODIFICACIÓN- PRUEBAS - INSTALACIÓN - DOCUMENTACIÓN- ADIESTRAMIENTO - SOPORTE LA IMPLANTACIÓN COMO CAMBIO ORGANIZACIONAL Material diseñado y elaborado por: Prof. Luis
Creación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO
CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO En la actualidad la mayoría de las grandes empresas cuentan con un sin número de servicios que ofrecen a sus trabajadores y clientes. Muchos de estos servicios
PROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0
Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. PROYECTO
Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:
PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo
Planificación, Administración n de Bases de Datos. Bases de Datos. Ciclo de Vida de los Sistemas de Información. Crisis del Software.
Planificación, n, Diseño o y Administración n de Crisis del Software Proyectos software de gran envergadura que se retrasaban, consumían todo el presupuesto disponible o generaban productos que eran poco
