* Prueba unitaria: Este es el tipo más común realizado a través de la compilación y la ejecución. Usted prueba componentes individuales (funciones, métodos, clases) de forma aislada para verificar que se comporten como se esperaba dadas entradas específicas. Por lo general, escribiría afirmaciones dentro de su código de prueba (usando marcos como Junit, Pytest u otros) para verificar las salidas.
* Prueba de integración: Si bien a menudo se hace por separado, ejecutar código compilado puede ayudar con las pruebas de integración si se trata de sistemas más pequeños. Usted prueba la interacción entre diferentes módulos o componentes * después de * que han sido probados de forma independiente. Está verificando que las conexiones y el flujo de datos entre las piezas funcionen correctamente.
* Prueba de regresión: Después de realizar cambios en su código (correcciones de errores, nuevas funciones), la compilación y la ejecución del código (a menudo con un conjunto de pruebas de unidad y de integración existentes) ayuda a identificar si sus modificaciones han introducido problemas inesperados en piezas de trabajo previamente.
* Prueba de humo: Esta es una prueba de muy alto nivel para garantizar que la funcionalidad básica del código compilado esté funcionando. Estás buscando fallas catastróficas:¿comienza el programa incluso? ¿Produce alguna salida obviamente incorrecta? Es un control de cordura antes de pasar a pruebas más rigurosas.
* Prueba del sistema (limitado): Puede hacer algunas pruebas básicas del sistema a través de la compilación y la ejecución. Por ejemplo, puede verificar que el programa maneje las entradas y salidas esperadas correctamente dentro de todo el sistema. Sin embargo, las pruebas completas del sistema generalmente implican escenarios y entornos más extensos.
* Prueba de rendimiento (limitado): Puede obtener * cierta * información de rendimiento rudimentaria mediante la ejecución de su código o monitoreo de uso de recursos (CPU, memoria). Sin embargo, las herramientas y metodologías de prueba de rendimiento dedicadas proporcionan resultados mucho más precisos y detallados.
Lo que no obtendrá directamente de la compilación y la ejecución:
* Prueba de usabilidad: Esto se centra en lo fácil que es el programa usar desde la perspectiva de un usuario. No obtendrá esto directamente de solo ejecutar código; Necesita comentarios de los usuarios.
* Pruebas de seguridad: Ejecutar el código solo no garantiza la seguridad. Las pruebas de seguridad dedicadas son cruciales para encontrar vulnerabilidades.
* Pruebas de estrés/prueba de carga: Estas pruebas llevan el sistema a sus límites para encontrar puntos de ruptura. Necesitaría herramientas diseñadas específicamente para simular cargas altas.
* Análisis estático: El análisis estático examina su código * sin * ejecutarlo, identificando posibles problemas (como olores de código, errores) puramente a través del análisis de código. La compilación es parte del proceso de desarrollo, pero no proporciona inherentemente un análisis estático en profundidad.
En resumen, la compilación y la ejecución de su código es esencial para una amplia gama de actividades de prueba, pero forma solo una parte de una estrategia de prueba integral. Usarlo consiste efectivamente en escribir buenas pruebas unitarias y pruebas de integración y posiblemente algunas verificaciones de rendimiento simples. Otros tipos de prueba necesitan herramientas y enfoques dedicados.