jueves, 5 de abril de 2018

Database Testing

Las pruebas de base de datos generalmente consisten en un proceso en capas, que incluye la capa de la interfaz de usuario (UI), la capa de negocios, la capa de acceso a los datos y la base de datos en sí misma.

La capa de UI se ocupa del diseño de la interfaz de la base de datos, mientras que la capa de negocios incluye bases de datos que soportan estrategias comerciales.



Tipos de testing en base de datos: 

Basándose en la función y la estructura de una base de datos, las pruebas pueden clasificarse en tres categorías:
  • Pruebas de bases de datos estructurales: se trata de pruebas de tablas y columnas, pruebas de esquemas, procedimientos almacenados y pruebas de vistas, comprobación de disparadores, etc.
  • Pruebas funcionales: se trata de comprobar la funcionalidad de la base de datos desde el punto de vista del usuario. 
  • Pruebas no funcionales: implica realizar pruebas de carga, pruebas de riesgo en la base de datos, pruebas de estrés, requisitos mínimos del sistema y evaluación del rendimiento de la base de datos.


Técnicas de testing en bases de datos: 

A continuación, se enlistan las técnicas de ejecución de pruebas en bases de datos.
  1. Prueba de esquema de base de datos: 
        Implica probar cada objeto en el esquema de la siguiente manera:
  • Verificación de bases de datos y dispositivos.
  • Verificación de los elementos que se indican a continuación para validar las diferencias entre el ajuste real y el aplicado: nombres y tipos de columnas de cada tabla, verificación de valores NULL, definiciones de reglas para corregir nombres de tabla y privilegios de acceso.
  • Clave e índices: comprobar la clave y los índices en cada tabla. 
     
     2. Pruebas de stored procedures

         Implica verificar si se define un stored procedure y se comparan los resultados de
         salida. En una prueba de este tipo, se deben comprobar los siguientes puntos: 
         nombre del stored procedure, parámetros, salida y funcionamiento. 

     3. Pruebas de activación: 

         En una prueba de triggers, el tester debe realizar las siguientes tareas: validar el
         nombre del trigger y la generación de valores/datos en tablas específicas, 
         actualizar un registro con datos válidos y no válidos y asegurarse de revertir las
         transacciones luego de un error. 

     4. Scripts de configuración del servidor:  
      
         Se deben realizar dos tipos de pruebas: configurar la base de datos desde cero y
         configurar una base de datos existente.

     5. 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 dos tipos: 
  • Tipo 1: en pruebas de tipo 1, averigüe las características del proyecto. Para cada característica principal, examine el esquema, los triggers y los stored procedures responsables de implementar esa función y ponerlos en un grupo funcional. Luego pruebe cada grupo junto.
  • Tipo 2: en pruebas de tipo 2, el borde de los grupos funcionales en un back-end no es obvio. Puede comprobar el flujo de datos y ver dónde puede verificar los datos. Comience desde el front-end.

    6. Pruebas de estrés:

       La prueba de estrés consiste en obtener una lista de las principales funciones de la
       base de datos y los procedimientos almacenados correspondientes. Siga los pasos que
       se indican a continuación para realizar la prueba de estrés: escribir scripts de prueba
       para probar esas funciones y verificar al menos una vez en un ciclo completo, realizar
       los scripts de prueba durante un periodo de tiempo específico, verificar los archivos
       de registro para comprobar bloqueos, fallas de memoria o corrupción de datos. 

   7. Pruebas de referencia: 

      Si su base de datos no tiene problemas de datos o errores, se puede comprobar el
      rendimiento del sistema. Un rendimiento deficiente del sistema se puede encontrar
      en las pruebas de referencia mediante la comprobación.

   8. Prueba de una base de datos a través de front-end:

      Los errores de fondo también se pueden encontrar a veces haciendo pruebas front
      end. Puede seguir los sencillos pasos que se indican a continuación para detectar
      errores en las pruebas front-end: emitir búsquedas desde el front-end, cambiar 
      valores en campos de un registro existente, insertar un nuevo elemento y guardar el
      registro, eliminar un registro existente. Repetir los casos con datos no válidos.

Database recovery testing:
Las pruebas de recuperación le permiten averiguar si la aplicación se está ejecutando correctamente y revisar el recobro de datos invaluables que se habrían perdido si su método de recuperación no estuviera configurado adecuadamente. También comprueban si varios procesos críticos se están ejecutando bien para asegurar que la recuperación de datos pasará sin problemas durante la fase de prueba. 
Es necesario ejecutar las pruebas de recuperación en la primera fase del proyecto, ya que esto le permitirá eliminar y desechar todos los tipos de errores del sistema.

Referencias: 

Autor: 
Matías Argüeso
Technical Tester.