volume testing tutorial
Descripción general de las pruebas de volumen:
¿La imagen de abajo se correlaciona con nuestras aplicaciones de una forma u otra? Sí, esto es exactamente lo que sucede cuando sobrecargamos nuestros servidores, bases de datos, servicios web, etc.
Todos debemos conocer las pruebas funcionales y no funcionales, pero ¿tiene en cuenta el hecho de que las pruebas no funcionales son tan importantes como las pruebas funcionales? A veces, en lanzamientos de corta duración, tendemos a ignorar estas pruebas no funcionales que, idealmente, no deberíamos hacer.
No debería importarnos si el propietario del producto ha dado este requisito o no. Debemos considerar esta prueba como parte de nuestro proceso de prueba completo, incluso para versiones pequeñas.
Este tutorial sobre pruebas de volumen le brinda una descripción completa de su significado, necesidad, importancia, lista de verificación y algunas de sus herramientas para que pueda comprenderlo de una mejor manera.
Lo que vas a aprender:
- ¿Qué es la prueba de volumen?
- ¿Cuándo es imperativa esta prueba?
- ¿Por qué debería apuntar a las pruebas de volumen?
- ¿Cuál es mi lista de verificación para esta prueba?
- Prueba de volumen frente a prueba de carga
- ¿Cómo realizar esta prueba?
- Herramientas de prueba de volumen
- Conclusión
- Lectura recomendada
¿Qué es la prueba de volumen?
La prueba de volumen es un tipo de prueba no funcional. Esta prueba se realiza para verificar el volumen de datos manejado por la base de datos. Las pruebas de volumen, también llamadas pruebas de inundación, son pruebas no funcionales que se realizan para verificar el rendimiento del software o la aplicación frente a grandes datos de la base de datos.
La base de datos se estira hasta un punto de umbral agregando una gran cantidad de datos y luego se prueba la respuesta del sistema.
Esta fue la parte de la teoría, déjame explicarte con algunos ejemplos prácticos para ayudarte a comprender la 'cuando' parte de la prueba de volumen.
¿Cuándo es imperativa esta prueba?
Idealmente, cada software o aplicación debe probarse para determinar el volumen de datos, pero en algunos casos en los que los datos no serán pesados, tendemos a evitar esta prueba. Pero en algunos casos en los que los datos se tratan en MB o GB a diario, definitivamente se debe realizar una prueba de volumen.
A continuación se muestran algunos ejemplos de mi propia experiencia de 8 años que explican la parte 'cuándo':
Ejemplo 1:
Una de mis empresas fue un gran sistema que constaba de una aplicación web y una aplicación móvil. Pero la aplicación web en sí tenía 3 módulos manejados por 3 equipos diferentes.
A veces, incluso con nosotros, la base de datos solía volverse lenta cuando todos 'juntos' añadíamos datos para nuestras pruebas. Era molesto y el trabajo solía verse obstaculizado debido al enorme volumen de datos y para facilitar el trabajo, teníamos que limpiar la base de datos con bastante frecuencia.
Los datos que manejaba el sistema 'en vivo' eran de alrededor de un GB, por lo que, en comparación con la aplicación móvil, la aplicación web se probó con mucha frecuencia para determinar el volumen de datos. Los equipos de control de calidad de la aplicación web tenían sus propios scripts de automatización que se ejecutarían por la noche y realizarían estas pruebas.
Ejemplo 2:
Otro ejemplo de mi empresa fue un ecosistema que no solo tenía una aplicación web, sino también una aplicación de SharePoint e incluso un instalador. Todos estos sistemas se comunicaban con la misma base de datos para la transferencia de datos. Los datos manejados por ese sistema también eran muy grandes y si por alguna razón la base de datos se vuelve lenta, incluso el instalador dejaría de funcionar.
Por lo tanto, la prueba de volumen se realizó de forma regular y el rendimiento de la base de datos se observó minuciosamente para detectar cualquier problema.
Similitud, podemos tomarEjemplosde las pocas aplicaciones que usamos a diario para comprar, reservar boletos, transacciones financieras, etc.que se ocupan de transacciones de datos pesados y, por lo tanto, necesitan una prueba de volumen.
Por otro lado, es posible que no siempre se pueda lograr una prueba de volumen ideal, ya que tiene sus propias limitaciones y desafíos.
Algunas de sus limitaciones y desafíos incluyen:
- Es difícil crear la fragmentación exacta de la memoria.
- La generación de claves dinámicas es complicada.
- Crear un entorno real ideal, es decir, la réplica del servidor en vivo, puede ser complicado.
- Las herramientas de automatización, la red, etc. también afectan los resultados de la prueba.
Ahora hemos entendido cuando necesitamos hacer este tipo de pruebas. Entendamos también 'por qué' debemos hacer esta prueba como en el objetivo o el objetivo de realizar esta prueba.
¿Por qué debería apuntar a las pruebas de volumen?
Las pruebas de volumen pueden ayudarlo a comprender qué tan adecuado es su sistema para el mundo real y también ayuda a ahorrar su dinero que luego se gastará en mantenimiento.
A continuación se muestran algunas posibles razones para realizar esta prueba:
- La necesidad más básica es analizar el rendimiento de su sistema frente al aumento de datos. La creación de un gran volumen de datos le ayudará a comprender el rendimiento de su sistema en términos de tiempo de respuesta, pérdida de datos, etc.
- Identifique los problemas que ocurrirán con datos enormes y el punto de umbral.
- Más allá del punto de sostenibilidad o umbral, el comportamiento del sistema, es decir, si la base de datos se bloquea, no responde o se agota el tiempo.
- Implementar soluciones para la sobrecarga de DB e incluso verificarlas.
- Averiguar el punto extremo de su base de datos (que no se puede arreglar) más allá del cual el sistema fallará y, por lo tanto, se deben tomar precauciones.
- En el caso de más de un servidor de base de datos, averiguar los problemas con la comunicación de la base de datos, es decir, los más propensos a fallar, etc.
Ahora sabemos la importancia y el motivo de realizar esta prueba.
O Una experiencia que me gustaría compartir aquí es que, en términos de aplicaciones móviles, es posible que las pruebas de volumen no sean necesarias porque solo una persona usa la aplicación a la vez y las aplicaciones móviles están diseñadas para ser simples. .
Entonces, a menos que tenga una aplicación muy compleja con una gran cantidad de datos involucrados, las pruebas de volumen se pueden omitir.
Una vez que sepa qué debe ser verificado para su sistema o aplicación, lo siguiente que debe hacer es crear una lista de verificación para que defina su aplicación 'qué' necesita ser probado.
¿Cuál es mi lista de verificación para esta prueba?
Antes de pasar a algunos ejemplos para crear una lista de verificación para su aplicación o un sistema, primero comprendamos algunos consejos para tener en cuenta al crear una lista de verificación para las pruebas de volumen o el enfoque antes de comenzar la prueba.
Puntos a recordar:
- Mantenga a los desarrolladores informados sobre su plan de prueba porque saben mucho sobre el sistema y pueden proporcionarle información e incluso cuellos de botella.
- Comprenda bien el aspecto físico como en las configuraciones del servidor, RAM, procesador, etc. antes de diseñar estrategias para las pruebas.
- Comprenda las complejidades de la base de datos, los procedimientos, los scripts de la base de datos, etc. en la medida de lo posible, de modo que pueda describir la complejidad de su sistema en su conjunto.
- Prepare la informática, es decir, gráficos, hojas de datos, etc., si es posible para el volumen normal de datos y qué tan bien está el sistema, esto le ayudará a asegurarse de que antes de estresar la base de datos, el rendimiento sea bueno para la carga de datos normal. Esto también le ayudará a asegurarse, antes de pasar a la parte estresante, de que no hay problemas que requieran una solución para su prueba de volumen.
A continuación se muestran algunos ejemplos que puede agregar o usar en su lista de verificación:
- Verifique la exactitud de los métodos de almacenamiento de datos.
- Compruebe si el sistema tiene los recursos de memoria necesarios o no.
- Compruebe si existe algún riesgo de que el volumen de datos supere un límite especificado.
- Verifique y observe la respuesta del sistema al volumen de datos.
- Compruebe si los datos se pierden durante la prueba de volumen.
- Compruebe que si se sobrescriben datos, entonces se hace con información previa.
- Identifique las áreas que se extienden más allá del rango normal como muchos atributos (buscables), gran no. de tablas de búsqueda, muchas asignaciones de ubicación, etc.
- Como se mencionó anteriormente, primero cree una línea de base obteniendo resultados para el volumen normal y luego siga adelante con el estrés.
Antes de pasar a los otros ejemplos, casos de prueba y herramientas, primero comprendamos en qué se diferencia esta prueba de la prueba de carga.
Prueba de volumen frente a prueba de carga
A continuación se muestran algunas de las principales diferencias entre las pruebas de volumen y carga:
S.No. | Prueba de volumen | Prueba de carga |
---|---|---|
1 | La prueba de volumen se realiza para verificar el rendimiento de la base de datos frente a un gran volumen de datos en la base de datos. | La prueba de carga se realiza cambiando las cargas del usuario para los recursos y verificando el rendimiento de los recursos. |
2 | El enfoque principal de esta prueba son los 'datos'. | El enfoque principal de esta prueba está en los 'usuarios'. |
3 | La base de datos está sometida al límite máximo. | El servidor está estresado al límite máximo. |
4 | Un ejemplo simple puede ser la creación de un archivo de gran tamaño. | Un ejemplo sencillo puede ser la creación de una gran cantidad de archivos. |
¿Cómo realizar esta prueba?
Esta prueba se puede realizar tanto manualmente como con cualquier herramienta. En general, el uso de herramientas nos ahorrará tiempo y esfuerzos, pero en el caso de la prueba de volumen, según mi experiencia El uso de herramientas puede brindarle resultados más precisos en comparación con las pruebas manuales.
Antes de comenzar la ejecución de su caso de prueba, asegúrese de que:
- El equipo ha aceptado el plan de pruebas para esta prueba.
- Otros equipos de su proyecto están bien informados sobre los cambios en la base de datos y su impacto en su trabajo.
- Los bancos de pruebas se establecen para las configuraciones especificadas.
- Se prepara la línea de base para la prueba.
- Los volúmenes de datos específicos para las pruebas (secuencias de comandos o procedimientos de datos, etc.) están listos. Puede leer sobre las herramientas de creación de datos en nuestra página de generación de datos.
Veamos algunos casos de prueba de muestra que puede usar en la ejecución:
Verifique esto para todos los volúmenes de datos seleccionados para las pruebas de volumen:
- Verifique si la adición de datos se puede realizar correctamente y si se refleja en la aplicación o el sitio web.
- Verifique si la eliminación de datos se puede realizar correctamente y si se refleja en la aplicación o el sitio web.
- Verifique si la actualización de datos se puede realizar correctamente y si se refleja en la aplicación o el sitio web.
- Verifique que no haya pérdida de datos y que toda la información se muestre como se espera en la aplicación o sitio web.
- Verifique que la aplicación o las páginas web no estén agotadas debido al alto volumen de datos.
- Verifique que no se muestren errores de bloqueo debido al alto volumen de datos.
- Verifique que los datos no se sobrescriban y que se muestren las advertencias adecuadas.
- Verifique que otros módulos de su sitio web o aplicación no se bloqueen o se agoten con un gran volumen de datos.
- Verifique que el tiempo de respuesta del DB esté dentro del rango aceptable.
Herramientas de prueba de volumen
Como se mencionó anteriormente, las pruebas de automatización ahorran tiempo e incluso brindan resultados precisos en comparación con las pruebas manuales. Otro beneficio de usar herramientas para pruebas de volumen es que podemos ejecutar las pruebas por la noche y de esa manera el trabajo de los otros equipos o miembros del equipo no se verá afectado por el volumen de datos de la base de datos.
Podemos programar las pruebas por la mañana y los resultados estarán listos.
A continuación se muestra una lista de algunas herramientas de prueba de volumen de código abierto:
# 1) DbFit:
Esta es una herramienta de código abierto que admite el desarrollo basado en pruebas.
DbFit El marco de prueba está escrito sobre Fitness, las pruebas están escritas usando tablas y se pueden ejecutar usando cualquier herramienta Java IDE o CI.
# 2) HammerDb:
HammerDb también es una herramienta de código abierto que puede automatizarse, tener múltiples subprocesos e incluso permite la creación de scripts en tiempo de ejecución. Puede funcionar con SQL, Oracle, MYSQL, etc.
# 3) JdbcSlim:
JdbcSlim Los comandos se pueden integrar fácilmente en Slim Fitness y es compatible con todas las bases de datos que tienen un controlador JDBC. La atención se centra en mantener la configuración, los datos de prueba y las consultas SQL por separado.
# 4) NoSQLMap:
Esta es una herramienta de Python de código abierto que está diseñada para inyectar ataques e interrumpir automáticamente las configuraciones de la base de datos para analizar la amenaza. Funciona solo para MongoDB.
# 5) Ruby-PLSQL-spec:
El PLSQL se puede probar unitariamente usando Ruby ya que Oracle está disponible como una herramienta de código abierto. Esta básicamente usa dos bibliotecas: Ruby-PLSQL y Rspec.
Conclusión
Las pruebas de volumen son pruebas no funcionales que se realizan para analizar el rendimiento de la base de datos. Se puede hacer tanto manualmente como con la ayuda de algunas herramientas.
Si es un QA que es nuevo en esta prueba, le sugiero que juegue con la herramienta o ejecute algunos casos de prueba primero. Esto le ayudará a comprender el concepto de prueba de volumen antes de pasar a la prueba.
cambiadores de voz que funcionan con discordia
Esta prueba es bastante complicada y tiene sus propios desafíos, por lo que es muy importante tener un conocimiento profundo del concepto, la creación del banco de pruebas y el lenguaje DB antes de realizarlo.
Espero que este tutorial haya aumentado su volumen de conocimientos sobre este tema :)
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Tutorial de pruebas por pares o pruebas de todos los pares con herramientas y ejemplos
- Pruebas funcionales versus pruebas no funcionales
- Tutorial de pruebas de configuración con ejemplos
- Descarga del libro electrónico Testing Primer
- Tutorial de pruebas destructivas y no destructivas
- Las 11 mejores herramientas de automatización para probar aplicaciones de Android (herramientas de prueba de aplicaciones de Android)
- Las mejores herramientas de prueba de IVR: Tutorial de prueba CYARA y HAMMER