Testing. Es el proceso orientado a demostrar que un programa no tiene errores.

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

Pruebas de Software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Análisis y modelación de sistemas de software 4. Pruebas. Blanca A. Vargas Govea Mayo 3, 2013

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

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

Estrategias de Pruebas de Software

Parte I: El computador y el proceso de programación

PRINCIPIOS DE PRUEBAS. ENFOQUE ESTRATEGICO.

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO

Verificación y Validación

Tecnología hardware y software

PRUEBAS DE SISTEMAS. Hungría Berbesí UNEFA Ingeniería de Sistemas

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

Descripción Específica en la modalidad de Formación Dual

PA JOSÉ MANUEL BURBANO CARVAJAL

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

PRUEBA DE SOFTWARE LA PRUEBA DE UN SISTEMA

Descripción específica

9/9/2009. Introducción. Introducción. Introducción. Métodos Secuenciales. Métodos Secuenciales. Pruebas y La Vida del Ciclo de Desarrollo del Software

Fase de Pruebas Introducción.

Anexo 10. Pruebas verificadas

Estrategias de prueba del software

Programación Avanzada. Requerimientos de Software

ESTRATEGIAS DE PRUEBA DE SOFTWARE

PRU Prueba de software: principios y técnicas

Proceso de Testing Funcional Independiente

TEMA 2.1 TIPOS DE PRUEBAS DEL SOFTWARE

Tema 20: La importancia de realizar pruebas

a. Integración Top Down b. Integración Buttom Up c. Ninguna de las anteriores d. Módulo de integración.

ANÁLISIS DINÁMICO DEL SOFTWARE: PRUEBAS. Sira Vegas Rodrigo Fonseca

Desarrollo ágil basado en pruebas de aceptación

Modelos de calidad. Técnicas de prueba del software Estrategias de prueba del software. Calidad del software. Factores de Calidad. producto.

INGENIERÍA DE SOFTWARE. Sesión 6: Construcción y pruebas del software

CICLO DE DESARROLLO DE SISTEMAS DE INFORMACIÓN Llorens Fabregas

Plan de estudios ISTQB: Nivel Fundamentos

Sistemas y Aplicaciones Informáticas. Tema 32. Técnicas para la Verificación, Prueba y Documentación de Programas.

adv Software Factory

CLASE # 6 PRUEBAS FUNCIONALES USANDO TÉCNICAS DE CAJA NEGRA PARTE I

CLASE 11: PRUEBAS DE SOFTWARE. Unversidad Simón Bolívar. Prof. Ivette Carolina Martínez

PRUEBAS DEL SOFTWARE Verificación: estamos construyendo correctamente el producto? Validación: estamos construyendo el producto correcto?

Herramientas de Software para testing: WebInject

TESTS EXAMEN ISG ACTUALIZADO SEP TEMA 6 PRUEBAS DEL SOFTWARE

UNIVERSIDAD DON BOSCO

DIFERENCIA ENTRE CRIPTOGRAFIA SIMETRICA Y ASIMETRICA

PRUEBAS FUNCIONALES USANDO TÉCNICAS DE CAJA NEGRA PARTE I

Realización de Pruebas

Array Development. Array Development Plan de Pruebas de Aceptación Versión 1.0

Aseguramiento de la calidad y pruebas de software. 1- Infraestructura del aseguramiento de la calidad

ISO ISO Calidad de Software. Virginia Cuomo Mariela Castares

Software Tester QA. Programa de Estudio.

TESTING Y ASEGURAMIENTO DE LA CALIDAD

Capítulo 9 Fase de Integración y prueba del sistema. 9.1 Fase de Integración y prueba del sistema: objetivos, actividades y productos.

FORO METODOLOGÍAS SE. 28/06/2013 Desarrollo SE I - Cohorte XI - S. Solé 1

Técnicas de Pruebas de

IEEE Standard for Software Unit Testing

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

Requerimientos de Software

Control de Lectura # 3. Pruebas del software

Plantilla SVVP (Software Verification & Validation Plan) Trabajo de grado Ingeniería de Sistemas Pontificia Universidad

Estrategia de Pruebas

Control de Calidad en Software Libre III Congrés de Programari Lliure - Comunitat Valenciana

Programación II. Mario Aldea Rivas Programación II 25/03/11 1

Ejemplo de Examen. Probador Certificado Nivel Básico del ISTQB. Programa de Estudio 2011

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

Fuente: Ian Sommerville. Ingeniería del Software, Séptima Edición

PROCEDIMIENTO PARA CONTROL DE CALIDAD DE LOS SISTEMAS DE INFORMACIÓN

Plan de estudios ISTQB: Nivel Fundamentos

Capítulo III. El Ciclo de Desarrollo de Sistemas

Implementación del paquete de recomendaciones para la mejora de procesos de una Fábrica de Software. Accenture 2006 Propietario y Confidencial

Metodología Métrica v. 3.0

TEMA: ENTRADAS PROPUESTAS PARA EL PROCESO DE VERIFICACIÓN DE REQUERIMIENTOS. NOMBRE DE LA ASIGNATURA: VERIFICACIÓN Y VALIDACIÓN DEL SOFTWARE

Ciudad Guayana, Febrero de 2011

INGENIERÍA DEL SOFTWARE

Ingeniería de Software. Ingeniería de Requisitos Clase 4

Sílabo de Pruebas y calidad de software

Pruebas de caja negra

Instituto Tecnológico de Informática. Calidad, Proceso y Testeo Software

Tecnología de la Información Prof. Alberto Zimerman. Ary Eppel. Tecnologia de la Información - Ciclo Vida -

Requerimientos de Software

SIGPRE Sistema de Gestión Presupuestaria

Ingeniería del Software. Tema 5: Control y garantía del software

Introducción al Personal Software Process (PSP)

Guía Metodológica. Trabajo de grado Ingeniería de Sistemas Pontificia Universidad Javeriana. 2015

Inspección de Diseño Similar a la inspección de código, pero se realiza sobre los documentos de diseño.

Introducción a la ingeniería de software Mg. Clara Casalini UNS-DCIC

Ingeniería de Software: Y eso qué es?

INGENIERÍA DEL SOFTWARE II Práctica 1. Univ. Cantabria Fac. de Ciencias Carlos Blanco, Juan Hernández

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información

Exposición dialogada: Identifica el concepto de calidad. Determina la diferencia entre control de calidad y aseguramiento de la calidad.

Universidad de Los Andes ISIS CBSE. Pruebas de Integración

ISO Ingeniería del Software

El primer módulo del curso. Esperamos que te guste.

E77 - Gestión de Recursos de la Información. Tema 1 - Métricas del Proyecto de Software

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

Casos de Prueba. Caja Blanca y Caja Negra

Tutorial TestingV6. Ing. Gustavo Guimerans Centro de Ensayos de Software

Atributos de Calidad del Software

Instrucción 1 Criterios, Convenciones y recomendaciones para utilizar este instructivo

Capítulo 4: Prueba y validación de los objetos modelo.

Pruebas de Funcionalidad. Pruebas de Funcionalidad.

Transcripción:

Pruebas de Software

Testing Es el proceso orientado a demostrar que un programa no tiene errores. 1. Imposible. 2. Tentación a diseñar tests que no detecten errores. Es la tarea de demostrar que un programa realiza las funciones para las cuales fue construido. Es la tarea de probar que un programa realiza lo que se supone debe hacer. Aún haciendo lo esperado, puede contener errores. Es la ejecución de programas de software con el objetivo de detectar defectos y fallas. Proceso destructivo, sádico.

Testing Test Exitoso: aquel que detecta errores Test No exitoso: aquel que no los detecta Error: una equivocación de una persona al desarrollar alguna actividad de desarrollo de software. Defecto: se produce cuando una persona comete un error (interno-> desarrolladores). Falla: es un desvío respecto del comportamiento esperado del sistema, puede producirse en cualquier etapa (externo- >usuarios).

Justificación 1. La realización de tareas de pruebas conlleva un costo asociado que puede inducir a tomar decisiones de no realizarlas. 2. No realizarlas también conlleva un costo asociado. El problema es determinar cuál de estos costos es mayor. Suposición: Menores costos, menores tiempos de desarrollo y mayor satisfacción del cliente.

Costo

Principios 1. Una parte necesaria de un test es la definición de los resultados esperados. 2. Un programador debe evitar probar su propio desarrollo. 3. Una organización no debe probar sus propios desarrollos. 4. Revise los resultados de los test en profundidad. 5. Los test deben incluir entradas inválidas e inesperadas así como las válidas y esperadas. 6. Revisar un programa para verificar que hace lo que se espera que haga es sólo la mitad de la prueba; la otra mitad consiste comprobar que no haga lo que no se espera. 7. No tirar los test a la basura a menos que el programa sea basura. 8. No planear esfuerzos de pruebas asumiendo que no se encontrarán errores. 9. La probabilidad de encontrar errores en una sección de un programa es proporcional al número de errores ya encontrados en esa sección. 10. El testing constituye una tarea creativa e intelectualmente desafiante

Niveles de Prueba Test Unitarios Test de Componentes / Test de Integración Test de Funcionalidad Test de Sistema Test de Aceptación Test de Instalación

Tipos de Pruebas Test de Facilidad Test de Volumen Test de Stress Test de Usabilidad Test de Seguridad Test de Performance Test de Configuración Test de Instalación Test de Fiabilidad Test de Recuperación Test de Documentación Test de Mantenimiento

Qué debería automatizarse? Pruebas unitarias y de componentes Pruebas de funcionalidad sin interfaces de usuario Pruebas de sistema con interfaces de usuario

Qué no debería automatizarse? Pruebas de usabilidad Pruebas exploratorias Tareas únicas de fácil ejecución manual y difícil automatización

Estrategia para comenzar la automatización Capacitación a analistas, testers y programadores Seleccionar una forma de trabajo Seleccionar herramientas Desarrollar proyectos pilotos Institucionalizar

Modelo tradicional

Modelo moderno

Métodos de prueba Test incrementales Testeo continuo, distribuye las pruebas de integración en la integración diaria del código compartido

Top Down Se requieren Stubs para suplantar los módulos inferiores aún no implementados Los Stubs se quitan a medida que se desarrollan los diferentes módulos Un test por módulo que se suma Realizar test de regresión sobre los módulos Desventajas Se retrasa la prueba del procesamiento real realizado generalmente en módulos de más bajo nivel Desarrollar Stubs que emulen a los módulos es mucho trabajo

Bottom Up Las pruebas comienzan en el más bajo nivel con la integración de algoritmos que realizan procesamiento. Se escriben test que dan el contexto de ejecución a los módulos. Se prueban los módulos. Se desarrolla e integran funcionalidades del módulo superior y se repite. Desventajas Hasta que se logra un nivel determinado, la aplicación no es visible Problemas asociados a volumen, recursos y tiempo se prueban en etapas tardías

Caja Negra Pruebas funcionales sin acceso al código fuente de las aplicaciones, se trabaja con entradas y salidas Realizar tablas de rangos de valores

Caja Blanca Pruebas con acceso al código fuente (datos y lógica). Se trabaja con entradas, salidas y el conocimiento interno. Caminos, condiciones o decisiones

PLANIFICACIÓN Planificación General o Objetivos o Criterios de Completitud o Cronograma o Responsabilidades Planificación Técnica o Estándares de Casos de Pruebas o Herramientas o Infraestructura o Procedimientos

Criterios de Completitud de las pruebas 1. Se agotó el tiempo asignado 2. Los test dan todos resultados esperados Desventajas: No garantiza la realización de las pruebas (1), si el tiempo asignado a los test fue usado en desarrollo No garantiza buenos test (2), condiciona a veces a escribir test exitosos (no detectan errores)

Otros criterios 1. Cuando todos los test den resultados esperados, los cuales fueron diseñados tal que satisfagan criterios de Condiciones y un análisis de Valores Límites 2. Cuando hayan sido detectados y reparados N errores 3. Cuando haya pasado M días sin detectar errores