Pruebas de caja negra y caja blanca

Pruebas de caja negra y caja blanca

Las pruebas de caja negra y caja blanca son dos enfoques distintos para probar software durante el proceso de desarrollo. Cuando se lleva a cabo una prueba, es importante considerar factores como la exhaustividad, la relevancia de las pruebas, la documentación de resultados y la repetibilidad para asegurar una evaluación completa y efectiva del software.

Las pruebas de caja negra, no se tiene en cuenta el funcionamiento interno del código fuente del programa. Estas especialmente se centran en evaluar las funcionalidades del software desde el punto de vista del usuario final. Algunas de sus técnicas más comunes son:

  • Participación de equivalencia: (posibles valores divididos en clases, valores de entrada y valores de salida). Se agrupan todos los valores para los cuales se espera que el programa tenga un comportamiento común, existen clases de equivalencia válidas y clases de equivalencias inválidas.
  • Valores límite: Complementan a la partición equivalente, se debe prestar mucha atención en que los límites deben estar correctamente definidos y programados.
  • Transición de estado: La transición de estados nos enuncia que todo sistema se mueve por transiciones de un paso a otro, nos podemos guiar por las transacciones válidas y las transiciones inválidas.
  • Tablas de decisión: Estas pruebas consideran que para encontrar el resultado esperado deben estar en conjunto varias condiciones que son los detonadores del resultado, llamado como causa y efecto.

Las pruebas de caja blanca, el tester tiene conocimiento detallado del código fuente del programa. Estas pruebas examinan la estructura interna, la lógica y el flujo de control del software, estas pruebas permiten desarrollar casos donde se evalúa el funcionamiento de las condiciones lógicas de cada módulo, bucles…  Algunas de sus técnicas más comunes son:

  • Cobertura de sentencia: Esta puede detectar código muerto, su objetivo es tener el número mínimo de casos de prueba para lograr tocar todos los nodos al menos una vez.
  • Cobertura de decisión o rama: Todas las aristas deben ser cubiertas por lo menos una vez, su objetivo al igual que las otras técnicas es lograr una cobertura de decisión al 100%, esto se logra con el número mínimo de casos de prueba que toquen al menos una vez todas las aristas o ramas del código.
  • Cobertura de condición: (detectar defectos resultantes de la implementación de condiciones múltiples: OR, AND y XOR, la cobertura de condición nos menciona que debemos realizar todas las posibles combinaciones y resultados derivados de combinación de la condición compuesta. Existen 3 tipos de cobertura: mínima cobertura de condición, múltiple cobertura de condición, y mínima múltiple cobertura de condición.
  • Cobertura de camino: Es la ejecución de todos los posibles caminos a través de un programa, el objetivo es lograr el 100% de cobertura de camino que consiste en tomar en cuenta todos los posibles caminos con respecto a los bucles y las sentencias.


Comentarios

Entradas populares de este blog

Resumen Estrategia de prueba del software

Mapa de Telaraña Fundamentos de Pruebas