La prueba dinámica (o análisis dinámico ) es un término utilizado en la ingeniería de software para describir la prueba del comportamiento dinámico del código.
Es decir, el análisis dinámico se refiere al examen de la respuesta física del sistema a variables que no son constantes y cambian con el tiempo. En las pruebas dinámicas, el software debe compilarse y ejecutarse. Implica trabajar con el software, dar valores de entrada y verificar si la salida es la esperada mediante la ejecución de casos de prueba específicos que se pueden hacer manualmente o con el uso de un proceso automatizado. Esto contrasta con las pruebas estáticas . Pruebas unitarias , pruebas de integración , pruebas de sistema y pruebas de aceptaciónutilizar pruebas dinámicas. Las pruebas de usabilidad que involucran una versión simulada realizada en papel o cartón pueden clasificarse como pruebas estáticas si se tiene en cuenta que no se ha ejecutado ningún programa; o, como dinámicas cuando se considera la interacción entre usuarios y dicha versión simulada es efectivamente la forma más básica de un prototipo.
Procedimiento principal
El proceso y la función de las pruebas dinámicas en el desarrollo de software, las pruebas dinámicas se pueden dividir en pruebas unitarias, pruebas de integración, pruebas del sistema, pruebas de aceptación y finalmente pruebas de regresión.
La prueba unitaria es una prueba que se centra en la corrección de los componentes básicos de un software. Las pruebas unitarias entran en la categoría de pruebas de caja blanca. En todo el sistema de inspección de calidad, el grupo de productos debe completar las pruebas unitarias y luego el software se entrega al departamento de pruebas.
Las pruebas de integración se utilizan para detectar si las interfaces entre las distintas unidades están conectadas correctamente durante el proceso de integración de todo el software.
La prueba de un sistema de software que ha completado la integración se denomina prueba del sistema, y el propósito de la prueba es verificar que la corrección y el rendimiento del sistema de software cumplen los requisitos especificados en sus especificaciones. Los probadores deben seguir el plan de prueba establecido. Al probar la solidez y la facilidad de uso del software, su entrada, salida y otro comportamiento operativo dinámico deben compararse con las especificaciones del software. Si la especificación del software está incompleta, la prueba del sistema depende más de la experiencia laboral y el juicio del evaluador, dicha prueba no es suficiente. La prueba del sistema es una prueba de caja negra .
Esta es la prueba final antes de que el software se ponga en uso. Es el proceso de prueba del software por parte del comprador. En el trabajo real de la empresa, generalmente se implementa pidiendo al cliente que pruebe o lance la versión Beta del software. La prueba de aceptación es una prueba de caja negra .
El propósito de las pruebas de regresión es verificar y modificar los resultados de las pruebas de aceptación en la fase de mantenimiento del software . En aplicaciones prácticas, la gestión de las quejas de los clientes es una realización de las pruebas de regresión.
Evaluación
Ventajas
- Las pruebas dinámicas podrían identificar las áreas débiles en el entorno de ejecución .
- Las pruebas dinámicas admiten el análisis de aplicaciones incluso si el probador no tiene un código real.
- Las pruebas dinámicas podrían identificar algunas vulnerabilidades que son difíciles de encontrar mediante pruebas estáticas .
- Las pruebas dinámicas también podrían verificar la exactitud de los resultados de las pruebas estáticas .
- Las pruebas dinámicas se pueden aplicar a cualquier aplicación.
Desventajas
- Las herramientas automatizadas pueden brindar una seguridad incorrecta, como verificar todo.
- Las herramientas automatizadas pueden generar falsos positivos y falsos negativos.
- Encontrar profesionales capacitados en pruebas dinámicas no es fácil.
- Las pruebas dinámicas son difíciles de rastrear las vulnerabilidades en el código y se necesita más tiempo para solucionar el problema. Por lo tanto, corregir errores se vuelve costoso.
Ver también
- Prueba de carga dinámica
- Análisis dinámico de programas
- Prueba de partición de tiempo , una metodología de prueba basada en modelos para la prueba reactiva de sistemas dinámicos o de control.
- Daikon , un generador invariante dinámico.
Referencias
- GJ Myers, The Art of Software Testing , John Wiley and Sons , Nueva York, Nueva York, 1979.