¿Qué son las pruebas estáticas?
La prueba estática es un tipo de prueba de software en la que la aplicación de software se prueba sin ejecutar código. Se realizan revisiones manuales o automáticas del código, los documentos de requisitos y el diseño de los documentos para encontrar los errores. El principal objetivo de las pruebas estáticas es mejorar la calidad de las aplicaciones de software al encontrar errores en las primeras etapas del proceso de desarrollo de software.
Las pruebas estáticas implican revisiones manuales o automatizadas de los documentos. Esta revisión se realiza durante una fase inicial de pruebas para detectar el defecto en las primeras etapas de STLC. Examina documentos de trabajo y proporciona comentarios de revisión. También se denomina prueba de no ejecución o prueba de verificación.
Ejemplos de documentos de trabajo
- Especificaciones de requisitos
- Documento de diseño
- Código fuente
- Planes de prueba
- Casos de prueba
- Scripts de prueba
- Ayuda o documento de usuario
- Contenido de la página web
¿Qué son las pruebas dinámicas?
En Pruebas dinámicas , se ejecuta un código. Comprueba el comportamiento funcional del sistema de software, el uso de memoria / CPU y el rendimiento general del sistema. De ahí el nombre "Dinámico"
El objetivo principal de esta prueba es confirmar que el producto de software funciona de acuerdo con los requisitos comerciales. Esta prueba también se denomina técnica de ejecución o prueba de validación.
Las pruebas dinámicas ejecutan el software y validan la salida con el resultado esperado. Las pruebas dinámicas se realizan en todos los niveles de prueba y pueden ser pruebas de caja blanca o negra.
DIFERENCIA CLAVE
- Las pruebas estáticas se realizaron sin ejecutar el programa, mientras que las pruebas dinámicas se realizan ejecutando el programa.
- Las pruebas estáticas verifican el código, los documentos de requisitos y los documentos de diseño para encontrar errores, mientras que las pruebas dinámicas verifican el comportamiento funcional del sistema de software, el uso de la memoria / CPU y el rendimiento general del sistema.
- Las pruebas estáticas tratan de la prevención de defectos, mientras que las pruebas dinámicas tratan de encontrar y corregir los defectos.
- Las pruebas estáticas hacen el proceso de verificación, mientras que las pruebas dinámicas hacen el proceso de validación.
- Las pruebas estáticas se realizan antes de la compilación, mientras que las pruebas dinámicas se realizan después de la compilación.
- Las técnicas de prueba estática son de cobertura estructural y de declaración, mientras que las técnicas de prueba dinámica son Análisis de valor límite y Partición de equivalencia.
Técnicas de prueba estática:
- Revisiones informales: este es uno de los tipos de revisión que no sigue ningún proceso para encontrar errores en el documento. Con esta técnica, simplemente revisa el documento y da comentarios informales sobre él.
- Revisiones técnicas: un equipo formado por sus pares revisa la especificación técnica del producto de software y comprueba si es adecuado para el proyecto. Intentan encontrar cualquier discrepancia en las especificaciones y estándares seguidos. Esta revisión se concentra principalmente en la documentación técnica relacionada con el software, como la estrategia de prueba, el plan de prueba y los documentos de especificación de requisitos.
- Tutorial: el autor del producto de trabajo explica el producto a su equipo. Los participantes pueden hacer preguntas, si las hay. La reunión está dirigida por el autor. El escriba toma nota de los comentarios de revisión
- Inspección: El objetivo principal es encontrar defectos y la reunión está dirigida por un moderador capacitado. Esta revisión es un tipo de revisión formal en la que sigue un proceso estricto para encontrar los defectos. Los revisores tienen una lista de verificación para revisar los productos del trabajo, registran el defecto e informan a los participantes para que rectifiquen esos errores.
- Revisión de código estático: esta es una revisión sistemática del código fuente del software sin ejecutar el código. Comprueba la sintaxis del código, los estándares de codificación, la optimización del código, etc. Esto también se denomina prueba de caja blanca. Esta revisión se puede realizar en cualquier momento durante el desarrollo.
Técnicas de prueba dinámica:
- Pruebas unitarias: en Pruebas unitarias, los desarrolladores prueban las unidades o módulos individuales. Implica la prueba del código fuente por parte de los desarrolladores.
- Pruebas de integración: los desarrolladores agrupan y prueban los módulos individuales. El propósito es determinar qué módulos funcionan como se esperaba una vez integrados.
- Prueba del sistema: la prueba del sistema se realiza en todo el sistema comprobando si el sistema o la aplicación cumple con el documento de especificación de requisitos.
Además, las pruebas no funcionales como el rendimiento y las pruebas de seguridad se incluyen en la categoría de pruebas dinámicas.
Diferencia entre pruebas estáticas y dinámicas:
Pruebas estáticas |
Pruebas dinámicas |
---|---|
La prueba se realizó sin ejecutar el programa. | La prueba se realiza ejecutando el programa |
Esta prueba hace el proceso de verificación | Las pruebas dinámicas hacen el proceso de validación |
Las pruebas estáticas se tratan de la prevención de defectos. | Las pruebas dinámicas se tratan de encontrar y corregir los defectos. |
Las pruebas estáticas dan una evaluación del código y la documentación. | Las pruebas dinámicas dan errores / cuellos de botella en el sistema de software. |
Las pruebas estáticas implican una lista de verificación y un proceso a seguir. | Las pruebas dinámicas implican casos de prueba para su ejecución. |
Esta prueba se puede realizar antes de la compilación | Las pruebas dinámicas se realizan después de la compilación. |
Las pruebas estáticas cubren las pruebas de cobertura estructural y de declaraciones. | Las técnicas de prueba dinámicas son el análisis de valor límite y el particionamiento de equivalencia. |
El costo de encontrar defectos y reparar es menor | El costo de encontrar y corregir defectos es alto |
El retorno de la inversión será alto ya que este proceso se involucra en una etapa temprana. | El retorno de la inversión será bajo ya que este proceso implica después de la fase de desarrollo. |
Más comentarios comentarios son muy recomendables por su buena calidad. | Se recomiendan más defectos para una buena calidad. |
Requiere muchas reuniones | Comparativamente requiere menos reuniones |