Академический Документы
Профессиональный Документы
Культура Документы
CURSO:
CALIDAD Y PRUEBAS DE SOFTWARE
PROFESOR:
Jesws Rodriguez Salas
ALUMNO:
Las normas ISO 9000 son normas internacionales de Sistemas de la Calidad, aplicadas
adecuadamente en una organización ayudan a lograr una mejor calidad en los productos y
servicios, reducción en los costos, optimización de los resultados operativos y satisfacción de
sus clientes.
Cuando se habla de calidad del software se hace referencia al conjunto de cualidades que
determina su utilidad. Es el grado en que el software cumple con los requisitos especificados
(eficiencia, flexibilidad, corrección, mantenimiento, seguridad e integridad).
CALIDAD EN INGENIERIA DE SOFTWARE
Terminología.
• Calidad: “Conjunto de propiedades y características de un producto o servicio que le
confieren su aptitud para satisfacer unas necesidades explícitas o implícitas” (ISO
8402).
1
¿Qué es Software?
Programas de ordenador, procedimientos y posible documentación y datos asociados,
pertenecientes a la operación de un sistema informático. IEEE Std 610.12-1990.
Diferencia entre software de calidad y calidad del software: La primera es la percepción que
tiene un cliente. La segunda es algo objetivo y cuantificado.
2
ESTÁNDARES Y MODELOS DE EVALUACIÓN Y MEJORA DE LOS PROCESOS SOFTWARE
ISO 9000
Objetivos de ISO 9000:
• Comenzar con ISO 9004-1(1994). Gestión de calidad y elementos del sistema de calidad,
para diseñar e implementar el sistema de gestión de calidad.
• Una vez implantado el sistema de calidad, utilizar los modelos de garantía de calidad ISO
9001-2000 para demostrar su idoneidad.
Dimensión Procesos
Contiene los procesos que se han de evaluar. Se corresponden con los procesos del ciclo
de vida del software, definidos al estándar ISO 12207:1995.
• CUS: Cliente-Proveedor.
• ENG: Ingeniería.
• SUP: Soporte.
• MAN: Gestión.
• ORG: Organización.
Dimensión capacidad
3
CMM (Capability Maturity Model)
Estudia los procesos de desarrollo de software de una organización y produce una evaluación
de la madurez de la organización según una escala de cinco niveles: inicial, repetible, definido,
gestionado, optimizado.
• Es importante tener claro.
• Dónde nos encontramos.
• A dónde queremos llegar.
• Cómo llegaremos.
• Cómo sabremos si hemos llegado.
• No se puede hacer todo de golpe.
• Procesos piloto previos a un despliegue a gran escala.
Norma ISO 9126
Los estándares especificados definen un conjunto de criterios de desarrollo que guían la
manera en que el software se somete al trabajo ingenieril. Si no se siguen los criterios, la
carencia de calidad será un resultado casi seguro.
1. Funcionalidad: ¿las funciones requeridas están disponible en el software?
2. Confiabilidad: ¿qué tan confiable es el software?
3. Usabilidad: ¿es fácil de usar el software?
4. Eficiencia: ¿Qué tan eficiente es el software?
5. Portabilidad: ¿Qué tan fácil es trasferir el software a otro entorno?
6. Mantenibilidad: ¿Qué tan fácil de modificar es el software?
ISO/IEC 12207: es el estándar para los procesos de ciclo de vida del software de la
organización ISO
4
3. Verificación y validación.
Objetivos.
Detectar y corregir cuanto antes sus defectos y las desviaciones respecto al
objetivo fijado.
Disminuir los riesgos, las desviaciones sobre los presupuestos y sobre el
calendario o programa de tiempos del proyecto.
Mejorar la calidad y fiabilidad del software.
Valorar rápidamente los cambios propuestos y sus consecuencias.
Actividades.
4. Pruebas unitarias.
Conceptos:
Las pruebas son técnicas de comprobación dinámica siempre implica la ejecución
del programa permiten: evaluar la calidad de un producto, mejorarlo
identificando defectos y problemas.
Niveles de pruebas.
Pruebas unitarias (modulo único): verifica el funcionamiento aislado de piezas
de software que pueden ser probadas de forma separada; se obtiene buenos
casos de prueba unitarias de las maquinas o diagramas de estado.
Pruebas de integración (grupo de modulo): verifican la interacción entre
componentes del sistema de software, hay dos tipos de módulos incremental:
ascendente (bottom-up) y descendente (top-down).
Pruebas de sistema (sistema completo): verifican el comportamiento del
sistema es su conjunto. En este nivel es más adecuado para comprobar
requisitos no funcionales: seguridad, velocidad, exactitud, fiabilidad.
Estrategia de aplicación.
Mantienen dos órdenes. Escribir pruebas: requisitos, diseño arquitectónico,
diseño detallado, código. Ejecutar pruebas: pruebas unitarias, pruebas de
integración, pruebas de sistema, pruebas de aceptación.
Técnicas de pruebas.
El objetivo es romper el programa, encontrar el mayor número de fallos posibles.
Existen dos enfoques.
Caja negra (funcional): los casos de prueba se basan solo en el
comportamiento de entrada y salida.
Caja blanca (estructural): basada en información sobre como el software ha
sido diseñado o codificado.