0% encontró este documento útil (0 votos)
54 vistas22 páginas

701 Proceso

Este documento presenta información sobre pruebas de software, incluyendo tipos y niveles de pruebas, actividades y roles, diseño de casos de prueba y métricas. También describe modelos de ciclo de vida de software como el modelo en cascada, RUP y el modelo en espiral.

Cargado por

Augusto Monge
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
54 vistas22 páginas

701 Proceso

Este documento presenta información sobre pruebas de software, incluyendo tipos y niveles de pruebas, actividades y roles, diseño de casos de prueba y métricas. También describe modelos de ciclo de vida de software como el modelo en cascada, RUP y el modelo en espiral.

Cargado por

Augusto Monge
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TC3045 : Calidad y pruebas de

software
Ing. Jeann José Frias Garza
[email protected]
Temas

4. Pruebas del Software. (6 Semanas. Jueves 19:00-22:00)


 Introducción
 Proceso de pruebas del Software.
 Tipos y niveles de pruebas.
 Actividades y roles para cada tipo de prueba.
 Ambiente para las pruebas.
 Diseño de casos de pruebas: técnicas de caja blanca y caja negra.
 Métricas de pruebas.
 Herramientas.
Modelo en Cascada

Análisis

Diseño

Implementación o
Codificación

Pruebas

Mantenimiento
RUP

«Rup espanol» de Angeldx7 - Trabajo propio. Disponible bajo la licencia CC BY-SA 3.0 vía
https://es.wikipedia.org/wiki/Proce Wikimedia Commons -
so_Unificado_de_Rational https://commons.wikimedia.org/wiki/File:Rup_espanol.gif#/media/File:Rup_espanol.gif
Espiral

"Spiral model (Boehm, 1988)" by Connyderivative work: Spiral_model_(Boehm,_1988).png:


Marctroyderivative work: Conan (talk) - File:Spiralmodel_nach_Boehm.png,
Spiral_model_(Boehm,_1988).png. Licensed under Public Domain via Wikimedia Commons -
https://commons.wikimedia.org/wiki/File:Spiral_model_(Boehm,_1988).svg#/media/File:Spiral_model_(Boe
https://en.wikipedia.org/wiki/Spiral_model hm,_1988).svg
Mantenimiento

Realizar mantenimiento para

Corregir fallas
Mejorar el diseño (refactoring)
Implementar mejoras
Integrarse con otro software (nuevo)
Adaptar programas para soportar una nueva
plataforma tecnológica (HW, SW)
Migrar software legado (Reemplazar)
Retirar software (eliminar)
Mantenimiento

Categorías de mantenimiento
Preventivo (modificación posterior a la entrega para detectar y corregir fallas
latentes antes de que sean operacionales)
 Problemas sin incidentes, consumo mayor de recursos
Correctivo (modificaciones reactivas o reparaciones)
 Error de un cálculo
Perfectivo (modificación posterior a la entrega para proveer mejoras a los
usuarios)
 Nuevos requerimientos / funcionalidad
Adaptativo (modificación de acuerdo a un entorno cambiante)
 Actualización del SW porque se requiere actualizar el sistema operativo (Vulnerabilidades o
pérdida de soporte por parte del proveedor)
Corrección Mejora
Proactivo Preventivo Perfectivo
Reactivo Correctivo Adaptativo
Importancia

• Las fallas en el software pueden ser costosas y


resultar en una pérdida de tiempo, esfuerzo y
reputación

• En caso de ser SW crítico, estás fallas pueden


causar una pérdida financiera mayor e inclusive
daños en las personas y pérdida de la vida
Importancia

• Por eso es importante localizar y corregir (o


rectificar) los defectos de un sistema de software
antes de ser liberado para uso público

• http://www.gallop.net/blog/top-10-mega-
software-failures-of-2014/

• https://www.yahoo.com/tech/s/2016-vw-diesels-
software-affecting-emissions-tests-142019516--
finance.html
Conceptos

• Para eliminar los defectos de un software


defectuoso es importante entender que causa
dichos defectos
• El SW defectuoso es el resultado de errores
realizados durante su diseño y construcción
• Los asuntos del software se pueden clasificar en 3
categorías
Errores
Defectos
Fallas
Conceptos

• Los asuntos del software se pueden clasificar en 3


categorías
• Errores – Es la acción ejecutada por una persona o
personas que lleva a un resultado incorrecto. Al utilizar
el SW o durante el proceso de diseño y construcción
• Defectos – (Bug) Es una falla o imperfección en un
componente o sistema que puede causar que el SW no
ejecute la función requerida
• Fallas – (Failure) Es una desviación de un componente o
sistema de su resultado, servicio o entrega esperado
Conceptos

• No todos los errores se traducen en fallas, los errores


pueden guiar a un defecto el cual se puede convertir en
falla

• Un defecto causa que un SW falle


• Las fallas ocurren solo cuando el código es ejecutado
• No todos los defectos resultan en una falla

• Se puede reducir la probabilidad de que un error ocurra


en el futuro al conducir una análisis de causa raíz
Ciclo de Vida del Producto

Req Análisis Diseño Desarrollo Implementación


1
    Se entregan todos los
atributos correctos del
producto
2
    Los defectos pueden
ser corregidos (Fácil)
3
    Un rediseño es
requerido para corregir
los defectos (Difícil)
4
    La corrección puede
ser imposible

 Cero Defectos  Defecto


Impacto

El costo de investigar y
Costo corregir los defectos
son directamente
proporcionales al
incremento del tiempo

Tiempo
Análisis Diseño Desarrollo Implementación
Calidad

• Calidad es que tan bien un componente, sistema o


proceso es diseñado y que tan bien está conforme al
diseño

• Las pruebas ayudan a mejorar la confianza de que un


producto cumple los criterios de calidad

• Debemos asegurar que las pruebas sean exhaustivas. Ya


que si son débiles pueden dar la sensación de
seguridad pero estaríamos cubriendo los defectos y
estos serían descubiertos hasta la ejecución
Tipos de Pruebas de
acuerdo a los atributos
• Atributos Funcionales (Tareas)

• Atributos No – Funcionales (Que tan bien o rápido


se ejecuta la tarea) y requiere de una métrica
Validación y Verificación

• Validación
• Asegura que el producto cumple las necesidades de los
usuarios y que cumple el propósito para el cual fue
construido
• Construir el producto correcto

• Verificación
• Evalúa un producto para determinar que cumple los
requerimientos establecidos (requerimientos)
• Construir el producto correctamente
Expectativas

• Es necesario para entender las expectativas de los


clientes y luego crear un plan de pruebas
• Percepciones de la calidad
• Características físicas (Observación)
• Usabilidad (Uso para la tarea en cuestión)
• Estándares de la industria (Requerimientos funcionales y
no funcionales, cuantitativo)
• Respuestas subjetivas (Creer en el que el producto
cumplirá sus necesidades)
Propósito de las pruebas y
Pruebas exhaustivas
• Propósito de las pruebas es eliminar defectos y asegurar la
calidad del producto. No se debe exceder el tiempo y
presupuesto y se deben cumplir las necesidades de los clientes.

• ¿Qué tantas pruebas debo realizar?

• Pruebas Exhaustivas son imprácticas y no recomendables


• Ejemplo Probar un campo. ¿Debemos probar todas las
posibilidades?

• Se debe realizar una evaluación de riesgo (técnico y de negocio) y


considerar las restricciones de tiempo y presupuesto. Esto para
determinar la cantidad de pruebas
Matrices de Trazabilidad

• Matrices de trazabilidad
• Requerimientos vs Casos/Matrices de Prueba

Especificación / SW
Requerimiento X

Requerimiento Y

Requerimiento Z

Tipos de Pruebas

• Pruebas de desempeño
• Pruebas de volumen / stress
• Pruebas de integración
• Pruebas de funcionalidad
• Pruebas unitarias
• Pruebas de regresión
• Pruebas de caja blanca o caja negra
• Pruebas de usabilidad
• Pruebas de instalación
• Pruebas alpha
• Pruebas beta
• Pruebas de aceptación
FIN

También podría gustarte