Una de las preguntas que más me hacen QA que empiezan en sectores regulados —banca, seguros, salud— es cómo hacer pruebas realistas sin usar datos de clientes reales. La respuesta corta: nunca deberías necesitarlos. Con datos sintéticos bien generados, puedes probar exactamente los mismos escenarios sin ningún riesgo legal ni de seguridad.
En este tutorial te muestro cómo configuré un generador de datos sintéticos en Java usando Datafaker, la librería activa y mantenida para esto en el ecosistema JVM. Vamos a generar nombres, direcciones, datos financieros y hasta un identificador de documento personalizado — todo 100% inventado, listo para usar en tus casos de prueba.
Requisitos Previos
- Java 17 o superior — Datafaker 2.x lo requiere como mínimo
- Maven 3.6+
- Cualquier IDE con soporte Java (IntelliJ, Eclipse, VS Code)
Verifica tu versión de Java:
TERMINAL
java --version
# Debe mostrar 17.x o superior
Paso 1 — Crear el Proyecto y Agregar Datafaker
Crea un proyecto Maven nuevo y agrega la dependencia en tu pom.xml:

Paso 2 — Generar Datos Personales Básicos
Empecemos con lo esencial: nombre, dirección y teléfono, usando el locale en español.

Ejecuta este archivo y deberías ver algo como:

Paso 3 — Generar Datos Financieros
Ahora lo que realmente necesitamos para testing bancario: cuentas, tarjetas y montos simulados.

Paso 4 — Crear un Generador Personalizado de Cédula
Datafaker no incluye un formato nativo para documentos de identidad colombianos, así que construí un método simple para generarlos. Esto es útil siempre que trabajes con un formato de identificación específico de tu país que la librería no cubre de fábrica.

Paso 5 — Generar un Lote y Exportarlo a CSV

Ejecutas

Y en la carpera del proyecto de genera un archivo .csv

Lo abres con excel y ya tienes tu data creada

Errores Comunes al Empezar
| Error | Causa | Solución |
|---|---|---|
UnsupportedClassVersionError | Estás compilando con Java 11 o menor | Actualiza a Java 17+, o usa Datafaker 1.8.1 |
| Nombres en inglés con locale “es” | Algunos providers no tienen datos completos para todos los locales | Es normal — Datafaker complementa con datos en inglés cuando falta cobertura en un idioma |
| Datos distintos en cada ejecución sin querer | No usaste una semilla (Random) fija | Usa new Faker(new Random(numero_fijo)) cuando necesites reproducibilidad |
| Cédula con longitud incorrecta para tu caso | El generador personalizado usa 8-10 dígitos por defecto | Ajusta el rango en numberBetween() según el formato que necesites |
Con esto tienes un generador completo de datos sintéticos para testing: datos personales, financieros, un identificador personalizado, exportación masiva a CSV y reproducibilidad con semillas. Es exactamente el tipo de herramienta que cualquier QA en un sector regulado necesita tener a la mano — sin depender nunca de información real de clientes.
Si tienes dudas sobre cómo adaptar el generador de cédula a otro país, o quieres agregar más campos (por ejemplo, datos de tarjeta con fecha de vencimiento simulada), escríbeme a contacto@mundoqa.com.
Documentación oficial de Datafaker: github.com/datafaker-net/datafaker




