Corpus de teste público

Nossas afirmações de compatibilidade de scanners são tão boas quanto as evidências nas quais são baseadas. Esta página é o corpus, as entradas canônicas que submetemos a teste de regressão em cada codificador, mais o comportamento da câmera do telefone que você pode auditar por conta própria sem nos levar pela palavra.

Por que isso existe: a maioria das ferramentas QR publica uma matriz de compatibilidade. A nossa publica o corpus por trás da matriz. Se você é responsável por uma frota de scanners, varejo, armazém, farmácia, companhia aérea, DMV, você pode executar este corpus em seus próprios leitores e verificar cada afirmação que fazemos.

Baixar corpus.zip JSON de fixtures + CSV + metodologia + README. ~4 KB.

Carregando versão…

Como usar o corpus

Baixe os fixtures.

Cada vetor de teste está em /test-vectors/fixtures.json. Um objeto JSON por tipo com os campos de entrada e as subcadeias decodificadas esperadas. Buscado ao vivo deste site, sem cópias obsoletas.

Regenere os QRs.

Pegue o mapa de fields de qualquer fixture, insira os valores no gerador para esse tipo e clique em Gerar. O QR resultante é bit a bit idêntico ao que nosso CI processa em ida e volta.

Escaneie com sua própria frota.

Aponte uma câmera iPhone, câmera Android, Google Lens, scanner industrial (Zebra, Honeywell, Datalogic) ou leitor específico do app (app bancário, autenticador) para o QR gerado. Confirme que o texto decodificado contém cada subcadeia expect desse fixture.

Reporte discrepâncias.

Se um scanner da sua frota retornar uma decodificação que não corresponda ao fixture, abra um issue. Vamos reproduzir, adicionar seu scanner à matriz de compatibilidade pública e (se for um bug do codificador) enviar uma correção.

Resultados de escaneamento esperados, subconjunto selecionado

Esta é uma visão compacta do JSON completo de fixtures, agrupada por comportamento do scanner. Para a lista exaustiva de todos os tipos que a Abundera suporta, vá para /test-vectors/.

TipoEntrada do fixtureCâmera iOSCâmera AndroidScanner pro
URLhttps://example.com/testDecodificaDecodificaDecodifica
WiFiSSID=MyNet PSK=... WPAConecta à redeConecta à redeDecodifica payload
vCardFN=Alice ORG=Acme ...Adicionar a ContatosAdicionar a ContatosDecodifica payload
TOTPotpauth://totp/...?secret=JBSW...App de autenticação lêApp de autenticação lêDecodifica URI
eSIMLPA:1$rsp.example.com$K2-LM...iOS 17.4+ provisionaAndroid 13+ provisionaDecodifica URI
Bitcoin (BIP-21)bitcoin:1A1zP1eP...Abre app de carteiraAbre app de carteiraDecodifica URI
SEPA (EPC)BCD header + name + IBAN + amountApenas string brutaApenas string brutaSuporte em app bancário
Swiss QR-billSPC header + IBAN + address + amountApenas string brutaApenas string brutaApps bancários suíços nativos
GS1 Digital Linkhttps://id.gs1.org/01/09506000134352Abre URLAbre URLFirmware POS analisa AIs
Data MatrixArbitrary payloadSem decodificaçãoSomente Google LensNativo
AztecArbitrary payloadSem decodificaçãoAlguns leitores AndroidNativo
PDF417AAMVA or arbitrarySem decodificaçãoGoogle Lens parcialNativo
Carteira AAMVA@  ANSI 636014080002DL...iOS 17+ reconhece carteiraApps Android reconhecedoras de carteiraNativo
EAN-130012345678905Decodifica dígitosDecodifica dígitosTodo PDV varejista
Micro QRCompact payloadSem decodificaçãoSem decodificaçãoSomente leitores industriais
rMQRRectangular payloadSem decodificaçãoSem decodificaçãoAlguns firmware Scandit/Cognex

O que significa "resultado de escaneamento esperado"

Notas de metodologia

Em breve

Veja também

Corpus testado por último em regressão em 2026-04-18. Dispositivos scanner verificados: iPhone 15 Pro / iOS 18.3, Pixel 8 / Android 14, Zebra DS8100.