Está en la página 1de 39

Las Pruebas

“LA PRUEBA ES EL PROCESO


DE EJECUTAR UN PROGRAMA
CON EL FIN DE ENCONTRAR
ERRORES”
INTRODUCCIÓN A LAS PRUEBAS

Cuando se está desarrollando una aplicación, en todo momento se debe


velar por la calidad del producto final. Para ello, se debe cuidar cada etapa.
La fase de pruebas están especialmente indicada para garantizar el
correcto funcionamiento de la aplicación, así como, su adecuación a los
requisitos y necesidades del cliente .
En esta fase se somete a cada elemento desarrollado a una serie de
pruebas que se recogen en los llamados “planes de pruebas”. Son una
batería de pruebas cuya finalidad es comprobar que todo funciona
correctamente. Los planes de prueba se elaboran durante todo el ciclo de
vida del proyecto.
Filosofía de las pruebas
 Debido a las especiales características del SW como la gran complejidad, la
prueba exhaustiva del SW es impracticable, no se pueden probar todas las
posibilidades de funcionamiento incluso en programas pequeños. Por ello
existen una serie de recomendaciones para las pruebas:
 Cada caso de prueba debe definir el resultado de salida esperado, este es el
que se compara con el realmente obtenido con la ejecución de la prueba, las
discrepancias entre ambos se considera síntoma de un posible defecto de
SW.
 El programador debe evitar probar sus propios programas
 Al generar casos de prueba se deben incluir tanto datos de entrada válidos y
esperados, como datos de entrada no válidos o inesperados, es frecuente
observar una tendencia hacia lo esperado y lo válido.
 Se deben evitar casos desechables, es decir, los no documentados y
diseñados con poco cuidado, ya que suele ser necesario probar una y
otra vez el SW hasta que quede libre de defectos. No documentar y
guardar los casos significa tener que repetirlos
 No deben hacerse planes de prueba suponiendo que prácticamente no
hay defectos en los programas y por tanto dedicando pocos recursos.
 No hay que considerar las prueba como una tarea destructiva, sino todo
lo contrario
Proceso de Prueba
La forma de hacer las pruebas consta de las siguientes partes:
 Planificación de la prueba: Se crea el documento de plan de pruebas donde se
señalan los recursos y elementos a probar, las actividades de prueba y el
personal responsable.
 Diseño de los casos de prueba: Se especifican los refinamientos necesarios
sobre el enfoque general reflejado en el plan.
 Ejecución de las pruebas: Se lleva a cabo la opción de probar.
 Agrupación y evaluación de los datos resultantes: Una vez concluidas las
pruebas se debe llevar un histórico de los hechos relevantes ocurridos durante la
ejecución de las mismas.
TIPOS DE PRUEBAS SEGÚN LAS TÉCNICAS DE
DISEÑO DE CASOS DE PRUEBA

 ENFOQUE FUNCIONAL O DE CAJA NEGRA


 ENFOQUE ESTRUCTURAL O DE CAJA BLANCA
 ENFOQUE ALEATORIO
1.-ENFOQUE FUNCIONAL O DE CAJA
NEGRA

 Consiste en estudiar sólo las entradas y salidas para derivar los casos
de prueba, aquí la prueba ideal consistiría en probar todas las posibles
entradas o salidas.
 Ya que no podemos ejecutar todas las combinaciones posibles de
entradas, se buscan criterios que permitan elegir un subconjunto de
casos cuya ejecución aporten una cierta confianza en detectar defectos
de SW, es decir, se eligen los casos de prueba que cubran un conjunto
extenso de casos posibles.
1.-ENFOQUE FUNCIONAL O DE CAJA
NEGRA
1.-ENFOQUE FUNCIONAL O DE CAJA
NEGRA

¿Cómo agrupamos las entradas y salidas?


A.-Particiones o clases de equivalencia.
B.-Análisis de valores límites
C.-Conjetura de errores.
1.-ENFOQUE FUNCIONAL O DE
CAJA NEGRA

A.-Particiones o clases de equivalencia:


Esta técnica divide la entrada de datos de un programa en clases o
grupos de datos, de forma que, si se realiza una prueba con uno de
los valores contenidos en la clase, se supones que el resultado
(erróneo o no) es el mismo para cualquier otro valor que pertenezca a
la misma clase de equivalencia.
1.-ENFOQUE FUNCIONAL O DE CAJA NEGRA
Ejemplo:
Construcción de una batería de pruebas para detectar posibles errores en la construcción
de los identificadores de un hipotético lenguaje de programación.
Las reglas que determinan sus construcción sintáctica son:
 No debe tener más de 15 ni menos de 5 caracteres
 El juego de caracteres utilizables es: – Letras (Mayúsculas y minúsculas) – Dígitos
(0,9) – Guión (-)
 Se distinguen las mayúsculas de las minúsculas
 El guión no puede estar ni al principio ni al final, pero puede haber varios
consecutivos.
 Debe contener al menos un carácter alfabético
 No puede ser una de las palabras reservadas del lenguaje
1.-ENFOQUE FUNCIONAL O DE CAJA
NEGRA
Condiciones de Entrada Clases de equivalencia válida Clases de equivalencia no válida

Entre 5 y 15 caracteres

El identificador debe estar formado por letras, dígitos y guión

Se diferencia entre letras mayúsculas y minúsculas

-El guión no puede estar al principio, ni al final -Puede haber varios seguidos en
el medio

-Debe contener al menos un carácter alfabético

No se pueden usar palabras reservadas


1.-ENFOQUE FUNCIONAL O DE CAJA NEGRA
Condiciones de Entrada Clases de equivalencia válida Clases de equivalencia no válida

Entre 5 y 15 caracteres 1. 5≤nº caracteres Ident. ≤15 2. nº caracteres Id<5 3. 15< nº


caracteres

El identificador debe estar formado por 4.Todos los caracteres del Ident. 5. Alguno de los caracteres del
letras, dígitos y guión ∈{letras, dígitos, guión} Ident. ∉{letras, dígitos, guión}

Se diferencia entre letras mayúsculas y 6. Palabra declarada 7. Utilizar la misma palabra con
minúsculas ∈{Identificadores válidos} alguna letra conmutada para
hacer referencia al mismo
identificador

-El guión no puede estar al principio, ni 8. Identificador sin guiones en los 9. Identificador con guión al
al final -Puede haber varios seguidos extremos y con varios consecutivos principio
en el medio en el medio 10. Identificador con guión al
final

-Debe contener al menos un carácter 11. Al menos un carácter del Ident. 12. Ningún carácter del Ident.
alfabético ∈{letras} ∈{letras}

No se pueden usar palabras 13. El Identificador ∉{palabras 14, 15, 16 ....un caso por cada
reservadas reservadas} palabra reservada
1.-ENFOQUE FUNCIONAL O DE CAJA NEGRA
1.-ENFOQUE FUNCIONAL O DE CAJA NEGRA

B.-Análisis de valores límites


Se basa en la evidencia experimental de que los errores suelen aparecer con mayor
probabilidad en los extremos de los campos de entrada.
Un análisis de las condiciones límites de las clases de equivalencia aumenta la
eficiencia de la prueba.
 Condiciones límites : valores justo por encima y por debajo de los márgenes de la
clase de equivalencia.
1.-ENFOQUE FUNCIONAL O DE CAJA
NEGRA
B.-Análisis de valores límites:

Condición Descripción de los casos de prueba

Entre 5 y 15 1 caso con nº de caracteres identificados=15


caracteres

1 caso con nº de caracteres identificados=5

1 caso con nº de caracteres identificados=16

1 caso con nº de caracteres identificados=4


1.-ENFOQUE FUNCIONAL O DE CAJA
NEGRA
B.-Análisis de valores límites:

Condición Casos de prueba

Numd3 (5) Num-1-let-3---d3 (15)

Numd3 (5)

Num-1-letr-3---d3 (16)

Nud3 (4)
1.-ENFOQUE FUNCIONAL O DE CAJA
NEGRA
C.-Conjetura de errores:
Esta técnica consiste en crear una lista de posibles errores que se
pueden cometer en cualquier fase del desarrollo del sistema y
realizar las pruebas que determinen si se producen o no dichos
errores. No es un método empírico o racional, sino que está basado
en la intuición o experiencia de los encargados de la realización de
las pruebas.
2.-ENFOQUE ESTRUCTURAL O DE
CAJA BLANCA
Consiste en centrarse en la estructura interna (implementación) del
programa para elegir los casos de prueba. En este caso, la prueba
ideal de SW consistiría en probar todos los posibles caminos de
ejecución, a través de las instrucciones de código, que puedan
trazarse.
Las pruebas exhaustivas son impracticables, el diseño de los casos
de prueba tiene que basarse en la elección de caminos importantes
que ofrezcan una seguridad aceptable en descubrir un defecto.
2.-ENFOQUE ESTRUCTURAL O DE CAJA
BLANCA
 Para ello se utilizan los criterios de cobertura lógica:
1.-Cobertura de sentencias: consiste en generar los casos de prueba
necesarios para que cada sentencia o instrucción se ejecute al menos una vez.
2.-Cobertura de decisiones: Consiste en escribir casos suficientes para que
cada decisión tenga por lo menos una vez un resultado verdadero y al menos
una vez un resultado falso. Una ejecución de pruebas que cumple la cobertura
de decisiones cubre también la cobertura de sentencias.
3.-Cobertura de decisión/condición: Consiste en exigir el criterio de
decisiones obligando a que se cumpla también el de condiciones.
2.-ENFOQUE ESTRUCTURAL O DE
CAJA BLANCA
 4.- Cobertura de condiciones: Se trata de diseñar tantos casos como sea
necesario para que cada condición de cada decisión adopte el valor verdadero al
menos una vez y el falso al menos una vez. No podemos asegurar que si se cumple
la cobertura de condiciones se cumple necesariamente la de decisiones.
 5.- Cobertura de condición múltiple: Se escriben casos de prueba suficientes
para que todas las combinaciones posibles de resultados de cada condición se
invoquen al menos una vez. Cumple también el de decisión/condición.
 6.- Cobertura de caminos: Se basa en el concepto de camino. Se define camino
como la secuencia de sentencias encadenadas desde la sentencia inicial del
programa hasta su sentencia final. La cobertura de caminos requiere que cada uno
de los posibles caminos de un programa sea ejecutado al menos una vez. Cumple
con la cobertura de sentencias y la de decisiones
3-ENFOQUE ALEATORIO

Se utilizan herramientas generadoras de pruebas. En


estas pruebas aleatorias se simula la entrada habitual del
programa creando datos para introducir en él que sigan la
secuencia y la frecuencia con las que podrían aparecer en la
práctica. Esto implica usar herramientas denominadas
generadores de pruebas, a la que se alimenta con una
descripción de los datos y secuencias de entradas posibles
y su probabilidad de ocurrir en el uso real.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
Según métrica v3 las pruebas son prácticas a realizar en diversos momentos de la vida del
sistema de información para verificar:
 El correcto funcionamiento de los componentes del sistema.
 El correcto ensamblaje entre los distintos componentes.
 El funcionamiento correcto de las interfaces entre los distintos subsistemas que lo
componen y con el resto de sistemas de información con los que se comunica.
 El funcionamiento correcto del sistema integrado de hardware y software en el entorno de
operación.
 Que el sistema cumple con el funcionamiento esperado y permite al usuario de dicho
sistema que determine su aceptación, desde el punto de vista de su funcionalidad y
rendimiento.
 Que los cambios sobre un componente de un sistema de información, no introducen un
 comportamiento no deseado o errores adicionales en otros componentes no modificados.
TIPOS DE PRUEBAS SEGÚN LA ESTRATEGIAS
DE APLICACIÓN
Las diversas pruebas a que debe ser sometido un sistema deben ser
realizadas tanto por el equipo de desarrolladores, como por los usuarios, equipos
de operación y mantenimiento en la implantación, aceptación y mantenimiento
del sistema de información.
Los tipos de pruebas que deben realizarse son:
✓ Pruebas Unitarias.
✓ Pruebas de Integración.
✓ Pruebas del Sistema.
✓ Pruebas de Implantación.
✓ Pruebas de Aceptación.
✓ Pruebas de Regresión.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS UNITARIAS
Las pruebas unitarias tienen como objetivo verificar la funcionalidad y estructura
de cada componente individualmente una vez que ha sido codificado.
 Las pruebas unitarias constituyen la prueba inicial de un sistema y las
demás pruebas deben apoyarse sobre ellas.
 Existen dos enfoques principales para el diseño de casos de prueba:
A.-Enfoque estructural o de caja blanca. Se verifica la estructura interna del
componente con independencia de la funcionalidad establecida para el mismo.
Por tanto, no se comprueba la corrección de los resultados si éstos se
producen. Ejemplos de este tipo de pruebas pueden ser ejecutar todas las
instrucciones del programa, localizar código no usado, comprobar los caminos
lógicos del programa, etc.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS UNITARIAS
B.-Enfoque funcional o de caja negra. Se comprueba el correcto
funcionamiento de los componentes del sistema de información,
analizando las entradas y salidas y verificando que el resultado es el
esperado. Se consideran exclusivamente las entradas y salidas del
Sistema sin preocuparse por la estructura interna del mismo.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS UNITARIAS
Los pasos necesarios para llevar a cabo las pruebas unitarias son los siguientes:
 Ejecutar todos los casos de prueba asociados a cada verificación establecida en el plan
de pruebas, registrando su resultado. Los casos de prueba deben contemplar tanto las
condiciones válidas y esperadas como las inválidas e inesperadas.
 Corregir los errores o defectos encontrados y repetir las pruebas que los detectaron. Si se
considera necesario, debido a su implicación o importancia, se repetirán otros casos de
prueba ya realizados con anterioridad.
 La prueba unitaria se da por finalizada cuando se hayan realizado todas las verificaciones
establecidas y no se encuentre ningún defecto, o bien se determine su suspensión.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DE INTEGRACIÓN
 En las pruebas de integración se examinan las interfaces entre grupos
de componentes o subsistemas para asegurar que son llamados cuando
es necesario y que los datos o mensajes que se transmiten son los
requeridos.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DE INTEGRACIÓN
Los tipos fundamentales de integración son los siguientes:
 Integración incremental
 De arriba abajo (top-down).
 De abajo arriba (bottom-up).
 Estrategias combinadas.
 Integración no incremental
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DEL SISTEMA
 Son pruebas de integración del sistema de información completo, y permiten probar el
sistema en su conjunto y con otros sistemas con los que se relaciona para verificar
que las especificaciones funcionales y técnicas se cumplen. Dan una visión muy
similar a su comportamiento en el entorno de producción.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DEL SISTEMA
En esta etapa pueden distinguirse los siguientes tipos de pruebas, cada uno con un
objetivo claramente diferenciado:
 Pruebas funcionales. Dirigidas a asegurar que el sistema de información realiza
correctamente todas las funciones que se han detallado en las especificaciones
dadas por el usuario del sistema.
 Pruebas de comunicaciones. Determinan que las interfaces entre los
componentes del sistema funcionan adecuadamente, tanto a través de dispositivos
remotos, como locales.
 Pruebas de rendimiento. Consisten en determinar que los tiempos de respuesta
están dentro de los intervalos establecidos en las especificaciones del sistema.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DEL SISTEMA
 Pruebas de volumen. Consisten en examinar el funcionamiento del sistema cuando
está trabajando con grandes volúmenes de datos, simulando las cargas de trabajo
esperadas.
 Pruebas de sobrecarga. Consisten en comprobar el funcionamiento del sistema en
el umbral límite de los recursos, sometiéndole a cargas masivas. El objetivo es
establecer los puntos extremos en los cuales el sistema empieza a operar por
debajo de los requisitos establecidos.
 Pruebas de disponibilidad de datos. Consisten en demostrar que el sistema
puede recuperarse ante fallos, tanto de equipo físico como lógico, sin comprometer
la integridad de los datos.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DEL SISTEMA
 Pruebas de facilidad de uso. Consisten en comprobar la adaptabilidad del
sistema a las necesidades de los usuarios, tanto para asegurar que se acomoda a
su modo habitual de trabajo, como para determinar las facilidades que aporta al
introducir datos en el sistema y obtener los resultados.
 Pruebas de operación. Consisten en comprobar la correcta implementación de
los procedimientos de operación, incluyendo la planificación y control de trabajos,
arranque y rearranque del sistema, etc.
 Pruebas de entorno. Consisten en verificar las interacciones del sistema con otros
sistemas dentro del mismo entorno.
 Pruebas de seguridad. Consisten en verificar los mecanismos de control de
acceso al sistema para evitar alteraciones indebidas en los datos.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DE IMPLANTACIÓN
El objetivo de las pruebas de implantación es comprobar el funcionamiento
correcto del sistema integrado de hardware y software en el entorno de
operación, y permitir al usuario que, desde el punto de vista de operación,
realice la aceptación del sistema una vez instalado en su entorno real y en
base al cumplimiento de los requisitos no funcionales especificados.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DE ACEPTACIÓN
El objetivo de las pruebas de aceptación es validar que un sistema cumple con el
funcionamiento esperado y permitir al usuario de dicho sistema que determine su
aceptación, desde el punto de vista de su funcionalidad y rendimiento.
Las pruebas de aceptación son definidas por el usuario del sistema y preparadas
por el equipo de desarrollo, aunque la ejecución y aprobación final corresponden
al usuario.
Estas pruebas van dirigidas a comprobar que el sistema cumple los requisitos de
funcionamiento esperado, recogidos en el catálogo de requisitos y en los criterios
de aceptación del sistema de información, y conseguir así la aceptación final del
sistema por parte del usuario.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DE ACEPTACIÓN
La validación del sistema se consigue mediante la realización de pruebas de
caja negra que demuestran la conformidad con los requisitos y que se recogen
en el plan de pruebas, el cual define las verificaciones a realizar y los casos de
prueba asociados. Dicho plan está diseñado para asegurar que se satisfacen
todos los requisitos funcionales especificados por el usuario teniendo en cuenta
también los requisitos no funcionales relacionados con el rendimiento, seguridad
de acceso al sistema, a los datos y procesos, así como a los distintos recursos
del sistema.
TIPOS DE PRUEBAS SEGÚN LA
ESTRATEGIAS DE APLICACIÓN
PRUEBAS DE REGRESIÓN
 El objetivo de las pruebas de regresión es eliminar el efecto onda, es decir,
comprobar que los cambios sobre un componente de un sistema de
información, no introducen un comportamiento no deseado o errores
adicionales en otros componentes no modificados.

También podría gustarte