¿Qué es Software Testing?

Slides:



Advertisements
Presentaciones similares
INTRODUCCIÓN A LA VERIFICACION Y VALIDACION
Advertisements

Lic. Juan Gabriel Bernal López
Ciclo de vida de desarrollo de software
PLANIFICACIÓN DE TESTING
SEMINARIO DE AUDITORÍA INTEGRAL
SISTEMAS DE GESTIÓN DE LA SEGURIDAD DE LA INFORMACIÓN
Pruebas de Diseño Diplomado en Calidad en el Software NOTAS
Estructura de SW-CMM.
Pruebas de Requerimientos
Pruebas de Código Diplomado en Calidad en el Software NOTAS
Gestión de Recursos Informáticos Unidad Nº 3: Gestión de calidad y eficiencia.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
2. Diseño y Desarrollo del Producto
Proceso de Originación de Crédito: Banco de los Alpes
Modelos de confiabilidad
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
CALIDAD DE SOFTWARE Alejando Márquez Alejando Vega Claudia Aguilar
Administración de Procesos de Pruebas
Evaluación de Productos
AUDITORIA DE LA SEGURIDAD en Telecomunicaciones y redes de computadoras Unidad VI.
Conjunto de características personales que se relacionan directamente con el desempeño a nivel laboral y son derivadas de la suma de los conocimientos,
PLANEACION DE UNA ESTRUCTURA ORGANIZACIONAL
Electivo Integración Normas de Calidad, Seguridad, Medio Ambiente y Riesgos en la Gestión de la Empresa. Profesor : Fernando Vargas Gálvez Ingeniero Civil.
Inspecciones de Software
REINGENIERÍA DE PROCESOS ORGANIZACIONALES
AUDITORIAS RESUMEN DE ASPECTOS RELEVANTE EN LA GESTION BASADO EN EL REFERENCIAL ISO 9001:2008.
Administración Proyectos Jorge Baracaldo Robin Ochoa.
9.4 ACTIVIDADES DE LAS PRUEBAS Describe las actividades de las pruebas dentro de las que están: Inspección de componentes Pruebas unitarias Pruebas de.
Ingeniería del Software
Análisis de Requerimientos
Armillas Mendieta Brenda Angélica De León Campos Arturo Delgado Sosa Luis Alberto Rodríguez Ortega Sandra Vergara Carranza Carlos.
INGENIERÍA DE SOFTWARE
Ingeniería de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Trainning DFD.
Programa de Auditoría Interna
35 años de investigación, innovando con energía 1 Mayo, 2012 P LAN DE ASEGURAMIENTO DE LA CALIDAD DEL DESARROLLO DE SOFTWARE E STÁNDAR IEEE 730 Y G UÍA.
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
SGSI: Sistemas de Gestión de la Seguridad de la Información
El rol de SQA en PIS.
Las Pruebas del Software y sus Fundamentos
Verificación y Validación del Software
Ciclo de vida de un sistema
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
RUTA DE LA CALIDAD.
TIPOS DE PRUEBAS DEL SOFTWARE
ISO Elaborado por: Nathaly antequera Vanessa yagua
Introducción al proceso de verificación y validación.
NOMBRE DE LA ASIGNATURA: VERIFICACIÓN Y VALIDACIÓN DEL SOFTWARE
problemas de la calidad del software
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
TEMA: RESPONSABILIDAD DE ERRORES
REVISION Y AUDITORIA.
Ciclo de Vida del Software
Sistema de control de calidad de software
Carolina Rangel Felipe Montaño Alexis García
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
ANGIE PAOLA SOLANO CASTIBLANCO DAR SOPORTE A LOS PROCESOS NORMAS ISO DOC. JOHANA LÓPEZ CHAVEZ SENA 2010.
Verificación y Validación de Software
Proceso de desarrollo de Software
Administración de Calidad de Software
Las fases del ciclo de la vida de desarrollo de sistemas
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Productos de Pruebas Hace hambre!! . Las bases. La verificación consiste en corroborar que el programa respeta su especificación, mientras que validación.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Verificación y Validación del Software
Entregables del Proyecto
Transcripción de la presentación:

¿Qué es Software Testing? Diplomado en Calidad en el Software ¿Qué es Software Testing? NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

¿Qué es Software Testing? Diplomado en Calidad en el Software Testing es el proceso de establecer confianza en que el programa o sistema hace lo que se supone que debería hacer. NOTAS __________________________________________ Hetzel, 1973 Juan Antonio Vega Fernández  Derechos Reservados, 1999

¿Qué es Software Testing? Diplomado en Calidad en el Software Testing es el proceso de ejecutar un programa o sistema con la intención de encontrar errores. NOTAS __________________________________________ Myers, 1979 Juan Antonio Vega Fernández  Derechos Reservados, 1999

¿Qué es Software Testing? Diplomado en Calidad en el Software Testing es cualquier actividad enfocada hacia la evaluación de un atributo o capacidad de un programa o sistema para determinar que cumple con los resultados esperados. NOTAS __________________________________________ Hetzel, 1983 Juan Antonio Vega Fernández  Derechos Reservados, 1999

¿Qué es Software Testing? Diplomado en Calidad en el Software La medida de la calidad en el software. Hetzel, 1988 NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Problema Diplomado en Calidad en el Software En una hoja de papel, escriba los casos de prueba que considere adecuados para probar el siguiente programa: El programa lee 3 enteros. Estos enteros se interpretan como la longitud de los lados de un triángulo. El programa imprime un mensaje que dice si el triangulo es escaleno, isóceles, equilátero o un triágulo inválido. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Resultados Diplomado en Calidad en el Software ¿Se tiene un caso de pruebas que represente un triángulo escaleno válido (casos como 1, 2, 3 y 2, 5, 10 no son válidos)? ¿Se tiene un caso de pruebas que represente un triángulo equilátero válido? ¿Se tiene un caso de pruebas que represente un triángulo isóceles válido (casos como 2, 2, 4 no son válidos)? ¿Se tienen al menos 3 casos de pruebas que representen triángulos isóceles válidos tales que se prueben las 3 permutaciones de 2 lados iguales (e. g. 3, 3, 4; 3, 4, 3; 4, 3, 3)? ¿Se tiene un caso de prueba en donde un lado tiene valor de cero? ¿Se tiene un caso de prueba en donde un lado tiene un valor negativo? NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Resultados Diplomado en Calidad en el Software ¿Se tiene un caso de prueba en donde la suma de 2 numeros sea igual al tercero (e. g. para 1, 2, 3 si el programa dice que es escaleno, el programa tiene un error)? ¿Se tienen tres casos de prueba para el punto anterior donde se prueben las 3 permutaciones posible (e. g. 1, 2, 3; 2, 1, 3; 3, 2, 1)? ¿Se tiene un caso de prueba en donde la suma de 2 números sea menor que el tercero (e. g. 1, 2, 4; 12, 13, 26)? ¿Se tienen tres casos de prueba para el punto anterior donde se prueben las 3 permutaciones posible (e. g. 1, 2, 4; 2, 1, 4; 4, 2, 1)? ¿Se tiene un caso de prueba en donde todos los lados son cero? ¿Se tiene al menos un caso de prueba en donde los valores no son enteros? NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Resultados Diplomado en Calidad en el Software ¿Se tiene al menos un caso de pruebas en donde se especifica un número incorrecto de valores (por ejemplo dos en lugar de tres números)? ¿Para cada caso de prueba se especificó la respuesta esperada del programa además de los valores de entrada? NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Evaluación Por cada “sí” a las preguntas anteriores tiene un punto. Diplomado en Calidad en el Software Por cada “sí” a las preguntas anteriores tiene un punto. En general los resultados son muy pobres. Los más experimentados tienen un puntuaje de 8 en promedio. Si este programa fué difícil de probar, imagine un programa con más de 100 KLOC. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Qué es Software Testing para el Practicante Diplomado en Calidad en el Software Checar el programa contra las especificaciones. Encontrar errores en el programa. Determinar el grado de aceptabilidad para el usuario. Asegurarse de que un sistema está listo para usarse. Ganar confidencia de que el programa funciona. Mostrar que un programa funciona correctamente. Demostrar que los errores no están presentes. Entender los límites del rendimiento. Aprender lo que el sistema no puede hacer. Evaluar las capacidades de un sistema. Verificar la documentación. Convencerse a uno mismo de que el trabajo ya está terminado. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

La Importancia de la Definición de Testing Diplomado en Calidad en el Software La mayoría de la gente tiene una visión incorrecta de lo que es testing, y esa es la principal causa de una mala prueba del software. Si la meta es demostrar que el programa no tiene errores, entonces subconscientemente estamos jalados hacia esa meta y tendemos a seleccionar datos de prueba que tengan una baja probabilidad hacer que el programa falle. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Niveles de Testing Unit Testing System Testing Acceptance Testing Diplomado en Calidad en el Software Unit Testing Pruebas de programas individuales conformen se van escribiendo. System Testing Pruebas de grupos de programas integrados. Acceptance Testing Pruebas para verificar que el programa esta listo para usarse. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Prácticas Típicas de Pruebas Unitarias Diplomado en Calidad en el Software Objetivo Confirmar que el módulo es codificado correctamente. Quién prueba Usualmente el programador. Qué prueba Funciones y código. Valores extremos y límites. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Prácticas Típicas de Pruebas Unitarias Diplomado en Calidad en el Software Cuando termina la prueba Usualmente cuando el programador se siente confiable con su código y siente que no tiene errores. Herramientas o ayudas Generalmente no son utilizadas. Registros Usualmente no se documentan. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Prácticas Típicas de Pruebas del Sistema Diplomado en Calidad en el Software Objetivo Ensamblar módulos en un sistema funcional. Quién prueba El líder del proyecto o el grupo de prueba. Qué prueba Requerimientos y funciones del sistema, interfaces del sistema. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Prácticas Típicas de Pruebas del Sistema Diplomado en Calidad en el Software Cuando termina la prueba Cuando la mayoría de los requerimientos se cumplen. Herramientas o ayudas Librerías del Sistema y librerías de casos de prueba. Generadores de casos de pruebas, comparadores y simuladores. Registros Bitácora de errores. Se mantienen casos de prueba. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Prácticas Típicas de Pruebas de Aceptación Diplomado en Calidad en el Software Objetivo Evaluar que el sistema esté listo para usarse. Quién prueba Usuario final o su agente. Qué prueba Funciones principales, documentación y procedimientos. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Prácticas Típicas de Pruebas de Aceptación Diplomado en Calidad en el Software Cuando termina la prueba Cuando el usuario se siente cómodo con el sistema o cuando las pruebas terminan exitosamente. Herramientas o ayudas Comparadores. Registros Documentos formales e incluso legales. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Definiciones Básicas Diplomado en Calidad en el Software De acuerdo al estándar IEEE/ANSI, 1990 [Std 610.12-1990] Mistake: Una acción humana que produce un resultado incorrecto. (Equivocación?) Fault: Un paso, proceso, o definición de datos incorrecto en un programa. El resultado de un “mistake” (Potencialmente puede llevar a un “failure”). (Falta?) Failure: Un resultado incorrecto. El resultado (o manifestación de la falta). (Falla?) Error: La cantidad por la cuál el resultado es incorrecto. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Verificación y Validación Diplomado en Calidad en el Software Verificación, como se define por la IEEE/ANSI, es el proceso de evaluar un sistema o componente para determinar si los productos de una fase de desarrollo dada, satisfacen las condiciones impuestas al inicio de esa fase. Validación, como se define por la IEEE/ANSI, es el proceso de evaluar un sistema o componente durante o al final del proceso de desarrollo para determinar si se satisfacen los requerimientos especificados. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

¿Que es Software Testing? Diplomado en Calidad en el Software Testing = Verificación + Validación NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Planeación de la Verificación Diplomado en Calidad en el Software Para cada tipo de verificación (requerimientos, diseño funcional, diseño interno, código) se debe establecer: La actividad de verificación que será realizada. Los métodos utilizados (Walk-through, inspecciones, etc) Las áreas específicas del producto de trabajo que serán y que no serán verificadas. Los riesgos asociados con cualquier área que no será verificada. Asignar prioridades a las áreas del producto de trabajo que serán verificadas. Recursos, calendarzaciones, instalaciones, herramientas y responsabilidades. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Planeación de la Validación Diplomado en Calidad en el Software Para cada actividad de validación se debe establecer: Los métodos de prueba. Las pruebas que serán automatizadas. Las herramientas de pruebas. El software de apoyo. La administración de la configuración. Los riesgos. Recursos, calendarzaciones, instalaciones, y responsabilidades. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Pruebas por Revisiones Diplomado en Calidad en el Software Pruebas por Revisiones NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

¿Qué es una revisión? Diplomado en Calidad en el Software Es cualquiera de una variedad de actividades que involucran: Evaluaciones de cuestiones técnicas. Evaluación de rendimiento por compañeros de trabajo. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Objetivos de una Revisión Diplomado en Calidad en el Software El objetivo de cualquier revisión es obtener información confiable acerca del estado o calidad del trabajo. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Tipos de Revisiones Requerimientos Especificaciones Diseño Diplomado en Calidad en el Software Requerimientos Especificaciones Diseño Codificación Procedimientos Documentación Conversión Instalación Implementación Diseño de Pruebas Procedimientos de Pruebas Planes de Prueba NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Revisiones Formales vs Informales Diplomado en Calidad en el Software Las revisiones informales son cuando preguntamos a nuestros compañeros por su opinión. Las revisiones formales son cuando un grupo de personas es responsable de una evaluación exacta y de producir un reporte por escrito de los resultados. Las revisiones formales son las que se pueden utilizar como una técnica de pruebas. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

El plan de Revisión ¿Quién va a atender? Diplomado en Calidad en el Software ¿Quién va a atender? Información requerida antes de que la revisión comienze. Precondiciones que deben estar terminadas antes de hacer la revisión. Lista de chequeo u otros indicadores de lo que se tiene que cubrir Condiciones finales o criterios que se tienen que cumplir para completar la revisión. Registro y documentos que se deben de mantener. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

¿Qué se logra con las Revisiones? Diplomado en Calidad en el Software Las revisiones proveen de mecanismos primarios para la evaluación de la confiabilidad. Las revisiones resaltan las capacidades individuales. Las revisiones descubren baches y clases de errores de inmediato. Las revisiones dan retroalimentación temprana y preveen el surgimiento de problemas más serios. Las revisiones entrenan y educan a los participantes y tienen un efecto positivo importante en la competencia del personal. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Factores Críticos de las Revisiones Diplomado en Calidad en el Software Resultados esperados. Saber el propósito de la revisión. ¿Qué es lo que se va a probar o medir? Responsabilidades. Asigna responsabilidades claras para todos los participantes. Derechos individuales. Protege las opiniones y sentimientos individuales y no al comité. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Factores Críticos de las Revisiones Diplomado en Calidad en el Software Participantes. Escoger a la gente adecuada. Algunos internos al proyecto y otros externos al proyecto. Proceso estructurado. Procedimientos establecidos. Moderador. Con habilidades y entrenamiento. Registro. Evaluación y reporte escrito. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Revisiones de Productos de Pruebas Diplomado en Calidad en el Software Plan de Pruebas Especificaciones del Diseño de Pruebas Procedimientos de Pruebas Casos de Pruebas Reportes de Pruebas NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

Integración de Revisiones de Pruebas y Revisiones de Software Diplomado en Calidad en el Software Revisión de Software Productos de Pruebas incluídos en la revisión Requerimientos Diseño Diseño Detallado Codificación Implantación Plan Maestro de Pruebas Especificación de las Pruebas de Aceptación Especificación de Pruebas del Sistema Especificación de Pruebas de Integración Plan Maestro Actualizado Especificación de Pruebas de Subsistemas Procedimientos de Pruebas Resultados de Pruebas y Reportes Sumarios NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

El enfoque de Pruebas del Ciclo de Vida Diplomado en Calidad en el Software El enfoque de Pruebas del Ciclo de Vida NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

El Costo de las Pruebas en el Ciclo de Vida Diplomado en Calidad en el Software Estudios han demostrado que durante el ciclo de vida del software se producen 60 errores por cada KLOC. Estudios también han demostrado que testing antes de la codificación es 50% efectivo en detectar errores y 80% efectivo después de la codificación. Estos estudios han demostrado que es 10 veces mas costoso corregir un error en codificación y 100 veces más costoso en producción. También se ha demostrado que 2 tercios de los errores ocurren antes de la codificación. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

La Economía de las Pruebas del Ciclo de Vida del Software Diplomado en Calidad en el Software Ciclo de Vida Normal Ciclo de Vida con Testing Errores acumulados por KLOC Errores acumulados por KLOC Costo Acumulado por Pruebas Costo Acumulado por Pruebas Requerimientos 20 Errores Diseño Codificación Testing - 80% err. reduction Production 0 defects Cost Detect = 1 = 10 = 100 20 10 10 40 15 25 NOTAS __________________________________________ 60 18 42 480 12 4 182 1,680 582 Juan Antonio Vega Fernández  Derechos Reservados, 1999