Página de inicio de OpenText.
Temas técnicos

¿Qué son las pruebas funcionales?

 Ilustración de elementos informáticos centrados en un signo de interrogación

Descripción general

Las pruebas funcionales son un tipo de pruebas que buscan establecer si cada característica de la aplicación funciona según los requisitos del software. Cada función se compara con el requisito correspondiente para comprobar si su resultado se ajusta a las expectativas del usuario final. Las pruebas se realizan proporcionando entradas de muestra, capturando las salidas resultantes y verificando que las salidas reales son las mismas que las esperadas.

Algunos ejemplos de pruebas funcionales son:

  • ¿Pueden los usuarios iniciar sesión con éxito en la aplicación una vez que proporcionan credenciales legítimas?
  • ¿Rechaza la pasarela de pago la entrada y muestra un mensaje de error cuando un usuario introduce un número de tarjeta de crédito no válido?
  • ¿Las entradas de la pantalla "Añadir nuevo registro" añaden y guardan correctamente un nuevo registro en la base de datos?
 
Al final de las pruebas funcionales, el software debe tener una interfaz de usuario coherente, una API consistente y una integración perfecta con los procesos empresariales.

Pruebas funcionales

Pruebas funcionales frente a pruebas no funcionales

A diferencia de las pruebas no funcionales, las funcionales no se ocupan de investigar la calidad, la seguridad o el rendimiento del código fuente subyacente de la aplicación. No mide la velocidad, la escalabilidad y la fiabilidad.

En cambio, las pruebas funcionales se centran en los resultados del procesamiento y no en su mecánica, y determinan si la aplicación satisface las expectativas básicas mínimas del usuario.

En este sentido, la definición de pruebas funcionales es casi sinónima de las pruebas de caja negra, mientras que las pruebas de caja blanca suelen ser más propias de las pruebas no funcionales. 


Pasos típicos de las pruebas funcionales

Un plan de pruebas funcionales suele seguir la secuencia siguiente:

Identificar los objetivos de las pruebas

Los objetivos de las pruebas funcionales son las características que se espera que tenga el software en función de los requisitos del proyecto. Entre los objetivos de las pruebas se incluye validar que la aplicación funciona como estaba previsto y que gestiona los errores y las situaciones inesperadas con elegancia.

Crear escenarios de prueba

Elabore una lista de todos los escenarios de prueba posibles (o al menos de los más importantes) para una función determinada. Los escenarios de prueba describen las distintas formas en que se utilizará la función. Por ejemplo, en el caso de un módulo de pago, los escenarios de prueba pueden incluir varias divisas, la gestión de números de tarjeta no válidos o caducados y la generación de una notificación al finalizar con éxito la transacción.

Crear datos de prueba

Cree datos de prueba que simulen las condiciones normales de uso basándose en los escenarios de prueba que ha identificado. Puede introducir los datos de la prueba manualmente (por ejemplo, a partir de una hoja de cálculo MS-Excel o una impresión) o automáticamente mediante un script o una herramienta de prueba que lea e introduzca los datos desde una base de datos, un archivo plano, XML o una hoja de cálculo. Cada conjunto de datos de entrada debe tener también datos asociados que describan el resultado esperado que deben generar los datos de entrada.

Diseñar casos de prueba

Cree casos de prueba basados en los diferentes resultados deseados para las entradas de prueba. Por ejemplo, si introduce un número de tarjeta de crédito no válido, la aplicación debe mostrar un mensaje de error significativo.

Ejecutar los casos de prueba

Ejecute los casos de prueba a través de la aplicación y compare los resultados reales con los esperados. Si los resultados reales y esperados son diferentes, la función no ha superado la prueba y debe registrarse un defecto.

Deliberar sobre los defectos, seguirlos y resolverlos

Una vez identificado un defecto, debe registrarse en un sistema de seguimiento formal al que tenga acceso todo el equipo del proyecto. Deben realizarse los cambios necesarios en la aplicación y ejecutarse de nuevo el caso de prueba para confirmar la resolución antes de marcar un defecto como cerrado.


¿Cómo funcionan las herramientas de pruebas funcionales automatizadas?

Las herramientas de automatización de pruebas funcionales son capaces de interactuar con la interfaz de usuario de la aplicación sometida a prueba. Pueden identificar objetos en la pantalla, como cuadros de lista, cuadros de texto y botones, y pueden hacer selecciones, introducir datos y pulsarlos.

Muchas herramientas de automatización de pruebas funcionales incluyen un grabador, que "observa" al usuario mientras interactúa con una aplicación y sus objetos en la pantalla, registra los datos que introduce en el sistema y las acciones que realiza, como pulsar botones o seleccionar menús. Estas acciones pueden reproducirse a continuación, utilizando los objetos, datos y acciones capturados durante la grabación, para reproducir las actividades del usuario. La herramienta de pruebas anota los resultados de estas acciones y los compara con los resultados esperados definidos por el ingeniero de automatización para determinar si la prueba se ha superado o no.

Los ingenieros de automatización de pruebas funcionales pueden construir sus pruebas paso a paso utilizando los objetos reconocidos por la herramienta, o pueden empezar con una grabación, personalizando los pasos y parametrizando los datos para generalizarlos y permitir que las pruebas se ejecuten en distintos entornos, incluidos varios navegadores y dispositivos móviles.


Inteligencia artificial en las herramientas de pruebas funcionales

En la actualidad, las principales herramientas de automatización de pruebas incorporan funciones de inteligencia artificial (IA) que emplean técnicas avanzadas como el aprendizaje automático, la visión por ordenador, las redes neuronales y el procesamiento del lenguaje natural. Esto ayuda a identificar los objetos en pantalla de la misma forma que lo hace un ser humano, a interactuar con ellos y manipularlos de forma natural, y permite redactar las pruebas en un lenguaje sencillo.

Se ha demostrado que la automatización de pruebas funcionales basada en IA reduce el tiempo de creación de pruebas, aumenta la cobertura de las pruebas, incrementa la resistencia de los activos de pruebas y reduce los esfuerzos de mantenimiento de las pruebas.


¿Cuáles son las mejores prácticas de pruebas funcionales?

Crear casos de prueba con antelación

No espere a finalizar la codificación de la aplicación o el módulo para empezar a crear casos de prueba. Es en las primeras fases del proyecto cuando los requisitos de los usuarios estarán más frescos. Siempre puede modificar los casos de prueba más adelante si es necesario.

Automatizar

Las pruebas funcionales pueden ser un proceso arduo, repetitivo y lento. Cuanto más automatice, más rápido podrá garantizar la funcionalidad deseada o identificar y corregir defectos, y más ahorrará en tiempo de pruebas y costes en el proceso de entrega de la aplicación. Puede que no sea posible, o incluso deseable, automatizar todos los casos de prueba, pero el simple hecho de eliminar los casos de prueba más importantes de la lista manual puede mejorar enormemente el rendimiento de la inversión en pruebas.

Comprender el proceso de pensamiento del usuario

Los probadores funcionales deben tener un profundo conocimiento del proceso de pensamiento del usuario final. A menudo hay distintos tipos de usuarios para cada aplicación (compradores, vendedores, administradores, encargados de la introducción de datos, supervisores, etc.). Para cada plan de pruebas deben tenerse en cuenta los distintos tipos de usuarios y su navegación típica por la aplicación.

Dar prioridad a

Los probadores disponen de tiempo y recursos limitados. No se pueden probar todas las funciones. Algunas funciones de la aplicación son de alta prioridad y, por lo tanto, deben tener prioridad en las pruebas sobre las funciones de menor prioridad.


Nuestras herramientas automatizadas de pruebas funcionales basadas en IA pueden ayudar a

Aunque las pruebas funcionales pueden ser un reto para muchas organizaciones, los beneficios de una organización de control de calidad de pruebas funcionales adecuadamente automatizada superan con creces estos retos, y aprovechar el poder de las herramientas de pruebas funcionales probadas es la mejor manera de hacerlo. Descubra cómo las soluciones de pruebas funcionales de OpenText™ pueden ayudarle a extraer un valor óptimo de sus pruebas funcionales.

Acelerar la eficacia de las pruebas con la automatización de pruebas funcionales

Descubra cómo las herramientas de pruebas funcionales pueden optimizar la calidad de su software y mejorar la experiencia del usuario.

Más información

Notas al pie