Veřejný testovací korpus
Naše tvrzení o kompatibilitě čteček jsou jen tak dobrá jako důkazy, na nichž stojí. Tato stránka je korpus, kanonické vstupy, které regresně testujeme vůči každému kodéru, plus chování fotoaparátu telefonu, které si můžete sami ověřit, aniž byste nám museli věřit na slovo.
Stáhnout corpus.zip Sada fixtures JSON + CSV + metodika + README. ~4 KB.
Načítání verze…
Jak používat korpus
Každý testovací vektor se nachází v /test-vectors/fixtures.json. Jeden JSON objekt na typ se vstupními poli a očekávaným dekódovaným podřetězcem. Načítáno živě z tohoto webu, žádné zastaralé kopie.
Vezměte mapu fields libovolné fixture, vložte hodnoty do generátoru pro daný typ a klikněte na Generovat. Výsledný QR kód je bit po bitu identický s tím, co naše CI testuje v cyklu.
Namiřte iPhone Camera, Android Camera, Google Lens, průmyslovou čtečkou (Zebra, Honeywell, Datalogic) nebo aplikačně specifickou čtečkou (bankovní aplikace, autentikátor) na vygenerovaný QR kód. Potvrďte, že dekódovaný text obsahuje každý podřetězec expect pro danou fixture.
Pokud čtečka ve vaší flotile vrátí dekódování, které neodpovídá fixture, zadejte problém. Reprodukujeme ho, přidáme vaši čtečku do veřejné matice kompatibility a (pokud jde o chybu kodéru) zašleme opravu.
Očekávané výsledky skenování, vybraná podmnožina
Toto je kompaktní pohled na celý fixture JSON, seskupený podle chování čteček. Pro úplný seznam všech typů, které Abundera podporuje, přejděte na /test-vectors/.
| Typ | Vstup fixture | iOS Camera | Android Camera | Profesionální čtečka |
|---|---|---|---|---|
| URL | https://example.com/test | Dekóduje | Dekóduje | Dekóduje |
| WiFi | SSID=MyNet PSK=... WPA | Připojí se k síti | Připojí se k síti | Dekóduje payload |
| WiFi Enterprise (EAP) | WPA2-EAP PEAP identity=alice@corp | iOS 17+ | Dekóduje | Dekóduje |
| vCard | FN=Alice ORG=Acme ... | Přidat do kontaktů | Přidat do kontaktů | Dekóduje payload |
| TOTP | otpauth://totp/...?secret=JBSW... | Aplikace autentikátoru to přečte | Aplikace autentikátoru to přečte | Dekóduje URI |
| eSIM | LPA:1$rsp.example.com$K2-LM... | iOS 17.4+ provisionuje | Android 13+ provisionuje | Dekóduje URI |
| Bitcoin (BIP-21) | bitcoin:1A1zP1eP... | Otevře peněženkovou aplikaci | Otevře peněženkovou aplikaci | Dekóduje URI |
| SEPA (EPC) | BCD header + name + IBAN + amount | Pouze surový řetězec | Pouze surový řetězec | Podpora bankovních aplikací |
| Swiss QR-bill | SPC header + IBAN + address + amount | Pouze surový řetězec | Pouze surový řetězec | Nativní pro švýcarské bankovní aplikace |
| GS1 Digital Link | https://id.gs1.org/01/09506000134352 | Otevře URL | Otevře URL | Firmware POS parsuje AI |
| Data Matrix | Arbitrary payload | Bez dekódování | Pouze Google Lens | Nativní |
| Aztec | Arbitrary payload | Bez dekódování | Některé Android čtečky | Nativní |
| PDF417 | AAMVA or arbitrary | Bez dekódování | Google Lens částečně | Nativní |
| AAMVA driver license | @\n\x1e\rANSI 636014080002DL... | iOS 17+ rozpoznává řidičský průkaz | Android aplikace rozpoznávající řidičský průkaz | Nativní |
| EAN-13 | 0012345678905 | Dekóduje číslice | Dekóduje číslice | Každý maloobchodní POS |
| Code 128 | ABC-123 | Dekóduje | Dekóduje | Nativní |
| Micro QR | Compact payload | Bez dekódování | Bez dekódování | Pouze průmyslové čtečky |
| rMQR | Rectangular payload | Bez dekódování | Bez dekódování | Některý firmware Scandit/Cognex |
Co znamená „očekávaný výsledek skenování"
- Dekóduje, nativní čtečka fotoaparátu telefonu vrátí payload bez potřeby samostatné aplikace.
- Částečně, dekódování závisí na konkrétní aplikaci (autentikátor, peněženka, bankovnictví) nebo konkrétní verzi OS.
- Bez dekódování, nativní fotoaparát nic nevrátí. Vyžaduje specializovanou čtečku.
Poznámky k metodice
- Každá fixture projde celým cyklem. Naše CI generuje každý kód v bezhlavém Chromiu, dekóduje ho zpět přes
BarcodeDetectorAPI prohlížeče a ověřuje shodu podřetězce. Zelené CI znamená, že korpus je vnitřně konzistentní. - Výsledky čteček v této tabulce pocházejí z ručního testování na reálných zařízeních. Nejsou syntetizovány. iPhone 15 Pro na iOS 18.3, Pixel 8 na Android 14, Zebra DS8100 imager na firmware CAAACS00-002-R06.
- Zveřejňujeme i negativní výsledky. Pokud iPhone Camera odmítne dekódovat symbologii (Data Matrix, Aztec, PDF417), je to v tabulce „Bez dekódování", ne přejmenované „nativní čtečka".
- Korpus má verze. Když přidáme typ nebo opravíme chybu kodéru, odpovídající položka fixture se doručí ve stejném commitu. Zkontrolujte historii fixture pro auditní stopu.
Co přichází
- Předrenderované artefakty. Současný ZIP obsahuje fixtures + metodiku + CSV. Budoucí verze přidá předrenderované SVG + PNG každé fixture, abyste je mohli přímo vložit do testovacího systému flotily čteček. Čeká se na krok s bezhlavým prohlížečem v době sestavení.
- Atestace flotily čteček. Datovaný protokol na docs/SCANNER_ATTESTATION.md, roste pokaždé, když ověříme proti novému zařízení.
- Ověření třetí stranou. Nezávislá bezpečnostní laboratoř spustí korpus přes flotilu čteček a zveřejní podepsanou atestaci. Čeká se, objednáno; zpráva bude zveřejněna zde po doručení.
Viz také
- /test-vectors/, celý fixture JSON a prohledávatelná tabulka.
- /compatibility/, živá matice kompatibility čteček.
- /standards/, referenční stránky pro jednotlivé standardy.
- /print-size/, pokyny pro fyzický tisk, které doplňují korpus.