Según si el software bajo prueba se está ejecutando, la tecnología de prueba se puede dividir en pruebas estáticas y pruebas dinámicas.
Según si el software bajo prueba se está ejecutando, la tecnología de prueba se puede dividir en pruebas estáticas y pruebas dinámicas.
Extensión:
El método estático se refiere a no ejecutar el programa bajo prueba en sí, sino solo verificar la corrección del programa analizando o verificando la sintaxis, estructura, programa, interfaz, etc. del programa fuente. Realice análisis estructurales, análisis de diagramas de flujo y ejecución simbólica de especificaciones de requisitos, especificaciones de diseño de software y programas fuente para encontrar errores.
El método estático analiza las características estáticas del programa para encontrar defectos y puntos dudosos, como discrepancias de parámetros, anidamiento inadecuado de bucles y ramas, recursión no permitida, variables no utilizadas, referencias de puntero nulas y cálculos sospechosos. etc. Los resultados de las pruebas estáticas se pueden utilizar para realizar más comprobaciones de errores y proporcionar orientación para la selección de casos de prueba.
Las pruebas estáticas incluyen inspección de código, análisis de estructura estática y medición de la calidad del código. Las pruebas estáticas se pueden realizar manualmente, aprovechando al máximo el pensamiento lógico humano, o automáticamente con la ayuda de herramientas de software.
La inspección de código incluye recorrido del código, inspección de escritorio, revisión de código, etc. Comprueba principalmente la coherencia del código y el diseño, el cumplimiento del código y los estándares, la legibilidad del código y la corrección de la expresión lógica del código, la racionalidad de la estructura del código, etc.;
Puede encontrar violaciones de los estándares de programación, partes inseguras, ambiguas y ambiguas del programa, identificar partes no transferibles del programa. y problemas que violan el estilo de programación, incluida la inspección de variables, la inspección de nombres y tipos, la inspección de la lógica del programa, la inspección de la sintaxis del programa y la inspección de la estructura del programa, etc.
En la práctica, la inspección de código es más efectiva que las pruebas dinámicas. Puede encontrar rápidamente defectos e identificar de 30 a 70 defectos de diseño y codificación lógicos;
Sin embargo, la revisión del código lleva mucho tiempo y requiere conocimiento y experiencia. La inspección del código debe realizarse antes de la compilación y las pruebas dinámicas. Antes de la inspección, debe preparar documentos de descripción de requisitos, documentos de diseño del programa, listas de códigos fuente del programa, estándares de codificación de código y listas de verificación de defectos de código.
Las ventajas de las pruebas estáticas son la detección temprana de defectos, la reducción de los costos de retrabajo, la cobertura de puntos clave y la alta probabilidad de encontrar defectos. Las desventajas son el consumo prolongado de tiempo, la incapacidad de probar dependencias y los altos requisitos técnicos. .