Saltar al contenido

¿Qué es una prueba de caja BLANCA? Técnicas, muestras y tipos

Prueba de caja blanca

Prueba de caja blanca Es una técnica de prueba de software en la que se prueba la estructura interna, el diseño y la codificación del software para verificar el flujo de entrada y salida y para mejorar el diseño, la usabilidad y la seguridad. En una prueba de caja blanca, los probadores aparecen en el código, por lo que se denomina prueba de caja limpia, prueba de caja abierta, prueba de caja transparente, prueba basada en código y prueba de caja de vidrio.

Es una de las dos partes del enfoque de Box Testing para las pruebas de software. Su contraparte son las pruebas de Blackbox, las pruebas de usuario externo o de usuario final. Las pruebas de caja blanca en ingeniería de software, por otro lado, se basan en el funcionamiento interno de una aplicación e implican pruebas internas.

El término «WhiteBox» se utilizó debido al concepto de caja transparente. El cuadro transparente o el nombre WhiteBox simboliza la capacidad de ver a través de la capa exterior del software (o «caja») en su funcionamiento interno. Del mismo modo, la «caja negra» en «Prueba de caja negra«símbolo que no puede ver el funcionamiento interno del software para que solo se pueda probar la experiencia del usuario final.

En este tutorial de prueba de caja blanca, aprenderá:

¿Qué verifica en una prueba de caja blanca?

La prueba de caja blanca implica probar el código del software para lo siguiente:

La prueba se puede realizar a nivel de sistema, integración y unidad para el desarrollo de software. Verificar el flujo de trabajo de su aplicación es uno de los principales objetivos de las pruebas de caja blanca. Implica probar un conjunto de entradas predefinidas con salidas esperadas o requeridas, de modo que no tenga un error cuando resulte en una entrada en particular.

Hacer clic aquí si el video no es accesible

¿Cómo se hace una prueba de caja blanca?

Para darle una explicación simplificada de las pruebas de caja blanca, la hemos compartido dos pasos básicos. Los probadores hacen esto cuando prueban una aplicación usando la técnica de prueba de caja blanca:

PASO 1) ACERCA DEL CÓDIGO FUENTE

Lo primero que suele hacer un evaluador es aprender y comprender el código fuente de la aplicación. Debido a que las pruebas de caja blanca implican probar el funcionamiento interno de una aplicación, el evaluador debe estar muy familiarizado con los lenguajes de programación utilizados en las aplicaciones que está probando. Además, la persona que realiza la prueba debe estar muy familiarizada con las prácticas de codificación segura. La seguridad es a menudo uno de los principales objetivos de las pruebas de software. El evaluador debe poder detectar problemas de seguridad y prevenir ataques de piratas informáticos y usuarios ingenuos que pueden inyectar, consciente o inconscientemente, código malicioso en la aplicación.

Paso 2) CREAR CASOS DE PRUEBA Y RENDIMIENTO

El segundo paso básico para las pruebas de caja blanca es probar el código fuente de la aplicación para determinar el flujo y la estructura adecuados. Una forma es escribir más código para probar el código fuente de la aplicación. El probador no desarrollará muchas pruebas para cada proceso o conjunto de procesos en la aplicación. Este método requiere que el evaluador tenga un conocimiento personal del código y esto a menudo lo hace el desarrollador. Otros métodos incluyen Prueba manual, prueba y prueba de error y uso de herramientas de prueba como explicaremos más adelante en este artículo.

Ejemplo de prueba de WhiteBox

Considere el siguiente fragmento de código

Printme (int a, int b) {                       ------------  Printme is a function 
    int result = a+ b; 
    If (result> 0)
    	Print ("Positive", result)
    Else
    	Print ("Negative", result)
    }                                        -----------   End of the source code 

El propósito de las pruebas de WhiteBox en la ingeniería de software es verificar todas las ramas, bucles y declaraciones en el código.

Para ejecutar las declaraciones en el ejemplo de prueba de caja blanca anterior, habría casos de prueba de WhiteBox

Técnicas de prueba de caja blanca

La principal técnica de prueba de caja blanca es el análisis de cobertura de código. El análisis de cobertura de código elimina las lagunas en un Caso de prueba suite. Identifica áreas de un programa que no implementan una serie de casos de prueba. Una vez que se identifican las lagunas, crea casos de prueba para verificar partes del código que no se han probado, aumentando así la calidad del producto de software.

Hay herramientas automatizadas disponibles para analizar la cobertura del Código. A continuación, se muestran algunas técnicas de análisis de cubiertas que puede utilizar un probador de cajas:

Cubierta de declaración: – Esta técnica requiere que todas las declaraciones posibles en el código se prueben al menos una vez durante el proceso de prueba de Ingeniería de software.

Cubierta de rama – Esta técnica comprueba todas las rutas posibles (if-else y otros bucles condicionales) para una aplicación de software.

Aparte de lo anterior, hay muchos tipos de cubiertas, como la cubierta de condición, la cubierta de múltiples condiciones, la cubierta de ruta, la cubierta funcional, etc. Cada técnica tiene sus propios méritos e intenta probar cada parte del código del software (portada). Al usar una declaración de sucursal y una cobertura, generalmente obtiene una cobertura de código del 80-90%, que es adecuada.

Las siguientes son técnicas importantes de prueba de WhiteBox:

  • Cubierta de declaración
  • Cobertura de decisiones
  • Cubierta de rama
  • Cobertura condicional
  • Cobertura multicondicional
  • Cubierta de máquina de estado terminada
  • Cubierta de sendero
  • Prueba de flujo controlado
  • Prueba de flujo de datos

Consulte este artículo para obtener más detalles. https://www.guru99.com/code-coverage.html

Tipos de prueba de caja blanca

Prueba de caja blanca incluye varios tipos de pruebas que se utilizan para evaluar la usabilidad de una aplicación, bloque de código o paquete de software en particular. A continuación se muestra una lista:

  • Prueba de unidad: A menudo es el primer tipo de prueba que se realiza a pedido. Examen de la unidad se realiza en cada unidad o bloque de código a medida que se desarrolla. La prueba unitaria la realiza básicamente el programador. Como desarrollador de software, usted desarrolla y prueba algunas líneas de código, una sola función o un objeto para asegurarse de que funciona antes de que Unit Testing continúe ayudando a identificar la mayoría de los errores, en las primeras etapas del ciclo de vida del desarrollo de software. Las fallas identificadas en esta etapa son más baratas y fáciles de solucionar.

  • Prueba de pérdida de memoria: Las pérdidas de memoria son una de las principales causas de que las aplicaciones se ejecuten más lentamente. Un especialista en control de calidad con experiencia en la detección de fugas de memoria es esencial en los casos en los que tiene una aplicación de software de ejecución lenta.

Aparte de lo anterior, hay algunos tipos de pruebas que forman parte de las pruebas de caja negra y caja blanca. Se enumeran a continuación

  • Caja blanca Prueba de penetración: En esta prueba, el probador / desarrollador tiene información completa sobre el código fuente de la aplicación, información detallada de la red, direcciones IP involucradas y toda la información del servidor en el que se ejecuta la aplicación. El objetivo es atacar el código desde varios ángulos para exponer las amenazas a la seguridad.
  • Prueba de transformación de caja blanca: Las pruebas de mutación se utilizan a menudo para determinar las mejores técnicas de codificación para ampliar una solución de software.

Herramientas de prueba de caja blanca

A continuación se muestra una lista de las mejores herramientas de prueba de caja blanca.

Beneficios de las pruebas de caja blanca

Desventajas de las pruebas de WhiteBox

Notas de cierre: