Julkinen testikorpus
Skanneriyhteensopivuusväitteemme ovat vain yhtä hyviä kuin niiden taustalla oleva näyttö. Tämä sivu on korpus, kanoniset syötteet, joita regressiontestaamme jokaista kooderia vastaan, sekä puhelinkamerakäyttäytyminen, jonka voit tarkistaa itse ottamatta meitä sanaansa.
Lataa corpus.zip Pakatut fixtures-JSON + CSV + metodologia + README. ~4 KB.
Ladataan versiota…
Korpuksen käyttö
Jokainen testvektori sijaitsee tiedostossa /test-vectors/fixtures.json. Yksi JSON-objekti per tyyppi syötekenttien ja odotettujen purettujen osajono(je)n kanssa. Haetaan suoraan tältä sivustolta, ei vanhentuneita kopioita.
Ota minkä tahansa fikstuuksen fields-kartta, syötä arvot generaattoriin sille tyypille ja paina Luo. Tuloksena oleva QR on bitti-bitti-identtinen sen kanssa, mitä CI:mme ajaa round-trip:nä vastaan.
Osoita iPhone-kamera, Android-kamera, Google Lens, teollinen skanneri (Zebra, Honeywell, Datalogic) tai sovelluskohtainen lukija (pankkisovellus, todennussovellus) luotuun QR:ään. Vahvista, että purettu teksti sisältää jokaisen expect-osajonon kyseiselle fikstuukselle.
Jos laivastosi skanneri palauttaa purkauksen, joka ei vastaa fikstuuksia, luo ongelmaraportti. Reprodusoimme, lisäämme skannerisi julkiseen yhteensopivuusmatriisiin ja (jos kyseessä on kooderivirhe) toimitamme korjauksen.
Odotetut skannaustulocset, kuratoitu alijoukko
Tämä on tiivis näkymä täydestä fixture-JSON:sta, ryhmiteltynä skannerikäyttäytymisen mukaan. Kaikkien Abunderan tukemien tyyppien kattavasta luettelosta mene sivulle /test-vectors/.
| Tyyppi | Fikstuuksen syöte | iOS Camera | Android Camera | Pro-skanneri |
|---|---|---|---|---|
| URL | https://example.com/test | Purkaa | Purkaa | Purkaa |
| WiFi | SSID=MyNet PSK=... WPA | Yhdistää verkkoon | Yhdistää verkkoon | Purkaa hyötykuorman |
| WiFi Enterprise (EAP) | WPA2-EAP PEAP identity=alice@corp | iOS 17+ | Purkaa | Purkaa |
| vCard | FN=Alice ORG=Acme ... | Lisää yhteystietoihin | Lisää yhteystietoihin | Purkaa hyötykuorman |
| TOTP | otpauth://totp/...?secret=JBSW... | Todennussovellus lukee sen | Todennussovellus lukee sen | Purkaa URI:n |
| eSIM | LPA:1$rsp.example.com$K2-LM... | iOS 17.4+ käyttöönottaa | Android 13+ käyttöönottaa | Purkaa URI:n |
| Bitcoin (BIP-21) | bitcoin:1A1zP1eP... | Lompakkosovellus avautuu | Lompakkosovellus avautuu | Purkaa URI:n |
| SEPA (EPC) | BCD header + name + IBAN + amount | Vain raaka merkkijono | Vain raaka merkkijono | Pankkisovelluksen tuki |
| Swiss QR-bill | SPC header + IBAN + address + amount | Vain raaka merkkijono | Vain raaka merkkijono | Sveitsiläiset pankkisovellukset natiivisti |
| GS1 Digital Link | https://id.gs1.org/01/09506000134352 | Avaa URL:n | Avaa URL:n | POS-laiteohjelmisto jäsentää AI:t |
| Data Matrix | Mielivaltainen hyötykuorma | Ei purkamista | Vain Google Lens | Natiivisti |
| Aztec | Mielivaltainen hyötykuorma | Ei purkamista | Jotkut Android-lukijat | Natiivisti |
| PDF417 | AAMVA tai mielivaltainen | Ei purkamista | Google Lens osittain | Natiivisti |
| AAMVA ajokortti | @
ANSI 636014080002DL... | iOS 17+ ajokorttiTietoinen | Android ajokorttiTietoiset sovellukset | Natiivisti |
| EAN-13 | 0012345678905 | Purkaa numerot | Purkaa numerot | Jokainen vähittäiskaupan POS |
| Code 128 | ABC-123 | Purkaa | Purkaa | Natiivisti |
| Micro QR | Kompakti hyötykuorma | Ei purkamista | Ei purkamista | Vain teolliset lukijat |
| rMQR | Suorakulmainen hyötykuorma | Ei purkamista | Ei purkamista | Jotkut Scandit/Cognex-laiteohjelmistot |
Mitä "odotettu skannaustulosc" tarkoittaa
- Purkaa, natiivi puhelinkameralukija palauttaa hyötykuorman ilman erillistä sovellusta.
- Osittain, purkaminen riippuu tietystä sovelluksesta (todennus, lompakko, pankki) tai tietystä käyttöjärjestelmäversiosta.
- Ei purkamista, natiivi kamera ei palauta mitään. Vaatii erikoisskannerin tai -lukijan.
Metodologisia huomioita
- Jokainen fikstuuksi suorittaa round-trip:n. CI:mme luo jokaisen koodin headless Chromiumissa, purkaa sen selaimen
BarcodeDetector-API:n kautta ja vahvistaa osajonon vastaavuuden. Vihreä CI tarkoittaa, että korpus on sisäisesti johdonmukainen. - Tämän taulukon skanneritulokset ovat manuaalisesta testauksesta oikeilla laitteilla. Ei syntetisoitu. iPhone 15 Pro iOS 18.3:lla, Pixel 8 Android 14:lla, Zebra DS8100 -imager firmware CAAACS00-002-R06:lla.
- Julkaisemme negatiiviset tulokset. Jos iPhone Camera kieltäytyy purkamasta symbologiaa (Data Matrix, Aztec, PDF417) taulukossa lukee "Ei purkamista", ei uudelleenmuotoilu "natiivi lukija":ksi.
- Korpus on versioitu. Kun lisäämme tyypin tai korjaamme kooderivirheen, vastaava fikstuuksikirjaus toimitetaan samassa commitissa. Tarkista fikstuuksihistoria tarkastuspolkua varten.
Mitä on tulossa
- Esirenderoituja artefakteja. Nykyinen ZIP pakkaa fixtures + metodologia + CSV. Tuleva revisio lisää esirenderoituja SVG + PNG jokaista fikstuuksia varten, jotta voit pudottaa ne suoraan skannerilaivasto-harnessiin. Odottaa headless-selaimen vaihetta rakennusajalla.
- Skannerilaivasto-attestointi. Päivätty loki osoitteessa docs/SCANNER_ATTESTATION.md, kasvaa joka kerta kun vahvistamme uuden laitteen osalta.
- Kolmannen osapuolen varmennus. Riippumaton tietoturvalaboratorio ajaa korpuksen skannerilaivastossa ja julkaisee allekirjoitetun attestoinnin. Odottaa, tilattu; raportti julkaistaan tässä sen saapuessa.
Katso myös
- /test-vectors/, täydellinen fixture-JSON ja hakukelpoinen taulukko.
- /compatibility/, elävä skanneriyhteensopivuusmatriisi.
- /standards/, per-standardi-referenssisivut.
- /print-size/, fyysinen tulostusohjaus korpuksen rinnalla.