GDPR y Testing de QA

El Reglamento General de Protección de Datos (GDPR) es una regulación de la UE que gobierna cómo las organizaciones recolectan, procesan, almacenan y eliminan datos personales. Aunque es una ley de la UE, aplica a cualquier organización que procese datos de residentes de la UE.

Para ingenieros QA, GDPR crea requisitos específicos y verificables. A diferencia del testing de seguridad general, el testing GDPR se enfoca en derechos del usuario, gestión de consentimiento y verificación del ciclo de vida de datos.

Derechos Clave de GDPR a Probar

Derecho a la Información

  • Política de privacidad accesible desde cada página
  • Banner de consentimiento de cookies aparece en primera visita
  • Lenguaje claro explica qué datos se recolectan y por qué
  • Se divulga compartición de datos con terceros

Derecho de Acceso (DSAR)

  • El usuario puede enviar solicitud de acceso a datos
  • Respuesta incluye todos los datos personales en 30 días
  • Datos en formato legible por máquina (JSON, CSV)
  • Identidad del solicitante verificada antes de liberar datos

Derecho de Rectificación

  • Usuarios pueden editar su información de perfil
  • Los cambios se propagan a todos los sistemas

Derecho al Olvido

  • Mecanismo de solicitud de eliminación existe
  • Todos los datos personales eliminados del almacenamiento primario
  • Datos eliminados de sistemas de terceros
  • Datos anonimizados pueden retenerse

Derecho a Portabilidad de Datos

  • Exportación disponible en JSON, CSV o formato similar
  • Incluye todos los datos personales
  • No incluye datos de otros usuarios

Testing de Consentimiento de Cookies

RequisitoPrueba
Sin tracking antes del consentimientoVerificar que no se establecen cookies antes de interactuar
Elección granularUsuario puede aceptar/rechazar categorías
Prominencia igual“Rechazar Todo” tan visible como “Aceptar Todo”
Sin casillas pre-marcadasCategorías no esenciales desmarcadas por defecto
Consentimiento revocableUsuario puede cambiar preferencias después
Sitio funciona sin consentimientoSolo cookies esenciales

Probando Consentimiento de Cookies

  1. Abre el sitio en ventana incógnito nueva
  2. Antes de interactuar, verifica cookies: DevTools > Application > Cookies
  3. Solo cookies esenciales deben estar presentes
  4. Click “Rechazar Todo” — verifica que no hay cookies de tracking
  5. Limpia cookies y recarga
  6. Click “Aceptar Todo” — verifica cookies de analytics/marketing
  7. Usa el link “Configuración de Cookies” para cambiar consentimiento

Ejercicio: Auditoría de Cumplimiento GDPR

Realiza una auditoría de cumplimiento GDPR de una aplicación web.

Parte 1: Consentimiento de Cookies

VerificaciónPasa/FallaNotas
Banner aparece en primera visita
Sin cookies de tracking antes del consentimiento
Opciones de consentimiento granular disponibles
“Rechazar Todo” igualmente prominente
Categorías no esenciales desmarcadas por defecto
Preferencias de cookies se pueden cambiar después
Sitio funciona después de rechazar cookies no esenciales

Parte 2: Solicitud de Acceso a Datos

VerificaciónPasa/FallaNotas
Mecanismo DSAR existe
Verificación de identidad antes de liberar datos
Exportación incluye todas las categorías de datos
Formato legible por máquina
No incluye datos de otros usuarios

Parte 3: Derecho al Olvido

VerificaciónPasa/FallaNotas
Mecanismo de eliminación de cuenta existe
Confirmación requerida para prevenir eliminación accidental
Período de gracia antes de eliminación permanente
Datos personales eliminados del perfil
Usuario no puede iniciar sesión después de eliminación
Datos del usuario ausentes de reportes de admin
Notificación enviada confirmando eliminación
Solución: Bugs Comunes de Cumplimiento GDPR

Bug 1: Analytics tracking antes del consentimiento Script de Google Analytics cargado en el HTML head antes de mostrar el banner. Todos los visitantes rastreados independientemente del consentimiento. Corrección: Cargar analytics solo después del consentimiento.

Bug 2: “Rechazar Todo” oculto en configuración El banner tenía “Aceptar Todo” prominente pero requería clicks adicionales para rechazar. Esto es un dark pattern y no cumple. Corrección: Agregar “Rechazar Todo” al mismo nivel.

Bug 3: Eliminación de cuenta dejó datos en analytics Datos de actividad permanecieron en Google Analytics con IDs identificables. Corrección: Anonimizar o eliminar identificadores de analytics de terceros.

Bug 4: Exportación DSAR sin datos de pago Exportación omitió historial de pagos almacenado en Stripe. Corrección: Incluir datos de todos los sistemas de terceros.

Bug 5: Usuario eliminado permanece en lista de marketing Después de eliminar cuenta, email permanecía en Mailchimp. Corrección: Activar eliminación en todos los sistemas integrados.

Bug 6: Consentimiento de cookies no persistido entre subdominios Usuario rechazó cookies en www pero se establecieron en blog. Corrección: Mecanismo de consentimiento compartido entre subdominios.

Testing GDPR en CI/CD

test('sin scripts de tracking antes del consentimiento', async ({ page, context }) => {
  await context.clearCookies();
  await page.goto('/');

  const cookies = await context.cookies();
  const trackingCookies = cookies.filter(c =>
    c.name.startsWith('_ga') || c.name.startsWith('_fbp')
  );
  expect(trackingCookies).toHaveLength(0);
});

Puntos Clave

  • GDPR crea requisitos específicos y verificables que QA debe verificar
  • El consentimiento de cookies debe ofrecer elección genuina — sin tracking antes del consentimiento
  • Las DSAR deben retornar todos los datos en 30 días en formato legible por máquina
  • El Derecho al Olvido debe eliminar datos de todos los sistemas incluyendo terceros
  • Prueba el ciclo de vida completo: recolección, almacenamiento, acceso, modificación, exportación y eliminación
  • Automatiza verificaciones básicas en CI/CD para prevenir regresiones