¿Qué son las pruebas dinámicas? Tipos, técnicas y ejemplos
Prueba dinámica
Prueba dinámica es un método de prueba de software que se utiliza para probar el comportamiento dinámico del código de software. El objetivo principal de las pruebas dinámicas es probar el comportamiento del software con variables dinámicas o variables que no son constantes y encontrar áreas débiles en el entorno de ejecución del software. El código debe ejecutarse para probar el comportamiento dinámico.
Todos sabemos que las pruebas son verificación y validación, y se necesitan 2 V para completar las pruebas. De las 2 V, la verificación se denomina prueba estática y la otra "V", la validación se conoce como prueba dinámica.
Ejemplo de prueba dinámica
Entendamos cómo hacer pruebas dinámicas con un ejemplo:
Supongamos que estamos probando una página de inicio de sesión donde tenemos dos campos que dicen "Nombre de usuario" y "Contraseña" y el nombre de usuario está restringido a alfanumérico.
Cuando el usuario ingresa el nombre de usuario como "Guru99", el sistema lo acepta. Mientras que cuando el usuario ingresa como Guru99@123, la aplicación arroja un mensaje de error. Este resultado muestra que el código está actuando dinámicamente. en base a la entrada del usuario.
Las pruebas dinámicas se realizan cuando se trabaja con el sistema real proporcionando una entrada y comparando el comportamiento real de la aplicación con el comportamiento esperado. En otras palabras, trabajar con el sistema con la intención de encontrar errores.
Entonces, con base en las afirmaciones anteriores, podemos decir o concluir que las pruebas dinámicas son un proceso de validación de aplicaciones de software como usuario final en diferentes entornos para crear el software adecuado.
¿Qué hacen las pruebas dinámicas?
El objetivo principal de las pruebas dinámicas es garantizar que el software funcione correctamente durante y después de la instalación del software, garantizando una aplicación estable sin fallas importantes (esta declaración se hace porque ningún software está libre de errores, las pruebas solo pueden mostrar la presencia de defectos y no ausencia)
El objetivo principal de la prueba dinámica es garantizar la coherencia del software; Analicemos esto con un ejemplo.
En una Aplicación Bancaria encontramos diferentes pantallas como Sección Mis Cuentas, Transferencia de Fondos, Bill Pagar, etc. Todas estas pantallas contienen un campo de importe que acepta algunos caracteres.
Digamos que el campo Mis cuentas muestra el monto como 25,000 y transferencia de fondos como $25,000 y Bill pantalla de pago como $25000 aunque la cantidad es la misma, la forma en que se muestra la cantidad no es la misma, lo que hace que el software no sea consistente.
La coherencia no sólo se limita a la funcionalidad, sino que también se refiere a diferentes estándares como rendimiento, usabilidad, compatibilidad, etc., por lo que resulta muy importante realizar pruebas dinámicas.
Tipos de pruebas dinámicas
Las pruebas dinámicas se clasifican en dos categorías.
- Blanco Box Pruebas
- Black Box Pruebas
La siguiente representación pictórica nos da una idea sobre los tipos de pruebas dinámicas, niveles de pruebas, etc.
Analicemos brevemente cada tipo de prueba y su propósito previsto.
Blanco Box Pruebas – Blanco Box Pruebas es un método de prueba de software en el que el evaluador conoce la estructura/diseño interno. El principal objetivo del blanco. Box La prueba es verificar cómo se está desempeñando el sistema según el código. Lo realizan principalmente los Desarrolladores o White. Box Testers que tengan conocimientos sobre la programación.
Black Box Pruebas - Black Box Pruebas Es un método de prueba en el que se analiza la estructura/código/diseño interno. NOT conocido por el evaluador. El objetivo principal de estas pruebas es verificar la funcionalidad del sistema bajo prueba y este tipo de pruebas requiere ejecutar el conjunto de pruebas completo y lo realizan principalmente los probadores, y no es necesario ningún conocimiento de programación.
El sistema Black Box Las pruebas se clasifican nuevamente en dos tipos.
Son
- Prueba de funcion
- Pruebas no funcionales
Prueba Funcional:
Las pruebas funcionales se realizan para verificar que todas las características desarrolladas estén de acuerdo con las especificaciones funcionales, y se realizan ejecutando los casos de prueba funcionales escritos por el equipo de control de calidad; en la fase de pruebas funcionales, el sistema se prueba proporcionando entradas, verificando la salida y comparar los resultados reales con los resultados esperados.
Existen diferentes niveles de pruebas funcionales, de los cuales los más importantes son
- Examen de la unidad – Generalmente, la Unidad es un pequeño fragmento de código que se puede probar, Examen de la unidad se realiza en una unidad individual de software y lo realizan los desarrolladores
- Pruebas de integración – Pruebas de integración es la prueba que se realiza después de la prueba unitaria y se realiza combinando todas las unidades individuales que son comprobables y la realizan desarrolladores o evaluadores
- Pruebas del sistema – Pruebas del sistema se realiza para garantizar si el sistema funciona según los requisitos y generalmente se realiza cuando el sistema completo está listo, lo realizan los evaluadores cuando la compilación o el código se entrega al equipo de control de calidad.
- Test de aceptación – Las pruebas de aceptación se realizan para verificar si el sistema ha cumplido con los requisitos comerciales y está listo para usar o listo para su implementación y generalmente las realizan los usuarios finales.
Pruebas no funcionales: Las pruebas no funcionales son una técnica de prueba que no se centra en aspectos funcionales y se concentra principalmente en los atributos no funcionales del sistema, como pérdidas de memoria, rendimiento o solidez del sistema. Las pruebas no funcionales se realizan en todos los niveles de prueba.
Existen muchas técnicas de prueba no funcionales, de las cuales las más importantes son
- Test de rendimiento – Test de rendimiento Se realiza para verificar si el tiempo de respuesta del sistema es normal según los requisitos bajo la carga de red deseada.
- Pruebas de recuperación – Las pruebas de recuperación son un método para verificar qué tan bien un sistema puede recuperarse de fallas y fallas de hardware.
- Pruebas de compatibilidad – Las pruebas de compatibilidad se realizan para verificar cómo se comporta el sistema en diferentes entornos.
- Prueba de seguridad – Prueba de seguridad se realiza para verificar la solidez de la aplicación, es decir, para garantizar que solo los usuarios/roles autorizados accedan al sistema
- Pruebas de usabilidad – Pruebas de usabilidad Es un método para verificar la usabilidad del sistema por parte de los usuarios finales para verificar qué tan cómodos se sienten los usuarios con el sistema.
Técnicas de prueba dinámicas
Técnicas de prueba dinámicas in STLC consta de diferentes tareas como análisis de requisitos para las pruebas, planificación de pruebas, diseño e implementación de casos de prueba, configuración del entorno de prueba, ejecución de casos de prueba, informe de errores y, finalmente, cierre de la prueba. Todas las tareas de las técnicas de prueba dinámicas dependen de la finalización de la tarea anterior en el proceso de prueba.
En STLC, podemos decir que el proceso de prueba dinámica real comienza con el diseño del caso de prueba, analicemos cada actividad en detalle.
Antes de entrar en el proceso, analicemos la estrategia que se debe seguir para las pruebas dinámicas.
La estrategia de prueba debe centrarse principalmente en los recursos disponibles y el plazo. Con base en estos factores, se debe documentar el objetivo de las pruebas, el alcance de las pruebas, las fases o ciclos de las pruebas, el tipo de entorno, los supuestos o desafíos que podrían enfrentarse, los riesgos, etc.
Una vez que la estrategia está definida y aceptada por la gerencia, comienza el diseño del caso de prueba del proceso real.
¿Qué es el diseño e implementación de pruebas?
En esta fase identificamos,
- Características a probar
- Derivar las condiciones de prueba
- Derivar los artículos de cobertura
- Derivar los casos de prueba
Configuración del entorno de prueba
Tenemos que asegurarnos de que el entorno de prueba siempre sea similar al entorno de producción; en esta fase tenemos que instalar la compilación y administrar las máquinas de prueba.
Ejecución de pruebas
Durante esta fase, los casos de prueba se ejecutan realmente.
Informe de error capturado
Según la ejecución, si los resultados esperados y reales no son los mismos, el caso de prueba debe marcarse como fallido y se debe registrar un error.
Ventajas de las pruebas dinámicas
- Las pruebas dinámicas pueden revelar los defectos descubiertos que se consideran demasiado difíciles o complicados y que no se pueden cubrir mediante el análisis estático.
- En las pruebas dinámicas, ejecutamos el software, de principio a fin, garantizando un software libre de errores, lo que a su vez aumenta la calidad de un producto y proyecto.
- Las Pruebas Dinámicas se convierten en una herramienta esencial para detectar cualquier amenaza de seguridad
Desventajas de las pruebas dinámicas
- Las pruebas dinámicas consumen mucho tiempo porque ejecutan la aplicación/software o código que requiere una gran cantidad de recursos.
- Las pruebas dinámicas aumentan el costo del proyecto/producto porque no comienzan temprano en el ciclo de vida del software y, por lo tanto, cualquier problema solucionado en etapas posteriores puede resultar en un aumento del costo.
Conclusión
In Ingeniería de Software, Verificación y Validación son dos medidas que se utilizan para comprobar que el producto de software cumple con las especificaciones de requisitos. Las pruebas estáticas implican verificación, mientras que las pruebas dinámicas implican validación. Juntos ayudan a ofrecer un software de calidad rentable.