Calidad en la Prueba de Software

Slides:



Advertisements
Presentaciones similares
Juan Carlos Olivares Rojas
Advertisements

Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Costos de Calidad. COSTOS DE CALIDAD Dinero destinado para obtener la Calidad requerida.
Verificación y Validación de Software
REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN I.U.T. ANTONIO JOSÉ DE SUCRE PUNTO FIJO – EDO. FALCÓN CÁTEDRA: ANALISIS.
Diseño personal del Software. Una medida significativa en la mejora de calidad del software fue tomada con la esencia del proceso personal del software.
ENFOQUE PRÁCTICO RECOMENDADO PARA EL DISEÑO DE CASOS Integrantes del equipo: Rosa Isela Gerónimo Miguel Ángel Cruz Juan Guadalupe Alegría Humberto Mendoza.
Diseño de esquema de pruebas Analisis y Diseño 2 Segundo Semestre 2008 Victor Leonel Orozco
PRUEBAS DEL SOFTWARE PARTE 2 Laura Patricia Pinto Prieto.
Sesión Taller N˚8 Matemática Perímetros y áreas Sólidos geométricos.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
Bienvenidos a GNnovations! El portal, para la mejora de procesos!
REFORZAMIENTO EN MATEMÁTICAS
El proceso unificado de desarrollo de software
Introducción a la Programación Multimedial
. Primera Open Class Asignatura: Programación Estructurada Tema:
REFORZAMIENTO EN MATEMÁTICAS
Mejores Prácticas en Proyectos de Desarrollo de Software
Tema 4: Ingeniería del Software
Proceso para el desarrollo de software
2.Metodología de Solución de Problemas
Proyecto de Software. t07
Fundamentos de programación
EJERCICIOS DE DIAGRAMA DE FLUJO
Fundamentos de negocios y comercio electrónico.
Los sistemas de información
Proyecto de Software. Clase 06
Proceso de Desarrollo de SW
Aplicación Distribuida sobre Arquitectura Multi Capas, caso práctico Módulo Evaluación de RR.HH basado en Competencias ESPE Guillermo Narváez V.
introducción Ingeniería de software
UTRERAS COLLAGUAZO PAMELA ESTEFANÍA
IMPLANTACIÓN DEL SISTEMA
REQUERIMIENTOS DE ENTRADA DE UN SISTEMA
El resultado obtenido en esta etapa son las especificaciones de lo que se debe hacer para solucionar el problema.
BLANCA MARGARITA URRIAGO UNIVERSIDAD MANUELA BELTRAN
Autor: Diego Patricio Vásconez Chávez DIRECTOR: ING. MARIO RON
Relación de autores: Nombre Apellido1, Nombre Apellido1,
DESARROLLO ORGANIZACIONAL
Tipos de pruebas Hector Leonardo Arias.
REPASO TEMAS 10 Y Indica si las siguientes figuras son regulares o irregulares y escribe su nombre 2. Clasifica estos triángulos según sus lados.
Las herramientas Case Julian madrigal.
Metodología para la Solución de Problemas
Metodología del software xp
METODOLOGIAS PARA EL DESARROLLO DE SISTEMAS DE INFORMACION
POKA YOKE – Diseño a prueba de errores
6.6 Administración de defectos
Diseño en Alice En este módulo estudiaremos los elementos del diseño en Alice: Escenarios Storyboards Textuales Visuales Definiciones.
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
Proceso Unificado de Desarrollo de Software
SISTEMA DE GESTION DE LA CALIDAD BAJO LA NORMA ISO – 900I:2000
Proceso de Desarrollo de SW
Instrumentos de evaluacion
1 Adquisición de los requerimientos 2 Análisis de los requerimientos
El sistema de Calidad de GFI/AST
Aprendizaje de Ingeniería de la Calidad, basado en proyectos.
PROCESO UNIFICADO DE DESARROLLO R.U.P.
Modelo de la cascada (cont.)
Elaboración de los documentos
Presentación de seguimiento del proyecto Equipo LSI 02
La Materia y sus transformaciones
Tema 2 Sistemas de información y la organización
PROYECTO INFORMÁTICO ¿QUÉ ES UN PROYECTO INFORMÁTICO?
Presentación de seguimiento del proyecto Equipo LSI 02
OBJETIVO: Reconocer las etapas del Modelo de investigación científico
Sistema de Búsqueda de Respuestas
INSTITUTO TECNOLOGICO DE VERACRUZ 1.5 El proceso de simulación
Olimpiada Mátemática SAEM Thales
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Canvas de diseño Challenge Based Learning
Gestión de Proyectos Informáticos (GPI) ISW
Transcripción de la presentación:

Calidad en la Prueba de Software M.C. Juan Carlos Olivares Rojas http://antares.itmorelia.edu.mx/~jcolivar/documents/qualitytest.ppt Diciembre 2009

Competencia Genéricas: Análisis, Diseño de soluciones, Creatividad, Trabajo en equipo, Aprender a Aprender Específicas: Diseñar planes de pruebas e implementarlos utilizando alguna herramienta automatizada de pruebas.

¿Qué tiene mayor calidad? Los dos tienen la misma calidad siempre y cuando cumplan con sus requerimientos Para ello debemos probar sus especificaciones

Pruebas La fase de pruebas se realiza de distintas formas tratando de encontrar la mayoría de los errores que se encuentran de manera inherente en el software. Pruebas: verificación y validación Depuración: es la detección, corrección y eliminación de errores de software.

Pruebas Los errores del software le salen muy caros a Estados Unidos: 59 500 millones de dólares al año. 50% de los fallos corresponde a los usuarios el resto a los programadores y vendedores. Las pruebas al inicio del ciclo reducirían los costos por fallos en 22 200 millones de dólares.

Pruebas Pruebas: mecanismo de control para asegurar la calidad de un software. ¿Por qué tenemos que probar? Toda actividad de construcción (codificación) es susceptible de cometer errores dado que se trata de una actividad humana. Al realizar la depuración de un programa existe la posibilidad de un 50% de cometer otro error.

Pruebas En el pasado se hacían pruebas previas antes de codificar dado que no se tenían sistemas on-line como ahora.

Pruebas En el presente el software es más complejo y dinámico por lo que en muchas ocasiones se empieza a construir software sin probarlo de manera adecuada.

Pruebas El tener un plan de pruebas ayuda a clarificar el proceso de depuración. El plan de pruebas debe de estar mucho antes de la construcción del software. Existen muchos tipos de prueba dependiendo de la forma en como se llevan acabo y dependiendo del autor. Nosotros tomaremos el siguiente criterio.

Participación de los usuarios Tipos de Prueba Participación de los usuarios Alfa Beta

Tipos de Prueba Caja Blanca Caja Negra Estrés Por su forma

Tipos de Prueba Unitarias Integración Aceptación Por su alcance

Ejercicio Habilidades de inspección

Ejercicio 1 Llenar los siguientes formatos para figuras chicas, medianas e indistintas Tamaño:______ Rojo Azul Amarillo Color Indistinto Triángulo Cuadrado Círculo Forma Indistinta

Solución Ejercicio 1 Tamaño: Chico Rojo Azul Amarillo Color Indistinto Triángulo 2 Cuadrado 1 4 Círculo Forma Indistinta 6 COLOR FORMA

Solución Ejercicio 1 Tamaño: Grande Rojo Azul Amarillo Color Indistinto Triángulo 1 2 4 Cuadrado Círculo 3 Forma Indistinta 9 COLOR FORMA

Solución Ejercicio 1 Tamaño: Indistinto Rojo Azul Amarillo Color Triángulo 1 4 6 Cuadrado 2 3 Círculo Forma Indistinta 8 15 COLOR FORMA

Importancia de las Pruebas Quien lo realiza? Programadores

Pruebas “Lean” Mito: trabajo del tester es encontrar defectos Inspección para prevenir o para detectar defectos (función del SQA). Pruebas automatizadas antes que el código De aceptación Unitarias Eliminar el desperdicio: Lista de bugs.

Pruebas: Mejores Prácticas Diseñar un caso de prueba para cada funcionalidad del software. Establecer como mínimo un caso de prueba de datos correcto. Establecer como mínimo un caso de prueba de datos incorrecto.

Pruebas Se recomienda probar lo antes posible cualquier fragmento de código. Las pruebas ayudan al aseguramiento de calidad pero no garantizan que un software esté 100% libre de errores. No se pueden tener pruebas que abarquen el 100% de los casos de uso. Se deben realizar pruebas de segmentos

Mejores Prácticas Se necesita especificar las salidas o resultados esperados. Un programador debe de evitar probar sus propios programas. Una organización no debe de probar sus propios programas. Inspeccionar los resultados obtenidos de cada prueba.

Plan de Pruebas Se recomienda utilizar la metodología y formatos del estándar IEEE 829 para documentación de pruebas de software. Se simplificará el plan de pruebas con el siguiente formato.

Formato Plan de Pruebas ID: 1 Nombre: Enviar artículo Probado por: Fulanito Descripción: Se introducen los datos del artículo y de los autores. Condiciones de Entrada: nombreArticulo=“Calidad del Sw” … emailAutor=“jcolivar@itmorelia.edu.mx” Resultado Esperado: El sistema confirma la correcta recepción del artículo enviando un e-mail al autor de contacto con un userid y password para que el autor pueda posteriormente acceder al artículo. Resultado Obtenido: Se generan bien userid y password pero el correo no llegó. Criterio de Aceptación: No.

Plan de Pruebas Nos orientan hacia mejores resultados.

Práctica de Laboratorio Realizar un programa que permita calcular el área de un triángulo conociendo tres lados utilizando la fórmula de herón. Realizar el plan de pruebas que garantice que el programa está libre de errores

Arquitectura

Casos de Pruebas ¿Con cuantos casos de prueba valido que el software está correcto? Para cada caso de prueba sólo indicar las posibles entradas. Por ejemplo: Caso de Prueba 1: A=3 B=4 C=5, el resultado esperado debe de ser 6. ¿Es diferente el caso A=4 B=3 C=5?

Casos de Prueba Tipos de Triángulo en Base a sus lados: Se deben tener al menos un caso de cada uno de ellos y al menos un caso no válido: A=0 B=-1 C=“Hola”.

Caso de Prueba ¿Cuál es el resultado esperado para el caso de prueba A=1 B=2 C=3? Area=0 ¿Qué pasó? !Exento este parcial quien pueda dibujar un triangulo de dimensiones 1, 2 y 3 cm para cada lado!

Pruebas Unitarias con JUnit JUnit es la herramienta de pruebas unitarias automatizadas más popular del mundo. Está enfocada en Java aunque se ha migrado a varios lenguajes denominándose XUnit. La mayoría de los IDEs actuales como NetBeans la tienen integrada de forma automatizada. DEMO DE JUNIT

Conclusiones Las pruebas son el mecanismo de aseguramiento de la calidad más importante que existe. El diseño de planes de pruebas es una de las actividades más importantes del desarrollo de software. “Si se como probar un software, se lo que debe de hacer”.

Referencias Myers, et al. (2004), “The Art of Software Testing”, Wiley, Estados Unidos, 2004, ISBN: 0-471-46912-2 Roger S. Pressman, Ingeniería de software un enfoque práctico.Ed. McGraw Hill. Piattini M.G. y F.O, Calidad en el desarrollo y mantenimiento del software. Ed. RAMA.

¿Preguntas?