Pruebas de bases de datos: técnicas
Este capítulo explica las técnicas más comunes que se utilizan para realizar pruebas de base de datos.
Prueba de esquema de base de datos
Como se mencionó anteriormente, implica probar cada objeto en el esquema.
Verificación de bases de datos y dispositivos
- Verificando el nombre de la base de datos
- Verificación del dispositivo de datos, el dispositivo de registro y el dispositivo de volcado
- Verificar si hay suficiente espacio asignado para cada base de datos
- Verificación de la configuración de la opción de base de datos
Verificación de reglas de tablas, columnas y tipos de columnas
Verifique los elementos que se indican a continuación para averiguar las diferencias entre la configuración real y la aplicada.
Nombre de todas las tablas en la base de datos
Nombres de columna para cada tabla
Tipos de columnas para cada tabla
NULL valor verificado o no
Si un valor predeterminado está vinculado a las columnas de la tabla correcta
Definiciones de reglas para corregir nombres de tablas y privilegios de acceso
Claves e índices
Verifique la clave y los índices en cada tabla -
Clave principal para cada tabla
Claves externas para cada tabla
Tipos de datos entre una columna de clave externa y una columna en otros índices de tabla, agrupados o no agrupados, únicos o no únicos
Pruebas de procedimientos almacenados
Implica verificar si un procedimiento almacenado está definido y se comparan los resultados de salida. En una prueba de procedimiento almacenado, se comprueban los siguientes puntos:
Nombre del procedimiento almacenado
Nombres de parámetros, tipos de parámetros, etc.
Output- Si la salida contiene muchos registros. Se efectúan cero filas o solo se extraen algunos registros.
¿Cuál es la función del procedimiento almacenado y qué se supone que no debe hacer un procedimiento almacenado?
Pasar consultas de entrada de muestra para comprobar si un procedimiento almacenado extrae datos correctos.
Stored Procedure Parameters- Llamar al procedimiento almacenado con datos de límite y con datos válidos. Haga que cada parámetro sea inválido una vez y ejecute un procedimiento.
Return values- Compruebe los valores que devuelve el procedimiento almacenado. En caso de falla, se debe devolver un valor distinto de cero.
Error messages check- Realice cambios de tal manera que el procedimiento almacenado falle y genere todos los mensajes de error al menos una vez. Compruebe los escenarios de excepción cuando no haya un mensaje de error predefinido.
Pruebas de activación
En una prueba de activación, el probador debe realizar las siguientes tareas:
- Asegúrese de que el nombre del disparador sea correcto.
- Valide el disparador si se genera para una columna de tabla específica.
- Validación de actualización del disparador.
- Actualice un registro con datos válidos.
- Actualice un registro con datos no válidos y cubra todos los errores de activación.
- Actualice un registro cuando todavía está referenciado por una fila en otra tabla.
- Asegúrese de revertir transacciones cuando ocurra una falla.
- Descubra los casos en los que se supone que un disparador no debe revertir transacciones.
Scripts de configuración del servidor
Deben realizarse dos tipos de pruebas:
- Configurar la base de datos desde cero y
- Para configurar una base de datos existente.
Pruebas de integración de SQL Server
Las pruebas de integración deben realizarse una vez que haya terminado con las pruebas de componentes.
Los procedimientos almacenados deben llamarse intensamente para seleccionar, insertar, actualizar y eliminar registros en diferentes tablas para encontrar cualquier conflicto e incompatibilidad.
Cualquier conflicto entre el esquema y los disparadores.
Cualquier conflicto entre los procedimientos almacenados y el esquema.
Cualquier conflicto entre procedimientos almacenados y desencadenadores.
Método de prueba funcional
Las pruebas funcionales se pueden realizar dividiendo la base de datos en módulos según la funcionalidad. Las funcionalidades son de los dos tipos siguientes:
Type 1- En las pruebas de Tipo 1, descubra las características del proyecto. Para cada característica principal, averigüe el esquema, los activadores y los procedimientos almacenados responsables de implementar esa función y colóquelos en un grupo funcional. Luego pruebe a cada grupo juntos.
Type 2- En las pruebas de Tipo 2, el límite de los grupos funcionales en un back-end no es obvio. Puede verificar el flujo de datos y ver dónde puede verificar los datos. Empiece desde el front-end.
Se lleva a cabo el siguiente proceso:
Cuando un servicio tiene una solicitud o guarda datos, se llamarán algunos procedimientos almacenados.
Los procedimientos actualizarán algunas tablas.
Esos procedimientos almacenados serán el lugar para comenzar a probar y esas tablas serán el lugar para verificar los resultados de la prueba.
Pruebas de estrés
Stress Testing implica obtener una lista de las principales funciones de la base de datos y los correspondientes procedimientos almacenados. Siga los pasos que se indican a continuación para las pruebas de esfuerzo:
Escriba scripts de prueba para probar esas funciones y cada función debe verificarse al menos una vez en un ciclo completo.
Realice los scripts de prueba una y otra vez durante un período de tiempo específico.
Verificación de los archivos de registro para comprobar cualquier punto muerto, falta de memoria, corrupción de datos, etc.
Pruebas comparativas
Si su base de datos no tiene problemas de datos o errores, se puede verificar el rendimiento del sistema. Se puede encontrar un rendimiento deficiente del sistema en las pruebas comparativas al verificar los parámetros que se indican a continuación:
- Rendimiento a nivel del sistema
- Identificar las funciones / características más utilizadas
- Tiempo: tiempo máximo, tiempo mínimo y tiempo promedio para realizar funciones
- Volumen de acceso
Prueba de una base de datos a través de front-end
Los errores de back-end también se pueden encontrar a veces haciendo pruebas de front-end. Puede seguir los sencillos pasos que se indican a continuación para detectar errores mediante pruebas de front-end.
Escriba consultas desde el front-end y emita las búsquedas.
Elija un registro existente, cambie los valores en algunos campos y guarde el registro. (Implica la instrucción UPDATE o actualizar los procedimientos almacenados y los activadores de actualización).
Inserte un nuevo elemento de menú en la ventana del front-end. Complete la información y guarde el registro. (Implica las instrucciones INSERT o los procedimientos almacenados de inserción y los desencadenadores de eliminación).
Elija un registro existente, haga clic en el botón ELIMINAR o ELIMINAR y confirme la eliminación. (Implica la instrucción DELETE o procedimientos almacenados de eliminación y desencadenadores de eliminación).
Repita estos casos de prueba con datos no válidos y vea cómo responde la base de datos.