PRUEBAS1 - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

PRUEBAS1

Description:

Repetir cero, una y dos veces. Repetir un n mero medio (t pico) de veces ... Algunas clases de pruebas. Cubrimiento invocar todas las funciones (100%) ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 25
Provided by: mcol59
Category:

less

Transcript and Presenter's Notes

Title: PRUEBAS1


1
Pruebas de software
  • Técnicas de prueba del software
  • Estrategias de prueba del software

Autor Manuel Collado Fecha Marzo 2003
2
Técnicas de prueba del software
  • Contenido
  • Conceptos. Objetivos. Casos de prueba
  • Pruebas de caja blanca
  • Pruebas de caja negra

3
Pruebas concepto y objetivos
  • Comprobación del software
  • Demostración (proof) manual o semiautomática
  • Inspección manual del código
  • Prueba o ensayo (testing) ejecutar y ver
    resultados
  • Caso de prueba ensayo individual
  • Imposibilidad de pruebas exhaustivas
  • Impracticable, demasiado costoso
  • Imposible garantizar la ausencia de defectos
  • Si se provocan fallos, seguro que hay defectos
  • Si no aparecen fallos, puede que haya defectos, o
    no

4
Pruebas concepto y objetivos
  • Objetivos de las pruebas
  • Encontrar defectos en el software
  • Una prueba tiene éxito si descubre un defecto
  • Una prueba fracasa si hay defectos pero no los
    descubre
  • Pruebas de Verificación
  • Ver si cumple las especificaciones de diseño
  • Pruebas de Validación
  • Ver si cumple los requisitos del análisis

5
Pruebas de caja blanca
  • Concepto y terminología
  • Pruebas en que se conoce el código a probar
  • Caja blanca (clear box caja clara o
    transparente)
  • Se procura ejercitar cada elemento del código
  • Algunas clases de pruebas
  • Pruebas de cubrimiento
  • Pruebas de condiciones
  • Pruebas de bucles

6
Pruebas de cubrimiento
  • Ejecutar al menos una vez cada sentencia
  • Se necesitan varios casos de prueba
  • Determinar posibles caminos independientes
  • Cada condición debe cumplirse en un caso y en
    otro no. En general, se necesitan tantos casos
    como condiciones, más uno (número ciclomático)
  • Puede ser imposible cubrir el 100
  • Código que nunca se ejecuta condiciones
    imposibles
  • Ejemplo detección y notificación de errores
    internos en un código sin errores

7
Pruebas de condiciones
  • Cumplir o no cada parte de cada condición
  • Se necesitan varios casos de prueba
  • Determinar expresiones simples en las condiciones
  • Una por cada operando lógico o comparación
  • Cada expresión simple debe cumplirse en un caso y
    en otro no, siendo decisiva en el resultado
  • Puede ser imposible cubrir el 100
  • Expresiones simples no independientes

8
Pruebas de bucles
  • Conseguir números de repeticiones especiales
  • Bucles simples
  • Repetir cero, una y dos veces
  • Repetir un número medio (típico) de veces
  • Repetir el máximo-1, máximo y máximo 1!
  • Bucles anidados
  • Repetir un número medio (típico) los bucles
    internos, el mínimo los externos, y variar las
    repeticiones del bucle intermedio ensayado.
  • Ensayarlo con cada nivel de anidamiento

9
Pruebas de caja negra
  • Concepto y terminología
  • Pruebas en que se conoce sólo la interfaz
  • Caja negra (black box caja opaca)
  • Se procura ejercitar cada elemento de la interfaz
  • Algunas clases de pruebas
  • Cubrimiento ? invocar todas las funciones (100)
  • Clases de equivalencia de datos
  • Pruebas de valores límite

10
Pruebas de clases de equivalencia
  • Particiones de equivalencia
  • Los datos se clasifican según las distinciones
    visibles en la interfaz del programa.
  • Ejemplo EsPrimo Entero ? Booleano
  • Clase 1 primo ? 2 (2, 3, 5, 7, 11, ...)
  • Clase 2 no_primo ? 2 (4, 6, 8, 9, 10, ...)
  • Clase 3 valores singulares (0, 1)
  • Clase 4 no definido (-1, -2, ...)
  • Casos de ensayo con datos de cada clase

11
Pruebas de valores límite
  • Complemento a las particiones de equivalencia
  • Varios casos de prueba por cada partición
  • Valores típicos, intermedios
  • Valores primero y segundo del rango
  • Valores penúltimo y último
  • Valores vecinos fuera del rango (en otra
    partición)
  • Motivación
  • Los programadores se equivocan con más frecuencia
    al tratar los valores en la frontera (Ej gt en
    vez de ?)

12
Estrategias de prueba del software
  • Contenido
  • Pruebas de unidades
  • Pruebas de integración
  • Pruebas de regresión
  • Pruebas de validación

13
Pruebas sin estrategia
  • Motivación
  • Las pruebas son incómodas
  • La pruebas son aburridas
  • Estoy seguro de que lo he codificado bien
  • Probar todo junto, al final - Big-Bang
  • Falla por todas partes
  • Muy difícil diagnosticar las causas de los fallos
  • Muy costoso de arreglar
  • Resultado ? productos finales defectuosos

14
Actividades de prueba de software
  • Actividades de desarrollo

Análisis
Diseño
Codificación
Integración
Mantenimiento
15
Pruebas de unidades
  • Se prueba cada módulo

Programa de prueba
Módulo en pruebas
Reales o simulados (stubs)
Otros módulos
Otros módulos
16
Pruebas de integración
  • Integración ascendente

Programa de prueba
Otros módulos
Módulo en pruebas
Reales, ya probados
Otros módulos
Otros módulos
17
Pruebas de integración
  • Integración descendente

Otros módulos
Reales, ya probados
Módulo en pruebas
simulados (stubs)
Otros módulos
Otros módulos
18
Prueba unidades integración ascendente
  • Ejemplo

Dibujar
Curva_C
Pluma
Papel
19
Prueba unidades integración ascendente
  • Paso 1

P_Papel
Papel
20
Prueba unidades integración ascendente
  • Paso 2

P_Pluma
P_Papel
Pluma
Papel
21
Prueba unidades integración ascendente
  • Paso 3

P_Curva_C
Curva_C
P_Pluma
P_Papel
Pluma
Papel
22
Prueba unidades integración ascendente
  • Paso 4

P_Curva_C
Dibujar
Curva_C
P_Pluma
P_Papel
Pluma
Papel
23
Pruebas de regresión
  • Repetir las pruebas tras cada modificación
  • Repetir sólo pruebas de verificación
  • Pruebas de unidades
  • Pruebas de integración
  • Conservar y actualizar los programas de prueba
  • Usar herramientas de ejecución automática de las
    pruebas

24
Pruebas de validación
  • Comprobar que se satisfacen los requisitos
  • Se usan la mismas técnicas, pero con otro
    objetivo
  • No hay programas de prueba, sino sólo el código
    final de la aplicación
  • Se prueba el programa completo
  • Uno o varios casos de prueba por cada requisito o
    caso de uso especificado
  • Se prueba también rendimiento, capacidad, etc. (y
    no sólo resultados correctos)
  • Pruebas alfa (desarrolladores) y beta (usuarios)
Write a Comment
User Comments (0)
About PowerShow.com