FakeForge pra QA Engineer: Massa de Dados BR LGPD-safe
FakeForge pra QA Engineer: Massa de Dados BR LGPD-safe
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 ReceitaSelenium 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
| Feature | Faker.js | Mockaroo | FakeForge |
|---|---|---|---|
| CPF com mod-11 | Não | Não | ✓ |
| CNPJ checksum | Não | Não | ✓ |
| Correlação CEP-Estado | Não | Não | ✓ |
| API sem setup | Requer npm | ✓ | ✓ |
| Preço | Grátis | USD 60/ano | Grá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 reportFAQ
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