Korpus Uji Publik
Klaim kompatibilitas pemindai kami hanya sebaik bukti yang mendasarinya. Halaman ini adalah korpus, input kanonik yang kami uji regresi pada setiap encoder, ditambah perilaku kamera ponsel yang bisa Anda audit sendiri tanpa harus mempercayai kata-kata kami.
Unduh corpus.zip Paket fixtures JSON + CSV + metodologi + README. ~4 KB.
Memuat versi…
Cara menggunakan korpus
Setiap vektor uji ada di /test-vectors/fixtures.json. Satu objek JSON per tipe dengan kolom input dan substring yang diharapkan dari hasil dekode. Diambil langsung dari situs ini, tidak ada salinan usang.
Ambil peta fields dari fixture mana pun, masukkan nilai ke generator untuk tipe tersebut, lalu klik Generate. QR yang dihasilkan identik bit-per-bit dengan yang diuji oleh CI kami.
Arahkan iPhone Camera, Android Camera, Google Lens, pemindai industri (Zebra, Honeywell, Datalogic), atau pembaca khusus aplikasi (aplikasi perbankan, autentikator) ke QR yang dihasilkan. Pastikan teks hasil dekode mengandung setiap substring expect untuk fixture tersebut.
Jika pemindai di armada Anda mengembalikan dekode yang tidak cocok dengan fixture, ajukan laporan masalah. Kami akan mereproduksinya, menambahkan pemindai Anda ke matriks kompatibilitas publik, dan (jika itu bug encoder) mengirimkan perbaikan.
Hasil pemindaian yang diharapkan, subset terpilih
Ini adalah tampilan ringkas dari fixture JSON lengkap, dikelompokkan berdasarkan perilaku pemindai. Untuk daftar lengkap semua tipe yang didukung Abundera, kunjungi /test-vectors/.
| Tipe | Input fixture | iOS Camera | Android Camera | Pemindai pro |
|---|---|---|---|---|
| URL | https://example.com/test | Mendekode | Mendekode | Mendekode |
| WiFi | SSID=MyNet PSK=... WPA | Bergabung ke jaringan | Bergabung ke jaringan | Mendekode payload |
| WiFi Enterprise (EAP) | WPA2-EAP PEAP identity=alice@corp | iOS 17+ | Mendekode | Mendekode |
| vCard | FN=Alice ORG=Acme ... | Tambah ke Kontak | Tambah ke Kontak | Mendekode payload |
| TOTP | otpauth://totp/...?secret=JBSW... | Aplikasi autentikator membacanya | Aplikasi autentikator membacanya | Mendekode URI |
| eSIM | LPA:1$rsp.example.com$K2-LM... | iOS 17.4+ menyediakan | Android 13+ menyediakan | Mendekode URI |
| Bitcoin (BIP-21) | bitcoin:1A1zP1eP... | Aplikasi dompet terbuka | Aplikasi dompet terbuka | Mendekode URI |
| SEPA (EPC) | BCD header + name + IBAN + amount | String mentah saja | String mentah saja | Dukungan aplikasi perbankan |
| Swiss QR-bill | SPC header + IBAN + address + amount | String mentah saja | String mentah saja | Aplikasi perbankan Swiss native |
| GS1 Digital Link | https://id.gs1.org/01/09506000134352 | Membuka URL | Membuka URL | Firmware POS mengurai AI |
| Data Matrix | Arbitrary payload | Tidak mendekode | Google Lens saja | Native |
| Aztec | Arbitrary payload | Tidak mendekode | Beberapa pembaca Android | Native |
| PDF417 | AAMVA or arbitrary | Tidak mendekode | Google Lens sebagian | Native |
| AAMVA driver license | @\n\x1e\rANSI 636014080002DL... | iOS 17+ mengenali lisensi | Aplikasi Android yang mengenali lisensi | Native |
| EAN-13 | 0012345678905 | Mendekode angka | Mendekode angka | Setiap POS ritel |
| Code 128 | ABC-123 | Mendekode | Mendekode | Native |
| Micro QR | Compact payload | Tidak mendekode | Tidak mendekode | Hanya pembaca industri |
| rMQR | Rectangular payload | Tidak mendekode | Tidak mendekode | Beberapa firmware Scandit/Cognex |
Apa arti "hasil pemindaian yang diharapkan"
- Mendekode, pembaca kamera ponsel native mengembalikan payload tanpa memerlukan aplikasi terpisah.
- Sebagian, dekode bergantung pada aplikasi tertentu (autentikator, dompet, perbankan) atau versi OS tertentu.
- Tidak mendekode, kamera native tidak mengembalikan apa pun. Memerlukan pemindai atau pembaca spesialis.
Catatan metodologi
- Setiap fixture melewati siklus penuh. CI kami menghasilkan setiap kode di Chromium tanpa kepala, mendekodenya kembali melalui API
BarcodeDetectorbrowser, dan memastikan kecocokan substring. CI hijau berarti korpus konsisten secara internal. - Hasil pemindai dalam tabel ini berasal dari pengujian manual pada perangkat nyata. Tidak disintesis. iPhone 15 Pro di iOS 18.3, Pixel 8 di Android 14, Zebra DS8100 imager pada firmware CAAACS00-002-R06.
- Kami mempublikasikan hasil negatif. Jika iPhone Camera menolak mendekode suatu simbologi (Data Matrix, Aztec, PDF417), itu menjadi "Tidak mendekode" dalam tabel, bukan diganti nama menjadi "pembaca native".
- Korpus memiliki versi. Saat kami menambahkan tipe atau memperbaiki bug encoder, entri fixture yang sesuai dikirimkan dalam commit yang sama. Periksa riwayat fixture untuk jejak audit.
Yang akan datang
- Artefak yang telah dirender. ZIP saat ini menggabungkan fixtures + metodologi + CSV. Revisi mendatang akan menambahkan SVG + PNG yang telah dirender dari setiap fixture sehingga Anda bisa langsung memasukkannya ke dalam harness armada pemindai. Menunggu langkah browser tanpa kepala saat build.
- Atestasi armada pemindai. Log bertanggal di docs/SCANNER_ATTESTATION.md, bertambah setiap kali kami memverifikasi perangkat baru.
- Verifikasi pihak ketiga. Lab keamanan independen menjalankan korpus melalui armada pemindai dan menerbitkan atestasi bertanda tangan. Menunggu, sudah dipesan; laporan akan diterbitkan di sini saat tiba.
Lihat juga
- /test-vectors/, fixture JSON lengkap dan tabel yang bisa dicari.
- /compatibility/, matriks kompatibilitas pemindai langsung.
- /standards/, halaman referensi per standar.
- /print-size/, panduan cetak fisik yang melengkapi korpus.