oracle real application testing solution test oracle db before moving production
Hemos llegado a la parte final del serie de pruebas de base de datos Oracle.
Hasta ahora, nos hemos ocupado métodos de prueba de la base de datos Oracle. Continuando con este enfoque, profundizaremos en más detalles con respecto a Oracle Real Application Testing.
Hoy aprenderemos Oracle Real Application Testing, un sistema eficaz de garantía de cambios que evalúa el cambio del sistema en el propio entorno de prueba antes de introducirlo en producción.
Esta es la solución líder de Oracle para capturar la carga de trabajo de base de datos del entorno de producción real y reemplazarla en t es el medio ambiente .
Como se ha dicho en numerosas ocasiones, siempre debemos asegurarnos de probar la base de datos en todas las dimensiones posibles para erradicar las inestabilidades y asegurarnos de que no encontremos ningún problema imprevisto en nuestra instancia de producción.
Podemos categorizar Pruebas de aplicaciones reales de Oracle en dos grandes secciones:
- Analizador de rendimiento de SQL
- Reproducción de base de datos
Antes de continuar, tenga en cuenta que SQL Performance Analyzer y Database Replay requieren licencias adicionales, es decir, están disponibles a un costo adicional y una opción de Enterprise Edition.
Lo que vas a aprender:
Analizador de rendimiento de SQL
La GUI utilizada para acceder a SQL Performance Analyzer y Database Replay es Enterprise Manager, que se muestra a continuación:
Para acceder a SQL Performance Analyzer, simplemente haga clic en el enlace 'SQL Performance Analyzer'
(Haga clic en la imagen para verla ampliada)
SQL Performance Analyzer nos permite medir el impacto en el rendimiento de cualquier cambio en el sistema que pueda tener un impacto en la ejecución y el rendimiento de SQL.
Son de gran utilidad en casos como:
- Actualización de base de datos, parcheo
- Cambios de configuración en el sistema operativo: software o hardware
- Cambios en las estadísticas de Oracle Optimizer
- Cambios de usuario / esquema
Siempre se recomienda ejecutar SQL Performance Analyze en una prueba o UAT (prueba de aplicaciones de usuario) en lugar de en un sistema de producción. Dado que, al probar los efectos del cambio en términos de rendimiento, podríamos afectar inadvertidamente a los usuarios que se ejecutan en la instancia de producción. Además, ejecutarlo en una prueba garantizará que no alteremos ningún proceso que se esté ejecutando actualmente en producción.
A A continuación, se muestra una descripción general básica de un flujo de trabajo de SQL Performance Analyzer:
El análisis de rendimiento de SQL implica los siguientes pasos.
Paso 1)Captura de la carga de trabajo de SQL
Determine las declaraciones SQL que serían parte de su carga de trabajo SQL desde su instancia de producción que le gustaría analizar. Esta carga de trabajo debería representar idealmente la carga de trabajo que podría tener en su producción.
Capturamos estas declaraciones en un conjunto de ajuste de SQL y alimentamos este conjunto de ajuste de SQL al analizador de rendimiento de SQL.
Dado que el analizador consume una gran cantidad de recursos en su sistema, siempre recomendamos que se ejecuten en un sistema de prueba o UAT. Para ejecutarlo en un sistema de prueba, tendríamos que exportar el conjunto de ajuste de SQL que ya hemos creado en producción al sistema de prueba.
Paso 2)Creación de una tarea del analizador de rendimiento de SQL
Para ejecutar el Analizador, primero debe crear una tarea del Analizador de rendimiento de SQL. Esta tarea no es más que un repositorio que consolida todos los datos sobre el análisis que ejecuta SQL Performance Analyzer. Como se indicó anteriormente, el SQL Tuning Set se alimenta como estimulante al analizador.
nivel de entrada qa tester preguntas de la entrevista
Paso 3)Prueba de rendimiento de SQL anterior al cambio
Después de haber creado la tarea SQL Performance Analyzer y el SQL Tuning Set, necesitamos construir la infraestructura en el sistema de prueba.
Tenga en cuenta que cuando planeamos utilizar un sistema para probar, debemos asegurarnos de que sea muy similar al sistema de producción en términos de hardware, software y almacenamiento para poder replicar un entorno similar.
Una vez que el sistema de prueba está configurado adecuadamente, podemos crear la versión previa al cambio de los datos utilizando SQL Performance Analyzer.
Esto se puede lograr usando Enterprise Manager o API (procedimientos incorporados).
Paso 4)Prueba de rendimiento de SQL posterior al cambio
La prueba posterior al cambio se realiza en el sistema de prueba después de realizar algunos cambios en el sistema.
Una vez que esto se complete, tendríamos dos pruebas de SQL: una prueba previa al cambio y una posterior al cambio para comparar.
De manera similar a la prueba de rendimiento de SQL previo al cambio, podemos crear una prueba de rendimiento de SQL posterior al cambio utilizando Enterprise Manager o API (procedimientos integrados).
Paso # 5)Generando un informe
Después de ejecutar las pruebas previas al cambio y posteriores al cambio, los datos de rendimiento recopilados en ellos se pueden comparar ejecutando un análisis de comparación con SQL Performance Analyzer.
Una vez que se completa esta tarea de comparación, podemos generar un informe para identificar el rendimiento de la declaración SQL que era parte de la carga de trabajo que pretendíamos probar.
Al revisar el informe, podemos juzgar y sacar conclusiones sobre el rendimiento de SQL
Declaraciones y luego implementar los cambios del sistema en producción.
Del mismo modo, podemos probar varias cargas de trabajo con varios cambios de sistema y asegurarnos de probar cada una de ellas antes de implementarlas en producción.
El flujo de trabajo ilustrado arriba se puede representar gráficamente como se muestra a continuación.
Reproducción de base de datos
Para ejecutar la herramienta a través de Enterprise Manager:
(Haga clic en la imagen para verla ampliada)
Database Replay permite realizar pruebas realistas de los cambios del sistema al replicar esencialmente su entorno de producción en un sistema de prueba. Lo hace capturando una carga de trabajo deseada en el sistema de producción y reproduciéndola en un sistema de prueba con las características de recursos exactas de la carga de trabajo original, como la ejecución de SQL, transacciones, extractos y procedimientos.
Esto se realiza para asegurarnos de que consideramos todos los posibles impactos de cualquier cambio, incluidos los resultados no deseados, como errores del producto, resultados inapropiados o regresión del rendimiento.
Los análisis e informes exhaustivos generados también ayudan a identificar cualquier problema potencial, como circunstancias erróneas encontradas y divergencias de desempeño.
Como resultado, las organizaciones pueden estar tranquilas al lidiar con el cambio y ser lucrativas al evaluar el éxito general del cambio del sistema. Esto reducirá significativamente cualquier riesgo cuando queramos implementar los cambios en la producción. El cambio es inevitable y asegurarnos de probar todos los aspectos de este cambio desde todos los grados hará que la producción sea más robusta y sólida.
Un flujo de trabajo básico de la reproducción de la base de datos se muestra a continuación:
Los cambios admitidos por Database Replay son:
- Actualizaciones de bases de datos Oracle, revisión de software
- Usuario / esquema, parámetros de instancia de base de datos como memoria, E / S
- Cambios de hardware / software en los nodos RAC (Real Application Cluster)
- Cambios en el sistema operativo, revisión del sistema operativo
- CPU, memoria, almacenamiento
Database Replay nos permite probar varios efectos de posibles cambios en el sistema reproduciendo la carga práctica de un sistema de producción real en un sistema de prueba antes de que se exponga al primero. La carga de trabajo en la producción se supervisa, analiza y registra durante un período de tiempo fijo cuantitativo. Estos datos se registran a lo largo del tiempo y se utilizan para reproducir la carga de trabajo en los sistemas de prueba.
Al realizar esto, podemos probar con éxito las implicaciones de la carga de trabajo antes de implementar cualquier cambio que pueda afectar negativamente la producción.
El flujo de trabajo es el siguiente:
Paso 1) Captura de carga de trabajo
Registramos todas las solicitudes realizadas por los clientes en archivos denominados 'archivos de captura' en el sistema de archivos (almacenamiento). Estos archivos contienen toda la información vital sobre las solicitudes del cliente, como SQL, enlaces, procedimientos e información de transacciones. Estos archivos se pueden exportar a cualquier sistema en caso de que queramos reproducirlos en otro sistema.
Paso 2)Preprocesamiento de cargas de trabajo
Después de haber capturado la información en los “Archivos de captura”, necesitamos preprocesarlos. En este paso, creamos metadatos que proporcionan una descripción de todos los datos necesarios para reproducir la carga de trabajo.
Dado que este paso utiliza una gran cantidad de recursos del sistema, se recomienda ejecutarlo en otro sistema además del de producción, donde se puede reproducir la carga. En caso de que no tenga otro sistema para probar y le gustaría ejecutarlos en producción, asegúrese de ejecutarlos durante las horas no pico para que los usuarios y procesos que se ejecutan en producción no se vean afectados.
Paso 3)Reproducción de carga de trabajo
Ahora, podemos reproducirlos en el sistema de prueba. En este momento, reproducimos todas las transacciones, el contexto, los procedimientos y el SQL que se capturaron inicialmente durante la fase de captura acumulando datos a medida que cada proceso pasa por esta transición.
Paso 4)Generando informes
Al igual que en Performance Analyzer, también puede generar y ver informes para comparar cada una de las pruebas que ha ejecutado.
Para concluir, ofrecemos un par de consejos rápidos al probar Database Replay:
- Utilice un sistema de prueba idéntico cuando sea posible
- Pruebe un cambio a la vez para comprender su impacto
- Asegúrese de comenzar con las opciones de reproducción predeterminadas y luego realice cambios si es necesario según sus requisitos.
- Antes de realizar la segunda repetición, asegúrese de comprender todos los aspectos de la prueba
- Asegúrese de guardar los resultados de su prueba y documentar cualquier cambio / acción de prueba requerida
- Asegúrese de que ninguna otra carga de trabajo o usuarios estén usando el sistema durante ninguna de las ejecuciones de prueba
Conclusión:
Con varios aspectos y métodos de pruebas de aplicaciones y bases de datos Oracle, asegúrese siempre de realizar pruebas con la mayor frecuencia y exhaustividad posible; comprender la aplicación y el entorno del usuario antes de implementar cualquier alteración o introducir nuevos parámetros en Producción.
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Diferencia entre pruebas de escritorio, cliente-servidor y pruebas web
- Cómo probar la base de datos Oracle
- Guía de pruebas de seguridad de aplicaciones web
- Pruebas de aplicaciones: ¡los conceptos básicos de las pruebas de software!
- Instale su aplicación en el dispositivo y comience a probar desde Eclipse
- Descarga del libro electrónico Testing Primer
- Tutorial de pruebas destructivas y no destructivas