Saltar la navegación

2.4.- Funcionales.

Caso práctico

"He oído hablar de las pruebas de caja negra", le comenta Ana a María. "¿A qué se refieren?"

Pruebas de caja negra son las que determinan las salidas que se esperan frente a unas entradas concretas. Son la base de las pruebas funcionales, donde sólo nos interesa que se cumplan los requerimientos, y no la forma en que se han implementado.

Imagen de una reunión de empresa en la que aparecen varias personas sentadas alrededor de una mesa. Todos están tomando apuntes a excepción de una mujer que, junto a un proyector, explica algo a sus compañeros.
Ministerio de Educación y Formación Profesional (Elaboración propia)



Las pruebas funcionales (o de conformidad) validan si el comportamiento observado del software es conforme con sus especificaciones (requisitos funcionales).

También son conocidas como Functional Testing y su objetivo fundamental es probar que las aplicaciones desarrolladas cumplen la función específica para la cual ha sido creada.

Normalmente, los responsables de realizar estas pruebas son los analistas de la aplicación (las personas responsables de la especificación de los requerimientos) con apoyo de los usuarios finales. Su aprobación dará paso a la fase de producción propiamente dicha.

Son pruebas de caja negra y las personas encargadas de realizar las pruebas, no les importa cómo se generan las respuestas, sólo analizan las salidas de la aplicación frente a sus entradas.

Imagen que muestra una mesa alrededor de la cual hay varias personas conversando.
Cirofono (CC BY)



Las pruebas funcionales intentan responder a las preguntas: "¿funciona esta utilidad de la aplicación?", "¿el usuario podrá hacer esto?".

Los sistemas que ya han sido sometidos a pruebas unitarias requieren menor tiempo para las pruebas funcionales. Esto es así porque se considera que el sistema debe ser ya bastante estable, con pocos errores críticos. Si esto no se cumpliese, deberíamos volver hacia atrás, a la etapa de pruebas unitarias (un sistema inestable sometido a pruebas funcionales requiere altos tiempos asociados con un avance lento, además al ser pruebas de caja negra, a la persona encargada de realizar las pruebas, no le interesa el funcionamiento intermedio del sistema.

En este tipo de pruebas no interesa el código, ni el algoritmo, ni la eficiencia ni la construcción de elementos innecesarios. Sólo interesa verificar que las salidas que devuelve la aplicación son las esperadas, en función de las entradas que tenga.

Dentro de las pruebas funcionales, encontramos tres tipos:

  • Análisis de valores límite: Como entradas, seleccionamos aquellos valores que están en el límite donde la aplicación es válida. (Si estos valores no dan problemas, el resto tampoco los dará).
  • Particiones equivalentes: Como entradas, se seleccionará una muestra representativa de todas las posibles. El resultado será extrapolable al resto.
  • Pruebas aleatorias: Como entradas, se selecciona una muestra de casos de prueba al azar. Se utiliza sólo en aplicaciones no interactivas.

Autoevaluación

Pregunta

Una de las estrategias en el diseño de pruebas funcionales, de caja negra, es la de particiones variables. ¿Cuál es su principal característica?

Respuestas

Selección de los valores límite de validez de las entradas.

Escoger al azar una muestra de entradas.

Escoger una muestra representativa de entradas.

Retroalimentación