Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Testing - Coggle Diagram
Software Testing
White Box Testing
Objetivos
-
Garantizar que todas las rutas lógicas, ramas y declaraciones del código se ejecuten correctamente.
Identificar errores de lógica, problemas de flujo de datos y problemas de rendimiento relacionados con el código.
-
Definición
Es un enfoque de prueba de software que se centra en evaluar el funcionamiento interno de una aplicación.
Técnicas de Prueba:
Cobertura de declaración (Statement Coverage): Verifica si todas las declaraciones del código se ejecutan al menos una vez.
Cobertura de rama (Branch Coverage): Evalúa si se recorren todas las posibles rutas dentro de las estructuras de control de flujo (condicionales, bucles, etc.)
Cobertura de ruta (Path Coverage): Prueba todas las combinaciones de caminos posibles a través del código.
Roles Clave:
Los desarrolladores suelen realizar pruebas de caja blanca durante el proceso de desarrollo para asegurarse de que su código esté libre de errores.
Los ingenieros de calidad o ingenieros de pruebas también pueden realizar pruebas de caja blanca para verificar aspectos específicos del código.
-
Desventajas:
-
No garantiza la detección de todos los errores en el software, ya que se enfoca en la estructura interna.
State-Based Unit Testing
Definición:
Pruebas unitarias basadas en el estado, es una técnica de prueba de software que se centra en evaluar el comportamiento de una unidad de código (generalmente una función, método o clase) mediante el examen de los cambios de estado que experimenta durante su ejecución.
Objetivos
Verificar que una unidad de código produce los resultados correctos y mantiene su estado interno de manera adecuada a medida que procesa entradas y produce salidas.
Asegurarse de que una unidad de código funcione correctamente en su entorno aislado, antes de integrarla en un sistema más grande.
-
Herramientas y Técnicas:
Aserciones (assertions): Se utilizan para expresar declarativamente las expectativas sobre el estado del sistema antes y después de una operación.
Objetos simulados (mock objects): A menudo se emplean para simular dependencias externas de la unidad de código bajo prueba.
Roles Clave:
Desarrolladores y equipos de desarrollo suelen realizar pruebas unitarias basadas en el estado durante el proceso de desarrollo de software para garantizar que las unidades de código sean correctas antes de la integración.
Ventajas
Detecta errores en el comportamiento de una unidad de código antes de que afecten a otros componentes.
-
-
Desventajas:
No reemplaza la necesidad de pruebas de integración y pruebas de sistema para validar la interacción entre las unidades.
Puede ser laborioso, ya que requiere la creación de casos de prueba para todas las posibles rutas de estado.