sqm

Post on 04-Jul-2015

421 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gestión de la Calidad del Software

Conocer los conceptos de la Ingeniera de Software y las diferentes técnicas para realizar pruebas.

Modelos del ciclo de vida del Software

Cascada

En V

Prototipo

Incremental

Espiral

Verificación y Validación

Principios

Técnicas

Estrategias

Criterios de terminación

Herramientas de pruebas

Una forma conveniente de dividir los proyectos es en fases.

Las actividades del ciclo de vida transforman las necesidades del usuario en un producto de software que satisfaga las necesidades.

Requerimientos Diseño Construcción Operación y Mantenimiento

Se traducen las necesidades del cliente en un documento formal, se describen los acuerdos a los que se ha llegado con el cliente.

Es una necesidad del usuario para resolver un problema o cumplir con un objetivo.

Es una condición que debe tener un sistema para cumplir con un contrato, especificación o estándar.

La salida de esta fase es el documento de especificación de requerimientos del software (SRS).

El SRS debe incluir la siguiente información:

Lo que el programa va hacer funcionalmente.

Formatos de entrada y de salida de los datos.

Excepciones, errores y desviaciones.

El entorno del sistema.

Esta actividad empieza cuando esta disponible el documento de requerimientos.

Es el primer paso para llegar a una solución. El diseño es el modelo para la solución. El documento de requerimientos y de diseño

en conjunto describen el problema y la organización de la solución.

La información que debe incluirse en el documento de diseño es:

Especificación de la estructura de datos.

Funciones y Algoritmos.

Modularizacion.

Especificación de las Interfaces.

Información especifica del proyecto.

El proceso del diseño de sistemas de software consta de dos niveles.

Diseño del sistema

Diseño detallado

Si los requisitos y el diseño se hacen correctamente, la codificación es sencilla, casi mecánica.

El primer paso en la verificación durante la fase de construcción consiste en determinar si el código es coherente con el diseño.

El código y el diseño deben exhibir la misma estructura modular y tener las mismas interfaces.

Las inspecciones del código o revisiones son una herramienta muy útil y pueden mejorar considerablemente la fiabilidad y reducir el esfuerzo durante las pruebas.

La ejecución real del programa utilizando datos de prueba debe llevarse a cabo de manera ordenada.

Las funciones comunes en esta etapa son:

Identificación y corrección de errores

Modificaciones

Mejoras para agregar capacidades de rendimiento

System

FeasibilityValidation

Req. Analysis &

Project Planning

Validation

System Design

Verification

Detailed Design

Verification

Coding

Verification

Testing and

Integration

Installation Operations and

Maintenance

Feasibility

Report

Requirements Document

And Project Plan

System Design

Document

Detailed

Design Document

Programs

Test Plan,

Test Report

And Manuals

Installation

Report

Es similar al modelo cascada, exceptuando que este considera las actividades de pruebas en fases previas del ciclo de vida.

Se consideran las siguientes pruebas para cada fase del desarrollo:

Requerimientos -> Pruebas de Aceptación

Diseño de alto nivel -> Pruebas de sistema/Integración

Diseño detallado -> Pruebas unitarias

Este modelo se utiliza generalmente para desarrollar una aplicación rápida del software antes o durante la fase de requerimientos.

El cliente utiliza el prototipo y proporciona información al equipo de desarrollo en cuanto a su fuerza y sus debilidades.

Este modelo permite construir el software en las etapas elementales, en cada etapa se añade funcionalidad.

Cada etapa consiste en el diseño, código, pruebas y entrega.

Este modelo ofrece una orientación a los riesgos durante el ciclo de vida.

Las actividades se organizan como un espiral que tiene muchos ciclos.

La verificación es la demostración de la consistencia, la integridad y la exactitud del software en cada etapa del desarrollo del ciclo de vida.

La validación es la determinación de la exactitud del programa con respecto a las necesidades del usuario.

Un tutorial es un método informal para la evaluación del software.

Es un pequeño grupo de casos de prueba.

En la inspección se utiliza una lista de verificación para encontrar los errores.

Si las listas de verificación han sido diseñadas adecuadamente los errores se pueden encontrar muy fácilmente.

Se verifica que el software cumpla con los requerimientos.

Se trata de la operación de un sistema bajo condiciones controladas y la evaluación de los resultados.

Falta de comunicación Complejidad del software Errores de programación Cambio de los requerimientos Presiones de tiempo Egos Código mal documentado Herramientas de desarrollo de software

El objetivo de una metodología de pruebas es reducir el proceso de pruebas exhaustivas a un proceso de pruebas finito.

Se debe tomar un subconjunto de datos del dominio.

La parte mas crucial es encontrar un conjunto de datos de prueba suficientes que cubra el dominio pero pequeño para su uso.

Las pruebas deben realizarse de conformidad con los planes y procedimientos.

Generar datos de prueba en todas las etapas. Desarrollar un medio para el calculo de los

valores esperados para los datos de prueba. Guardar, organizar y anotar las pruebas.

Los casos de pruebas no solo deben ser escritos para valores de entrada validos.

Concentrar las pruebas en los módulos que presentan mas errores.

Volver a realizar pruebas cuando se hagan modificaciones.

Pruebas de caja negra Pruebas de caja blanca

Son pruebas en el nivel mas simple para probar funciones particulares o módulos de código.

Generalmente las realiza el programador.

Se prueban las partes combinadas para determinar si funcionan correctamente juntas.

Las partes pueden se módulos de código, aplicaciones individuales, etc.

Se trata de probar continuamente la aplicación conforme se agregan nuevas funcionalidades.

Se realizan en segmentos pequeños.

Proporciona la garantía final de que el software cumple con todos los requisitos funcionales y de comportamiento.

Se verifica que todos los elementos del sistema completo (hardware, personas, bases de datos, software) funcionen correctamente y que se logre la función global del sistema.

Es la prueba final, basada en las especificaciones del usuario final o cliente durante un periodo de tiempo limitado.

A veces se realiza con datos reales.

Se realizan cuando se hacen cambios en el sistema vigente.

Todas las partes afectadas por las modificaciones deben ser probadas de nuevo.

Terminar cuando el tiempo programado para las pruebas expira.

Terminan cuando los casos de prueba ya no reportan errores.

Gestión de la Calidad del Software

top related