← Voltar ao início

FakeForge pra QA Engineer: Massa de Dados BR LGPD-safe

·8 min de leitura

FakeForge gera massa de dados brasileira (CPF, CNPJ, CEP, endereço, telefone) com validação real pelo mod-11 da Receita Federal, correlação entre campos e API REST pra integrar em pipelines Selenium, Cypress, Playwright e BDD. Grátis 50 chamadas por dia, sem cadastro.

Por que QA brasileira precisa de ferramenta BR

A automação de testes enfrenta um problema recorrente: dado inválido quebra o teste, mas não por culpa da sua aplicação. É culpa da ferramenta.

1. Faker genérico não gera CPF válido

Faker.js, Faker.py, Faker.rb — nenhum deles sabe que mod-11 da Receita Federal existe. Geram "123.456.789-09" com dígito verificador aleatório. Seu teste passa em development porque você não roda validação de CPF. Sobe pra staging ou produção, o validador da Receita rejeita, e você fica 3 horas debugando dados que parecem válidos.

2. Mockaroo e Tonic.ai não entendem geografia BR

Mockaroo gera "CEP: 12345-678, Cidade: Belo Horizonte, Estado: São Paulo". É não-sense. DDD de estado errado, CEP que não existe em nenhuma região. FakeForge correlaciona: CEP 01311-100 sempre vai vir com São Paulo, bairro Centro, rua real, telefone com DDD 11.

3. Copiar dados de produção pra teste = multa LGPD

Cópia de dados reais de usuários em staging viola a LGPD. Multa R$50 mil a R$50 milhões. Dados sintéticos gerados algoritmicamente não têm risco legal. FakeForge gera tudo que é sintético, auditável, e pronto pra documentação de DPO.

Casos de uso específicos de QA

BDD (Cucumber/Gherkin)

Integra com fixtures do seu projeto de testes BDD. Gere dados antes de rodar Cucumber, use como background.

Scenario: Cadastro válido com dados BR
  Given eu tenha 100 CPFs válidos gerados via FakeForge
  When eu cadastrar cada um via POST /api/cadastro
  Then todos devem retornar 201 Created
  And cada CPF deve passar em validador da Receita

Selenium com Python

Chamada rápida antes do teste, dados prontos pro form de cadastro.

import requests
from selenium import webdriver

# Gerar 1 CPF válido
response = requests.get(
  'https://fakeforge.com.br/api/generate?type=cpf&quantity=1'
)
cpf = response.json()['data'][0]['cpf']

# Usar no Selenium
driver = webdriver.Chrome()
driver.get('https://app.exemplo/cadastro')
driver.find_element('id', 'cpf').send_keys(cpf)
driver.find_element('id', 'submit').click()

Cypress com JavaScript

Fixture simplificada, sem chamadas externas durante teste.

beforeEach(() => {
  cy.request({
    method: 'GET',
    url: 'https://fakeforge.com.br/api/generate?type=pessoa&quantity=1&format=json',
  }).then((response) => {
    const pessoa = response.body.data[0];
    cy.visit('/cadastro');
    cy.get('#cpf').type(pessoa.cpf);
    cy.get('#nome').type(pessoa.nome);
    cy.get('#email').type(pessoa.email);
  });
});

Playwright com TypeScript

Tipo mais moderno, com tipagem full.

import { test } from '@playwright/test';

test('Cadastro com CPF válido', async ({ page, request }) => {
  const response = await request.get(
    'https://fakeforge.com.br/api/generate?type=pessoa&quantity=1'
  );
  const { cpf, email, nome } = (await response.json()).data[0];

  await page.goto('/cadastro');
  await page.fill('#cpf', cpf);
  await page.fill('#email', email);
  await page.fill('#nome', nome);
  await page.click('button[type="submit"]');
});

Edge cases que FakeForge cobre

  • CPF com dígitos repetidos: "111.111.111-11" vai ser rejeitado (é rule da Receita). FakeForge garante que não gera.
  • CNPJ alfanumérico 2026: Instrução Normativa permite letras desde 01/julho/2026. FakeForge já gera "AB123456000177".
  • CEP de todas as 27 UFs: Cobertura completa com correlação estado-cidade-bairro.
  • Telefone com 9 na frente: Celular moderno é 11987654321 (11 DDD + 9 + 8 dígitos). FakeForge sabe.
  • Nome com acentos vs sem: Gera dados como aparecem em documento real.

Comparação pra time QA

FeatureFaker.jsMockarooFakeForge
CPF com mod-11NãoNão✓
CNPJ checksumNãoNão✓
Correlação CEP-EstadoNãoNão✓
API sem setupRequer npm✓✓
PreçoGrátisUSD 60/anoGrátis + R$ 29/mês

Integração pipeline CI/CD

Gere dados antes de rodar testes automatizados. Exemplo com GitHub Actions:

name: Testes QA com dados FakeForge

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Gerar dados de teste
        run: |
          curl -s https://fakeforge.com.br/api/generate \
            --data "type=pessoa&quantity=100&format=json" \
            > /tmp/test-data.json

      - name: Rodar Cypress
        env:
          TEST_DATA: /tmp/test-data.json
        run: npx cypress run

      - name: Relatório
        if: always()
        run: npm run report

FAQ

FakeForge serve pra testes de integração E2E?+

Sim. Qualquer teste que valida dados brasileiros no backend: CPF, CNPJ, CEP, telefone. FakeForge gera dados que passam em validação real da Receita Federal.

Como gerar massa de dados em bulk pra teste de carga?+

Limite por chamada é 10 mil registros. Para teste de carga com 100 mil registros, rode 10 chamadas. FakeForge é otimizado pra isso — 10 chamadas síncronas demoram menos de 2 segundos.

FakeForge integra com minha ferramenta de BDD?+

API REST, sem dependência de linguagem. Cucumber (Ruby), Behave (Python), Gherkin em qualquer framework — todos conseguem fazer HTTP request pra FakeForge.

Posso usar os mesmos dados entre runs de teste?+

Sim. Gere uma vez, salve em arquivo JSON, reutilize entre runs. Ou passe seed pra FakeForge pra garantir determinismo — mesma seed gera mesmos dados.

FakeForge compensa biblioteca BR + Faker?+

Se você já instalou Faker.js + cpf-cnpj-validator + geocoding BR, FakeForge elimina essa complexidade: uma API, dados garantidamente válidos, sem setup. Economiza tempo de desenvolvimento e erros em produção.

Comece agora

Teste sem cadastro. 50 chamadas grátis por dia.

Everton, fundador do FakeForge

Achou útil? Compartilha: