logo

Pruebas funcionales

Antes de proceder a las pruebas funcionales, debemos saber sobre las pruebas, ¿qué son las pruebas?

¿Qué son las pruebas?

En términos simples, la prueba consiste en comparar el resultado real con el resultado esperado. Se realizan pruebas para identificar si toda la función está funcionando según lo esperado.

¿Qué son las pruebas de software?

La prueba de software es una técnica para comprobar si el resultado real coincide con el resultado esperado y garantizar que el software no tenga ningún defecto o error.

Las pruebas de software garantizan que la aplicación no tenga ningún defecto o que el requisito no se ajuste a la necesidad real. Tanto las pruebas manuales como las automatizadas pueden realizar pruebas de software.

Las pruebas de software también se definen como verificación de la aplicación bajo prueba (AUT).

Hay dos tipos de pruebas:

Pruebas funcionales

Pruebas funcionales:

Es un tipo de prueba de software que se utiliza para verificar la funcionalidad de la aplicación de software, si la función funciona de acuerdo con la especificación de requisitos. En las pruebas funcionales, cada función se prueba dando el valor, determinando la salida y verificando la salida real con el valor esperado. Las pruebas funcionales se realizan como pruebas de caja negra que se presentan para confirmar que la funcionalidad de una aplicación o sistema se comporta como esperamos. Se realiza para verificar la funcionalidad de la aplicación.

Las pruebas funcionales también se denominan pruebas de caja negra porque se centran en la especificación de la aplicación en lugar del código real. El evaluador tiene que probar sólo el programa y no el sistema.

Objetivo de las pruebas funcionales

El propósito de las pruebas funcionales es verificar la función de entrada principal, la función necesariamente utilizable, el flujo de la GUI de la pantalla. Las pruebas funcionales muestran el mensaje de error para que el usuario pueda navegar fácilmente por la aplicación.

¿Cuál es el proceso de prueba funcional?

Los probadores siguen los siguientes pasos en las pruebas funcionales:

  • El probador verifica la especificación de requisitos en la aplicación de software.
  • Después del análisis, el evaluador de especificaciones de requisitos elaborará un plan.
  • Después de planificar las pruebas, el evaluador diseñará el caso de prueba.
  • Después de diseñar la prueba, el evaluador del caso elaborará un documento de la matriz de trazabilidad.
  • El evaluador ejecutará el diseño del caso de prueba.
  • Análisis de la cobertura para examinar el área de prueba cubierta de la aplicación.
  • La gestión de defectos debe funcionar para gestionar la resolución de defectos.
Pruebas funcionales

¿Qué probar en las pruebas funcionales? Explicar

El principal objetivo de las pruebas funcionales es comprobar la funcionalidad del sistema de software. Se concentra en:

    Usabilidad básica:Las pruebas funcionales implican las pruebas de usabilidad del sistema. Comprueba si un usuario puede navegar libremente y sin dificultad por las pantallas.Accesibilidad:Las pruebas funcionales prueban la accesibilidad de la función.Función principal:Se centra en probar la característica principal.Condición de error:Las pruebas funcionales se utilizan para verificar la condición de error. Comprueba si se muestra el mensaje de error.

Explicar el proceso completo para realizar pruebas funcionales.

Existen los siguientes pasos para realizar pruebas funcionales:

  • Es necesario comprender los requisitos del software.
  • Identificar datos de entrada de prueba
  • Calcule el resultado esperado con los valores de entrada seleccionados.
  • Ejecutar casos de prueba
  • Comparación entre el resultado real y el calculado
Pruebas funcionales

Explicar los tipos de pruebas funcionales.

El objetivo principal de las pruebas funcionales es probar la funcionalidad del componente.

Las pruebas funcionales se dividen en varias partes.

A continuación se presentan los siguientes tipos de pruebas funcionales.

Pruebas funcionales

Pruebas unitarias: pruebas unitarias Es un tipo de prueba de software, donde se prueba la unidad o componente individual del software. Pruebas unitarias, examina las diferentes partes de la aplicación, mediante pruebas unitarias también se realizan pruebas funcionales, porque las pruebas unitarias garantizan que cada módulo funcione correctamente.

El desarrollador realiza pruebas unitarias. Las pruebas unitarias se realizan en la fase de desarrollo de la aplicación.

Pruebas de humo: pruebas funcionales mediante pruebas de humo. La prueba de humo incluye sólo la funcionalidad básica (características) del sistema. La prueba de humo se conoce como ' Pruebas de verificación de compilación .' Las pruebas de humo tienen como objetivo garantizar que funcionen las funciones más importantes.

Por ejemplo, la prueba de humo verifica que la aplicación se inicie correctamente y comprobará que la GUI responde.

Pruebas de cordura: pruebas de cordura implica que todo el escenario empresarial de alto nivel esté funcionando correctamente. Se realizan pruebas de cordura para verificar la funcionalidad y los errores corregidos. Las pruebas de cordura son un poco más avanzadas que las pruebas de humo.

Por ejemplo, el inicio de sesión funciona bien; todos los botones funcionan correctamente; después de hacer clic en el botón se realiza o no la navegación de la página.

dijstra

Pruebas de regresión: Este tipo de prueba se concentra en garantizar que los cambios en el código no afecten la funcionalidad existente del sistema. Las pruebas de regresión especifican cuándo surge un error en el sistema después de corregirlo; las pruebas de regresión se concentran en si todas las partes funcionan o no. Las pruebas de regresión se centran en si hay algún impacto en el sistema.

Pruebas de integración: pruebas de integración combinaron unidades individuales y probaron como grupo. El propósito de esta prueba es exponer las fallas en la interacción entre las unidades integradas.

Los desarrolladores y evaluadores realizan pruebas de integración.

Prueba de caja blanca: Prueba de caja blanca Se conoce como prueba de caja transparente, prueba basada en código, prueba estructural, prueba extensiva y prueba de caja de vidrio, prueba de caja transparente. Es un método de prueba de software en el que el evaluador conoce la estructura/diseño/implementación interna probada.

La prueba de caja blanca necesita el análisis de la estructura interna del componente o sistema.

Pruebas de caja negra: También se le conoce como prueba de comportamiento. En esta prueba, el evaluador no conoce la estructura/diseño/implementación interna. Este tipo de prueba es prueba funcional. La razón por la que llamamos a este tipo de prueba es prueba de caja negra. En este probador de pruebas, no se puede ver el código interno.

Por ejemplo, un evaluador sin conocimiento de las estructuras internas de un sitio web prueba las páginas web utilizando el navegador web, proporcionando información y verificando la salida con el resultado esperado.

Pruebas de aceptación del usuario: Es un tipo de prueba realizada por el cliente para certificar el sistema según requerimiento. La fase final de la prueba es la prueba de aceptación del usuario antes de lanzar el software al mercado o al entorno de producción. UAT es un tipo de prueba de caja negra en la que participarán dos o más usuarios finales.

Reevaluación: Reevaluación Es un tipo de prueba que se realiza para comprobar que los casos de prueba que no tuvieron éxito en la ejecución final pasen con éxito una vez solucionados los defectos. Por lo general, el evaluador asigna el error cuando lo encuentra mientras prueba el producto o su componente. El error se asignó a un desarrollador y él lo soluciona. Después de corregirlo, el error se asigna a un evaluador para su verificación. Esta prueba se conoce como reprueba.

Pruebas de bases de datos: La prueba de base de datos es un tipo de prueba que verifica el esquema, las tablas, los activadores, etc. de la base de datos bajo prueba. Las pruebas de bases de datos pueden implicar la creación de consultas complejas para cargar/probar la base de datos y comprobar su capacidad de respuesta. Comprueba la integridad y coherencia de los datos.

Ejemplo: consideremos una aplicación bancaria mediante la cual un usuario realiza una transacción. Ahora, a partir de las siguientes pruebas de bases de datos, las cosas son importantes. Ellos son:

  • La aplicación almacena la información de la transacción en la base de datos de la aplicación y la muestra correctamente al usuario.
  • No se pierde información en este proceso.
  • La aplicación no guarda información de operaciones parcialmente realizadas o abortadas.
  • No se permite el acceso a la información del usuario a través del

Pruebas ad hoc: Las pruebas ad hoc son un tipo de prueba informal cuyo objetivo es romper el sistema. Este tipo de prueba de software es una actividad no planificada. No sigue ningún diseño de prueba para crear los casos de prueba. Las pruebas ad hoc se realizan de forma aleatoria en cualquier parte de la aplicación; no admite ninguna forma estructurada de prueba.

Pruebas de recuperación: pruebas de recuperación se utiliza para definir qué tan bien una aplicación puede recuperarse de fallas, fallas de hardware y otros problemas. El propósito de las pruebas de recuperación es verificar la capacidad del sistema para recuperarse de los puntos de falla de la prueba.

Pruebas estáticas: pruebas estáticas es una técnica de prueba de software mediante la cual podemos comprobar los defectos del software sin necesidad de ejecutarlo. Las pruebas estáticas se realizan para evitar errores en las primeras etapas del desarrollo, ya que es más fácil encontrar fallas en las primeras etapas. Las pruebas estáticas se utilizan para detectar errores que pueden no encontrarse en las pruebas dinámicas.

¿Por qué utilizamos pruebas estáticas?

Pruebas estáticas ayuda a encontrar el error en las primeras etapas. Con la ayuda de pruebas estáticas, esto reducirá los plazos de desarrollo. Reduce el costo y el tiempo de las pruebas. Las pruebas estáticas también se utilizan para la productividad del desarrollo.

Pruebas de componentes: Pruebas de componentes También es un tipo de prueba de software en el que las pruebas se realizan en cada componente por separado sin integrarse con otras partes. La prueba de componentes también es un tipo de prueba de caja negra. Las pruebas de componentes también se conocen como pruebas unitarias, pruebas de programas o pruebas de módulos.

Prueba de caja gris: Prueba de caja gris Se define como una combinación de pruebas de caja blanca y de caja negra. La prueba Gray Box es una técnica de prueba que se realiza con información limitada sobre la funcionalidad interna del sistema.

Pruebas funcionales

¿Cuáles son las herramientas de prueba funcional?

Las pruebas funcionales también se pueden ejecutar mediante varias pruebas además de las manuales. Estas herramientas simplifican el proceso de prueba y ayudan a obtener resultados precisos y útiles.

Es una de las técnicas importantes y de máxima prioridad que se decidieron y especificaron antes del proceso de desarrollo.

Las herramientas utilizadas para las pruebas funcionales son:

Herramientas Características/Características
De hecho
  • Es una herramienta de prueba de automatización y de código abierto, publicada bajo la licencia de código abierto de la licencia Apache, que se utiliza para probar la aplicación web.
  • Sahi está escrito en Java y JavaScript y se considera para la mayoría de las técnicas de prueba.
  • Se ejecuta como servidor proxy; es independiente del navegador.
Jabón UI
  • Es una herramienta de prueba funcional de código abierto que se utiliza para probar aplicaciones web.
  • Es simple y fácil de diseñar.
  • Admite múltiples entornos, es decir, en cualquier momento, se puede configurar el entorno de destino.
agua
  • Watir, es una forma abreviada de prueba de aplicaciones web en Ruby, es una herramienta de código abierto para automatizar el navegador web./li>
  • Utiliza un lenguaje de programación Ruby, que es conciso y fácil de usar./li>
  • Watir admite múltiples navegadores en varias plataformas.
Selenio
  • La herramienta de código abierto, utilizada para pruebas funcionales tanto en aplicaciones web como en aplicaciones de escritorio.
  • Automatiza navegadores y aplicaciones web con fines de prueba.
  • Brinda la flexibilidad de personalizar el caso de prueba automatizado.
  • Proporciona la ventaja de escribir scripts de prueba, según los requisitos, utilizando un controlador web.
Prueba web de Canoo
  • Una herramienta de código abierto para realizar pruebas funcionales de la aplicación web.
  • Plataforma independiente
  • Fácil y rápido
  • Fácil de ampliar para satisfacer los requisitos crecientes y entrantes.
Pepino
  • Cucumber es una herramienta de prueba de código abierto escrita en lenguaje Ruby. Esta herramienta funciona mejor para el desarrollo basado en pruebas. Se utiliza para probar muchos otros lenguajes como java, c# y python. Pepino para probar usando algo de programación.

¿Cuáles son las ventajas de las pruebas funcionales?

Las ventajas de las pruebas funcionales son:

  • Produce un producto libre de defectos.
  • Garantiza que el cliente quede satisfecho.
  • Garantiza que se cumplan todos los requisitos.
  • Garantiza el correcto funcionamiento de todas las funciones de una aplicación/software/producto.
  • Garantiza que el software/producto funcione como se esperaba.
  • Garantiza la seguridad y la protección.
  • Mejora la calidad del producto.

Ejemplo: Aquí damos un ejemplo de software bancario. En un banco, cuando se transfiere dinero del banco A al banco B. Y el banco B no recibe la cantidad correcta, se aplica la tarifa, o el dinero no se convierte a la moneda correcta, o la transferencia es incorrecta o el banco A no recibe aviso del estado de cuenta del banco B que se ha recibido el pago. Estos problemas son críticos y pueden evitarse mediante pruebas funcionales adecuadas.

¿Cuáles son las desventajas de las pruebas funcionales?

Las desventajas de las pruebas funcionales son:

  • Las pruebas funcionales pueden pasar por alto un error crítico y lógico en el sistema.
  • Esta prueba no es garantía de que el software entre en funcionamiento.
  • La posibilidad de realizar pruebas redundantes es alta en las pruebas funcionales.

Envolver

Aquí podemos concluir fácilmente que para construir una base sólida para un producto de software de primera clase, las pruebas funcionales son esenciales. Actúa como base de la estructura y es una parte crucial de cada rutina de prueba.