TÉCNICAS DE
PRUEBAS
 Revelar el máximo numero posible de fallos
potenciales, siendo lo mas sistemático posible
identificando un conjunto representativo de
comportamientos del programa.
 Los ingenieros generan pruebas basados en
las especificaciones, la estructura del código,
los errores a descubrir (reales o artificiales), el
uso de campos de entrada de datos y la
naturaleza de la aplicación.
 Pruebas basadas en la intuición
y experiencia del ingeniero de
software
Pruebas ad hoc : las pruebas se
generan a partir de la habilidad,
intuición y experiencia en programas
similares del ingeniero de software.
Pruebas por exploración: se definen
como aprendizaje, diseño de pruebas y
ejecución de pruebas al mismo tiempo,
se basa en el conocimiento del
ingeniero de software.
Técnicas basadas en
la especificación
Particiones de equivalencia
Análisis de los valores limite
Tablas de decisión
Basadas en maquinas de estado finito
Pruebas basadas en las especificaciones
formales
Pruebas aleatorias
Técnicas basadas en
el código
Criterio basado en el flujo de control : cubrir todos los
bloques de código o líneas de código, verificar los caminos
de control de tipo de entrada-salida del grafico de flujo.
Criterio basado en el flujo de datos: uso- definición, para
reducir el numero de camino necesarios en la ejecución del
software.
Modelos de referencia para pruebas basadas en el código
(grafico de flujos, grafico de llamadas): Gráficos cuyos
nodos y arcos se corresponden con elementos del
programa.
Técnicas basadas en
errores
Idean casos de prueba que están
especialmente orientados a descubrir
categorías de errores probables o
predefinidos.
Pruebas por mutación: son un criterio de
pruebas en si mismas o generan pruebas
aleatorias .
Conjeturar errores: : los casos de prueba se
han diseñado específicamente por ingenieros
de software.
Técnicas basadas en
el uso
Perfil operativo: pruebas para la
evaluación de la confiabilidad en
tiempo real.
Pruebas orientadas a la
confiabilidad del software: son un
método de pruebas que forma
parte del proceso de desarrollo
completo.
Técnicas basadas en la
naturaleza de la
aplicación
 Pruebas orientadas a objetos
 Pruebas basadas en componentes
 Pruebas para Internet
 Pruebas para GUI
 Pruebas para programas concurrentes
 Pruebas de conformidad de protocolos
 Pruebas para sistemas de tiempo real
 Pruebas para sistemas de seguridad critica.
Seleccionando y
combinando técnicas
Funcional y estructuralmente: se
contrastan como pruebas
funcionales Vs. Estructurales, son
métodos complementarios..
Deterministas Vs. Aleatorias: casos
basados en la frecuencia en que
suceden durante el real.

Cap5 l3

  • 2.
    TÉCNICAS DE PRUEBAS  Revelarel máximo numero posible de fallos potenciales, siendo lo mas sistemático posible identificando un conjunto representativo de comportamientos del programa.  Los ingenieros generan pruebas basados en las especificaciones, la estructura del código, los errores a descubrir (reales o artificiales), el uso de campos de entrada de datos y la naturaleza de la aplicación.
  • 3.
     Pruebas basadasen la intuición y experiencia del ingeniero de software Pruebas ad hoc : las pruebas se generan a partir de la habilidad, intuición y experiencia en programas similares del ingeniero de software. Pruebas por exploración: se definen como aprendizaje, diseño de pruebas y ejecución de pruebas al mismo tiempo, se basa en el conocimiento del ingeniero de software.
  • 4.
    Técnicas basadas en laespecificación Particiones de equivalencia Análisis de los valores limite Tablas de decisión Basadas en maquinas de estado finito Pruebas basadas en las especificaciones formales Pruebas aleatorias
  • 5.
    Técnicas basadas en elcódigo Criterio basado en el flujo de control : cubrir todos los bloques de código o líneas de código, verificar los caminos de control de tipo de entrada-salida del grafico de flujo. Criterio basado en el flujo de datos: uso- definición, para reducir el numero de camino necesarios en la ejecución del software. Modelos de referencia para pruebas basadas en el código (grafico de flujos, grafico de llamadas): Gráficos cuyos nodos y arcos se corresponden con elementos del programa.
  • 6.
    Técnicas basadas en errores Ideancasos de prueba que están especialmente orientados a descubrir categorías de errores probables o predefinidos. Pruebas por mutación: son un criterio de pruebas en si mismas o generan pruebas aleatorias . Conjeturar errores: : los casos de prueba se han diseñado específicamente por ingenieros de software.
  • 7.
    Técnicas basadas en eluso Perfil operativo: pruebas para la evaluación de la confiabilidad en tiempo real. Pruebas orientadas a la confiabilidad del software: son un método de pruebas que forma parte del proceso de desarrollo completo.
  • 8.
    Técnicas basadas enla naturaleza de la aplicación  Pruebas orientadas a objetos  Pruebas basadas en componentes  Pruebas para Internet  Pruebas para GUI  Pruebas para programas concurrentes  Pruebas de conformidad de protocolos  Pruebas para sistemas de tiempo real  Pruebas para sistemas de seguridad critica.
  • 9.
    Seleccionando y combinando técnicas Funcionaly estructuralmente: se contrastan como pruebas funcionales Vs. Estructurales, son métodos complementarios.. Deterministas Vs. Aleatorias: casos basados en la frecuencia en que suceden durante el real.