Pruebas de caja negra

Pruebas de caja negra
MIN
04 Sep 2023

Las pruebas de caja negra también se denominan pruebas basadas en la especificación del sistema sometido a prueba. A diferencia de las pruebas de caja blanca, las pruebas de caja negra no requieren conocer la arquitectura y el código internos de la aplicación.

Definición de pruebas de caja negra

Las pruebas de caja negra son un tipo de pruebas en las que se comprueba una aplicación basándose en las especificaciones de sus requisitos, sin necesidad de conocer su arquitectura interna.

Características de las pruebas de caja negra

  • Comprueba los requisitos funcionales y no funcionales de la aplicación.
  • No se requiere conocimiento de/acceso a codificación/diseño/arquitectura interna de software.
  • Los probadores pueden trabajar independientemente de los desarrolladores, garantizando pruebas objetivas y centradas en el usuario final.

Técnicas de pruebas de caja negra

A continuación se indican algunos de los tipos más comunes de técnicas de prueba de caja negra:

Partición de clases de equivalencia

La partición de clases de equivalencia consiste en particionar los datos de entrada en grupos lógicos o clases de equivalencia. Se supone que todos los elementos de datos que se encuentren en la clase de equivalencia serán tratados de la misma manera por la aplicación cuando se pasen como entrada.

Por ejemplo. para un software que halla el cuadrado de un número, podemos tener diferentes clases de equivalencia como – todos los números positivos, números negativos, números decimales, números decimales negativos, etc.

Su ventaja es que se reduce el tiempo total de ejecución de la prueba, porque se reduce considerablemente el número de datos de prueba.

Análisis del valor límite

El análisis del valor límite es una técnica de prueba de caja negra que está estrechamente relacionada con la distribución de clases de equivalencia. En esta técnica, analizamos el comportamiento de una aplicación con datos de prueba situados en los límites de las clases de equivalencia.

Por ejemplo. Para las clases de equivalencia con entrada entre 0 y 100, los datos de prueba utilizando el análisis umbral serían 0 y 100.

Su ventaja es que es más fácil y rápido encontrar errores porque la densidad de errores en los límites es mayor.

Tablas de decisión

Las pruebas de tablas de decisión se utilizan para probar el comportamiento de una aplicación en función de diferentes combinaciones de valores de entrada. La tabla de decisión tiene un conjunto diferente de combinaciones de entrada en cada fila y sus correspondientes resultados esperados.

Gráfico causa-efecto

La comprobación del gráfico causa-efecto se realiza mediante una representación gráfica de la entrada, es decir j. causas y resultados, es decir j. de consecuencia. Podemos determinar la cobertura de los gráficos de causa y efecto basándonos en el porcentaje de combinaciones de las entradas probadas sobre el total de combinaciones posibles.

Pruebas de transición de estado

La comprobación de las transiciones de estado se basa en un modelo de máquina de estados. En esta técnica, probamos la aplicación representando gráficamente la transición entre diferentes estados de la aplicación en función de diferentes eventos y acciones.

Prueba de casos de uso

La prueba de casos de uso es un tipo de prueba que se realiza utilizando casos de uso. En esta técnica, probamos la aplicación utilizando casos de uso que representan la interacción de la aplicación con diferentes actores.

diagrama de flujo de pruebas de caja negra con pasos
Pruebas de caja negra

¿Cómo probar una caja negra?

Después de familiarizarte con las técnicas de prueba de caja negra, aprendamos los pasos de una prueba de caja negra típica.

  • El primer paso es comprobar las especificaciones de requisitos proporcionadas por la aplicación. Los requisitos deben facilitarse en un expediente SRS debidamente documentado.
  • El probador recopila varios escenarios de prueba positivos y escenarios de prueba negativos para verificar que el sistema sometido a prueba los maneja correctamente. Esto garantizará una buena cobertura de las pruebas.
  • Se ejecutarán los casos de prueba y se verificará el resultado comparándolo con los resultados esperados. Este proceso se utiliza para indicar un resultado de prueba correcto o incorrecto.
  • Los casos de prueba fallidos se devuelven al equipo de desarrollo para que corrija los errores.
  • Tras la reparación, se realizará una nueva prueba para comprobar y asegurarse de que todos los casos de prueba se han ejecutado correctamente.

Ventajas de las pruebas de caja negra

  1. Las pruebas se realizan desde la perspectiva del usuario. Por tanto, hay más posibilidades de que se cumplan las expectativas del cliente.
  2. Hay pruebas objetivas porque tanto el probador como el desarrollador trabajan de forma independiente.
  3. Es adecuado para probar sistemas muy grandes.
  4. No se requieren conocimientos técnicos ni especificaciones lingüísticas.
  5. Los casos de prueba pueden diseñarse tan pronto como se completen los requisitos.

Pruebas de caja negra frente a pruebas de caja blanca

La diferencia entre las pruebas de caja negra y las pruebas de caja blanca es una de las preguntas más habituales en las entrevistas sobre pruebas. Ambas son igual de importantes y se llevan a cabo según la situación. He aquí algunas diferencias que aportan claridad a ambas técnicas.

Pruebas de caja negraPruebas de caja blanca
No se requieren conocimientos de aplicación.Todo el funcionamiento interno del SUT (sistema bajo prueba) es verificado por un probador que tiene un conocimiento completo del sistema.
Se centra en validar los requisitos funcionales del software.Se centra en la optimización del código.
Estas pruebas suelen realizarlas los probadores de software.Estas pruebas suelen realizarlas los desarrolladores de software, porque conocen la arquitectura interna y la implementación de la aplicación.
Lleva menos tiempo.Lleva relativamente más tiempo.
Tipos: pruebas funcionales, pruebas no funcionales, pruebas de regresión, etc.Tipos de pruebas de caja blanca: pruebas de trayectoria, pruebas de ciclo de bucle, pruebas de condición, etc.