Comparisons

Como comparar provedores para reCAPTCHA v3 em QA

Qual provedor entrega a pontuação mais alta no reCAPTCHA v3? Não existe resposta universal — depende do seu tráfego, região e endpoint de validação. Este guia mostra como montar essa comparação no seu próprio ambiente, com QA, staging ou pré-produção sob autorização explícita, usando páginas internas, dados fictícios e endpoints controlados pela sua equipe — sem automatizar serviços de terceiros, compras reais ou filas públicas.

Por que uma tabela pública não decide sozinha

O reCAPTCHA v3 não mostra um desafio: ele atribui uma pontuação de 0.0 a 1.0 direto no navegador, e cada site define seu próprio limite de corte. O provedor mais adequado muda conforme o tipo de CAPTCHA, a carga do site, a integração e até o horário do teste — uma tabela pública, sem o contexto de amostra e ambiente, não deve virar garantia universal. Meça no seu próprio ambiente antes de decidir capacidade, alertas e orçamento.

Como montar a metodologia do teste

Separe os testes por tipo de CAPTCHA e nunca misture reCAPTCHA v3 com Turnstile ou GeeTest na mesma amostra. Use a mesma página de staging e registre hora de envio, hora de conclusão, código de erro e resultado do backend. Com amostra interna suficiente, calcule mediana, P90 e P99 — a média isolada esconde os piores casos.

Um exemplo prático: um time de QA testando o checkout de uma loja fictícia mede o reCAPTCHA v3 durante o horário de pico do tráfego (19h–22h, horário de Brasília) e compara com a madrugada, mantendo o mesmo sitekey de staging nos dois casos. Sem esse cuidado, uma variação de horário pode ser confundida com diferença real entre provedores.

Cuidados com dados e logs do teste

Os logs de QA — hora de envio, código de erro, resultado do backend — são dados de operação e entram nas mesmas obrigações da LGPD que qualquer outro registro da sua aplicação. Use apenas dados fictícios nos testes, evite gravar informações pessoais reais nos logs de comparação e defina um prazo de expiração para esses registros.

Planilha de registro dos resultados

Provedor Tipo de CAPTCHA Amostras Mediana P90 P99 Observações
CaptchaAI reCAPTCHA v3 100 preencher preencher preencher amostra interna
Provedor B Turnstile 100 preencher preencher preencher valor indicativo
Provedor C GeeTest v3 100 preencher preencher preencher pode variar por região

Quais tipos de CAPTCHA entram na comparação

Inclua só os tipos que sua aplicação realmente usa — reCAPTCHA v2/v3, Cloudflare Turnstile ou GeeTest v3, por exemplo. Se um concorrente anunciar suporte a hCaptcha ou FunCaptcha, registre isso: a CaptchaAI hoje não resolve esses dois tipos, então a célula correta é um ❌ honesto, nunca um espaço em branco. Documente também a sitekey de QA e a região do runner.

Usando P90 e P99 no planejamento de capacidade

P90 e P99 estimam filas, timeouts e retentativas de forma bem mais realista que a mediana isolada. Times que rodam workers a partir de sa-east-1 (São Paulo) costumam separar a amostra por janela de tráfego: medir o horário de pico (19h–22h, horário de Brasília) à parte do restante do dia evita comparar cenários não equivalentes.

Script de benchmark em Python

O script abaixo é um ponto de partida para medir tempos em staging. Ele apenas coleta dados do seu ambiente — a decisão fica com você.

import os, time, requests

API_KEY = os.environ['CAPTCHAAI_API_KEY']
SITEKEY = os.environ['QA_CAPTCHA_SITEKEY']

def criar_tarefa_captcha(pageurl):
    resposta = requests.post('https://ocr.captchaai.com/in.php', data={
        'key': API_KEY,
        'method': 'userrecaptcha',
        'googlekey': SITEKEY,
        'pageurl': pageurl,
        'json': 1,
    }).json()
    return resposta['request']

def aguardar_resultado(task_id):
    while True:
        time.sleep(5)
        resposta = requests.get('https://ocr.captchaai.com/res.php', params={
            'key': API_KEY,
            'action': 'get',
            'id': task_id,
            'json': 1,
        }).json()
        if resposta.get('status') == 1:
            return resposta['request']

task_id = criar_tarefa_captcha('https://staging.example.com/captcha-demo')
token_qa = aguardar_resultado(task_id)
print({'token_recebido': bool(token_qa)})

Quando a variância aparece

Se o desvio entre execuções crescer, confirme três pontos: a página de staging está estável, o endpoint interno responde de forma consistente e os tipos de CAPTCHA não foram misturados na mesma amostra. Repita a medição em outra janela de horário antes de descartar um provedor, e mantenha um identificador de correlação em cada log para conseguir cruzar hora de envio, código de erro e resultado depois.

Perguntas frequentes

Posso usar uma tabela pública em vez de testar no meu ambiente?

Use como referência inicial, não como decisão final. Ambiente, integração e horário do teste mudam os números — meça no seu próprio ambiente antes de dimensionar capacidade ou orçamento.

Quantas amostras preciso coletar por provedor?

Não existe um número mágico, mas 100 amostras por tipo de CAPTCHA já reduzem bastante o ruído da mediana, do P90 e do P99. Para decisões de capacidade em produção, considere ampliar para várias janelas de tráfego.

O resultado de hoje ainda vale daqui a um mês?

Não necessariamente. Mudanças de integração, região do runner ou volume de tráfego alteram os números. Trate cada medição como uma amostra datada e refaça o teste periodicamente.

Preciso incluir hCaptcha e FunCaptcha nessa comparação?

Só se a sua aplicação realmente usa esses tipos. Vale registrar que a CaptchaAI não resolve hCaptcha nem FunCaptcha hoje — anote isso na planilha como limitação conhecida, em vez de deixar a célula em branco.

Posso publicar os resultados da minha comparação?

Pode, mas publique junto a metodologia, o tamanho da amostra e as limitações do teste. Números sem esse contexto costumam ser lidos como garantia, o que eles não são.

Guias relacionados seguros

Valide a integração CAPTCHA do seu ambiente próprio com a CaptchaAI.

Os comentários estão desativados para este artigo.