Corpus de test public

Nos affirmations de compatibilité des scanners ne valent que les preuves sur lesquelles elles reposent. Cette page est le corpus, les entrées canoniques contre lesquelles nous testons chaque encodeur en régression, plus le comportement de la caméra téléphone que vous pouvez auditer vous-même sans nous croire sur parole.

Pourquoi ça existe : la plupart des outils QR publient une matrice de compatibilité. La nôtre publie le corpus derrière la matrice. Si vous êtes responsable d'un parc de scanners, retail, entrepôt, pharma, compagnie aérienne, DMV, vous pouvez exécuter ce corpus sur vos propres lecteurs et vérifier chaque affirmation que nous faisons.

Télécharger corpus.zip Fixtures JSON + CSV + méthodologie + README. ~4 Ko.

Chargement de la version…

Comment utiliser le corpus

Téléchargez les fixtures.

Chaque vecteur de test est dans /test-vectors/fixtures.json. Un objet JSON par type avec les champs d'entrée et les sous-chaînes décodées attendues. Récupéré en temps réel depuis ce site, pas de copies périmées.

Régénérez les QR.

Prenez le map fields d'un fixture, entrez les valeurs dans le générateur pour ce type et cliquez Générer. Le QR résultant est bit à bit identique à ce que notre CI traite en aller-retour.

Scannez avec votre propre parc.

Pointez une caméra iPhone, caméra Android, Google Lens, scanner industriel (Zebra, Honeywell, Datalogic) ou lecteur spécifique à l'app (app bancaire, authentificateur) sur le QR généré. Confirmez que le texte décodé contient chaque sous-chaîne expect de ce fixture.

Signalez les écarts.

Si un scanner de votre parc retourne un décodage qui ne correspond pas au fixture, signalez un problème. Nous reproduirons, ajouterons votre scanner à la matrice de compatibilité publique et (si c'est un bug d'encodeur) enverrons un correctif.

Résultats de scan attendus, sous-ensemble sélectionné

C'est une vue compacte du JSON complet des fixtures, groupée par comportement du scanner. Pour la liste exhaustive de tous les types qu'Abundera supporte, allez à /test-vectors/.

TypeEntrée du fixtureCaméra iOSCaméra AndroidScanner pro
URLhttps://example.com/testDécodeDécodeDécode
WiFiSSID=MyNet PSK=... WPARejoint le réseauRejoint le réseauDécode payload
vCardFN=Alice ORG=Acme ...Ajouter aux ContactsAjouter aux ContactsDécode payload
TOTPotpauth://totp/...?secret=JBSW...App d'authentification le litApp d'authentification le litDécode URI
eSIMLPA:1$rsp.example.com$K2-LM...iOS 17.4+ provisionneAndroid 13+ provisionneDécode URI
Bitcoin (BIP-21)bitcoin:1A1zP1eP...Ouvre app portefeuilleOuvre app portefeuilleDécode URI
SEPA (EPC)BCD header + name + IBAN + amountChaîne brute uniquementChaîne brute uniquementSupport app bancaire
Swiss QR-billSPC header + IBAN + address + amountChaîne brute uniquementChaîne brute uniquementApps bancaires suisses natives
GS1 Digital Linkhttps://id.gs1.org/01/09506000134352Ouvre URLOuvre URLFirmware POS analyse les AI
Data MatrixArbitrary payloadPas de décodageGoogle Lens uniquementNatif
AztecArbitrary payloadPas de décodageCertains lecteurs AndroidNatif
PDF417AAMVA or arbitraryPas de décodageGoogle Lens partielNatif
Permis de conduire AAMVA@  ANSI 636014080002DL...iOS 17+ reconnaît la licenceApps Android reconnaissant la licenceNatif
EAN-130012345678905Décode les chiffresDécode les chiffresChaque POS retail
Micro QRCompact payloadPas de décodagePas de décodageLecteurs industriels uniquement
rMQRRectangular payloadPas de décodagePas de décodageCertains firmware Scandit/Cognex

Ce que signifie "résultat de scan attendu"

Notes de méthodologie

À venir

Voir aussi

Corpus dernièrement testé en régression le 2026-04-18. Appareils scanner vérifiés : iPhone 15 Pro / iOS 18.3, Pixel 8 / Android 14, Zebra DS8100.