Big Data: Una guía para principiantes

Big Data: Una guía para principiantes

@programacion
https://unsplash.com/photos/mcSDtbWXUZU

Big Data - ¿Qué es?

Big data es una colección de datos que crece constantemente con el tiempo. Estos datos se dividen en tres categorías.

  • Estructurado. El tipo de archivo se conoce porque se establece el formato.
  • Desestructurado. Se desconoce el formato del archivo, ya que puede ser en forma de imágenes, videos, archivos planos, etc.
  • Semiestructurado. Una combinación de datos estructurados y no estructurados.

Pruebas de big data: ¿qué es?

La prueba de big data es el proceso de realizar funciones como crear, almacenar, extraer y analizar grandes cantidades de datos (imágenes, archivos planos y audio). Es posible que los métodos de prueba tradicionales no puedan manejar dichos requisitos, por lo que se necesita una estrategia separada para big data.

Por lo tanto, el enfoque de las pruebas implica actividades de investigación, ya que se necesitan habilidades especiales para desarrollar una estrategia de muestreo.

Un conjunto de datos es un grupo de datos discretos relacionados a los que se puede acceder individualmente o en combinación. Consiste en una gran cantidad de datos que pueden ser difíciles de analizar.

El muestreo resuelve este problema utilizando un subconjunto de los datos del conjunto.

Las pruebas de big data garantizan:

  • Seguridad y Autenticidad 

Las pruebas se llevan a cabo en diferentes niveles y en diferentes intervalos para eliminar cualquier brecha de seguridad o vulnerabilidad en el sistema. Garantizará la seguridad y confidencialidad de los datos, además de generar confianza en los clientes.

  • Exactitud 

Trabajar con datos no estructurados le permitirá comprender mejor los datos útiles, tomar mejores decisiones, mejorar el análisis de riesgos y desarrollar estrategias de marketing digital más efectivas.

  • Comprobación en tiempo real

Las pruebas de rendimiento deben realizarse con datos en tiempo real. Se debe garantizar la vigencia de los datos utilizados para este fin.

  • Confiabilidad y eficiencia

Los datos se recopilan y extraen de varias fuentes y canales, pero esto puede provocar que los datos sean ineficientes, inexactos y poco confiables. Las pruebas garantizan que los datos incluyan la validación de capas, componentes y lógica.

Posibles desafíos al probar Big Data

Amplio conjunto de datos de varias fuentes

  • Se requiere más tiempo para las pruebas de compatibilidad entre plataformas.
  • Se necesita más tiempo para una automatización rápida.
  • Se necesita más tiempo para comprobar y validar los datos.

Elección de marcos y estrategias de automatización.

  • La necesidad de evitar errores inesperados debido a procedimientos inadecuados.
  • Necesita ayuda de expertos para escribir guiones.
  • La creación de casos de prueba requiere un alto nivel de secuencias de comandos.

virtualización

  • Administrar la latencia de las máquinas virtuales es una tarea compleja.

Pruebas de rendimiento

  • Es necesario desarrollar soluciones para los cuellos de botella de rendimiento.
  • Una solución compleja no se puede lograr con una sola herramienta.
  • El tamaño de los datos requiere condiciones especiales.

La diferencia entre las pruebas tradicionales y las pruebas de big data

Pruebas tradicionales

  • Utiliza datos estructurados.
  • No requiere un ambiente especial, porque el tamaño del archivo es limitado.
  • El probador puede elegir la prueba manual o automatizada.
  • Utiliza macros de Excel o herramientas de automatización de la interfaz de usuario.
  • Requiere conocimientos básicos de herramientas.

Pruebas de grandes datos

  • Puede tener datos estructurados, no estructurados o semiestructurados.
  • Requiere un entorno especial para grandes cantidades de datos.
  • La elección de la estrategia será diferente, ya que el evaluador deberá trabajar con una muestra.
  • Se requieren herramientas de programación como MapReduce y HIVEQL.
  • Se necesita un conjunto específico de habilidades y capacitación para probar la herramienta.

Factores importantes al construir una estrategia de prueba de Big Data

Las pruebas de big data se centran más en probar el procesamiento de los datos de la aplicación que en las características individuales. Los evaluadores también deben considerar factores de calidad como la precisión, la duplicación, la validez y la consistencia, etc.

Antes de determinar una estrategia de prueba adecuada, el equipo debe responder las siguientes preguntas.

  1. ¿Qué plan se necesita para probar aplicaciones de big data?
  2. ¿Qué tipos de enfoques de prueba deben considerarse aplicables para las aplicaciones de big data?
  3. ¿Qué requisitos se necesitan para configurar el entorno?
  4. ¿Qué enfoques se necesitan para validar datos en una aplicación de big data?
  5. ¿Qué herramientas se necesitan para las pruebas?

Hay tres cosas a tener en cuenta al probar big data.

  1. Validación de datos

Inicialmente, los datos deben cargarse desde una fuente a un sistema de big data utilizando herramientas de extracción. Por lo tanto, es importante asegurarse de que se ingresen los datos correctos en el sistema.

2. Tratamiento de datos

Los probadores prueban la lógica empresarial en cada nodo. La validación de datos debe realizarse nuevamente después de ejecutarse en varios nodos. Esto ayuda a garantizar que el resultado sea el esperado.

3. Comprobación de la salida

La validación de salida implica el proceso de migrar los archivos de datos de salida generados a Enterprise Data Warehouse. Se debe validar la precisión para garantizar que no se produzca ninguna pérdida de datos. Luego, debe verificar la lógica de transformación y garantizar la integridad de los datos.

Tipos de pruebas al crear una estrategia de pruebas de Big Data

Pruebas funcionales

  1. Pruebas arquitectónicas
  • Las pruebas de ingestión de datos ayudan a verificar que todos los datos se recuperan y cargan correctamente, teniendo en cuenta factores como la tolerancia a fallas, la disponibilidad de datos y una conexión estable a los flujos de datos.
  • Las pruebas de procesamiento de datos validan el proceso de procesamiento de datos y garantizan que la lógica comercial se ejecute correctamente al comparar los archivos de salida con los archivos de entrada.
  • La prueba del almacén de datos implica comparar los datos cargados con la salida del almacén. Las pruebas también garantizan la disponibilidad continua y el equilibrio de carga en el almacén de datos.

2. Pruebas de transferencia

Las pruebas de migración verifican que no haya pérdida de datos como resultado de la migración de datos de un sistema antiguo a uno nuevo o debido a un cambio en la tecnología. Esta prueba se puede dividir en:

  • pruebas previas a la migración;
  • pruebas de transferencia;
  • pruebas posteriores a la migración.

Pruebas no funcionales

1. Pruebas de rendimiento

  • La carga y el rendimiento de los datos comprueba la rapidez con la que el sistema puede consumir datos de varias fuentes y la rapidez con la que se pueden colocar en el almacenamiento subyacente.
  • La velocidad de procesamiento de datos mide la velocidad a la que se procesan los datos cuando se utiliza MapReduce.
  • El rendimiento del subsistema garantiza que los componentes individuales del sistema estén disponibles y conectados.

2. Las pruebas de seguridad proporcionan la autorización necesaria y la autenticación de datos. Dado que la aplicación trabaja con una gran cantidad de datos, es necesario garantizar los siguientes aspectos para las pruebas de seguridad:

  • vulnerabilidad;
  • ataque de fuerza bruta;
  • Inyección SQL y XSS (secuencias de comandos entre sitios);
  • puntos de acceso al servicio.

3. El mecanismo de prueba de caída crea nodos de recuperación de datos y prepara la aplicación para la inestabilidad. Esto asegura un procesamiento fluido de los datos al cambiar nodo por nodo.

4. El seguimiento de la calidad de los datos verifica la precisión, la puntualidad y la consistencia de los datos, registros y mensajes en la aplicación.

Cómo hacer algunos de los tipos básicos de pruebas

Pruebas de base de datos 

  1. Cargue datos en una plataforma de su elección, como Hadoop. Se utiliza para almacenar datos en servidores básicos y ejecutar aplicaciones de big data en clústeres.
  2. Asegúrese de que los datos correctos se importen completamente a la plataforma y que el procesamiento se realice de acuerdo con los requisitos comerciales en el marco elegido.
  3. Defina un subconjunto de los datos y pruebe todo lo anterior.
  4. Compare el resultado con los datos procesados ​​del marco. Aquí debe crear scripts de prueba para extraer los datos y procesarlos.
  5. Ponga los datos en el almacenamiento.
  6. Verifique los datos guardados nuevamente usando operaciones CRUD. Esto asegurará que los datos procesados ​​se muestren correctamente en el almacenamiento antes y después de la carga.
  7. Visualice datos utilizando herramientas de inteligencia comercial (por ejemplo, Oracle, SAP, etc.). Los servicios web se utilizan para transferir datos desde el almacenamiento hasta la inteligencia empresarial. Entonces, los probadores también tienen que probar los servicios.

Datos de la base de datos de origen:

  • Comprobación de los datos de las fuentes para asegurarse de que son correctos y completos.

Pruebas de marco:

  • Los datos se procesan de acuerdo con la lógica empresarial.
  • Procesamiento de datos en paralelo.
  • Los conjuntos de datos se almacenan en sistemas de archivos distribuidos.

Almacén de datos:

  • Operaciones CRUD personalizadas
  1. Los datos se crean en la base de datos original.
  2. Una vez creados, estarán disponibles en el almacenamiento antes y después de la descarga. Lo mismo se aplica a los datos actualizados.

Entorno de usuario:

  • Análisis de los datos.
  • Creación de informes.

Pruebas funcionales

Similar a las pruebas funcionales realizadas en otras aplicaciones.

  • Las pruebas de la interfaz (por ejemplo, páginas web) deben realizarse de acuerdo con los requisitos del usuario.
  • Los resultados que se muestran en la parte delantera deben validarse con el resultado esperado.

Pruebas de rendimiento

  1. Configure un clúster de big data.
  2. Determinar y programar los trabajos que se realizarán en las cargas de trabajo.
  3. Crear guiones personalizados. Es importante tener en cuenta los siguientes parámetros.
  • Almacenamiento de datos: cómo se almacenan los datos en diferentes nodos de aplicación.
  • Registro de confirmación: cuánto puede crecer el registro de confirmación.
  • Concurrencia: cuántos subprocesos pueden realizar operaciones de escritura y lectura.
  • Almacenamiento en caché: configure las opciones de caché "caché de fila" y "caché de clave" .
  • Timeout: Valores para timeout de conexión, timeout de solicitud, etc.

4. Realice pruebas de rendimiento y luego analice los resultados. Si los resultados no cumplen con los requisitos de rendimiento, debe optimizar los componentes y volver a realizar la prueba.

5. Si el rendimiento es estable, el proceso se completa.

Desarrollo de escenarios y casos de prueba.

Los probadores necesitan otros documentos junto con el documento de requisitos para desarrollar casos de prueba o casos para una aplicación de big data. A continuación hay algunos de ellos.

  1. El documento de entrada contiene la estructura de la base de datos y sus relaciones con las tablas.
  2. El documento analítico contiene los tipos de datos de asignación de las tablas de origen y de destino después de que los datos se hayan recuperado en el almacén.
  3. El documento de diseño contiene todas las entradas y muestra qué salida producirán, etc.

Nota: Estos documentos son opcionales y dependen de los estándares de la empresa o de la naturaleza del proyecto.

Grandes herramientas de prueba de datos

Recepción de datos:

  • CouchDB
  • Kafka
  • Sqoop
  • Databases MongoDB
  • Cassandra
  • Redis
  • ZooKeeper
  • HBase

Procesamiento de datos:

  • Hadoop
  • Hive
  • Pig
  • Cascading
  • Oozie
  • Kafka
  • S4
  • MapR
  • Flume

Almacén de datos:

  • Amazonas S3
  • HDFS (Sistema de archivos distribuidos de Hadoop)

Transferencia de datos:

  • Talend
  • Kettle
  • Clover DX

Servidores:

  • Elastic
  • Heroku
  • Google App Engine
  • EC2

Prácticas recomendadas para las pruebas de big data

  1. Las pruebas deben basarse en la lógica empresarial.
  2. La corrección de errores debe ser una prioridad.
  3. No olvides el contexto.
  4. Automatice su trabajo para ahorrar tiempo.
  5. Los objetivos de las pruebas deben ser claros.
  6. La comunicación entre el equipo y el cliente es muy importante.
  7. Asegúrese de tener buenas habilidades técnicas ya que trabajará con muestreo de datos.
  8. Es importante poder trabajar tanto con material no estructurado como semiestructurado, así como con datos estructurados en un almacén de datos o en un sistema de gestión de bases de datos relacionales.
  9. Un probador de software debe poder trabajar con un esquema en constante cambio.
  10. Es importante que los probadores sean creativos para desarrollar metodologías y utilidades que brinden suficiente cobertura de prueba mientras mantienen un alto rendimiento de prueba.

Conclusión

Las pruebas de big data son el proceso de verificar pruebas funcionales y no funcionales con una gran cantidad de datos estructurados y no estructurados. Al mismo tiempo, se utilizan herramientas especiales y métodos de prueba para probar la lógica comercial de un extremo a otro.

Para el procesamiento de datos, se puede considerar una estrategia de muestreo de datos.

La manipulación del entorno para las pruebas es muy importante. Los principales requisitos para la prueba serán los siguientes:

  • Requiere espacio para almacenar, procesar y validar datos.
  • Capacidad de respuesta de los clústeres y los nodos correspondientes.
  • Disponibilidad de potentes recursos de procesamiento de datos.

Las herramientas específicas deben definirse antes de establecer una estrategia de prueba, ya que hay muchas herramientas disponibles para diferentes procesos.

Siempre es mejor identificar de antemano cualquier problema relacionado con la automatización, las pruebas de rendimiento, la visualización de datos, etc., y luego desarrollar un plan para superarlos durante las pruebas.

Fuente:

https://elsolitario.org/post/big-data-una-guia-para-principiantes/

Report Page