Ideallyfree

Fiziksel Barkod Okuyucu Olmadan Test Yapmak: Barcode Scanner Emulator Nedir?

Barcode Scanner Emulator
Barcode Scanner Emulator

Barkod okuyucular, mağazalardaki POS sistemlerinden depo yönetim yazılımlarına kadar birçok farklı uygulamanın önemli parçalarından biri. Ancak bir barkod okuyucu ile çalışan bir yazılım geliştirirken veya test ederken her zaman fiziksel bir cihaza erişmek mümkün olmayabiliyor.

Özellikle yazılım geliştiricileri ve QA ekipleri için bu durum önemli bir problem oluşturuyor.

Bir uygulamanın barkod okuyucudan gelen veriyi doğru şekilde işleyip işlemediğini test etmek için fiziksel bir scanner satın almak, cihazı bilgisayara bağlamak ve farklı senaryoları tek tek denemek gerekiyor.

Barcode Scanner Emulator yaklaşımı tam olarak bu noktada devreye giriyor.

Barkod okuyucu aslında bilgisayara ne gönderiyor?

Birçok USB barkod okuyucu bilgisayara oldukça basit bir şekilde çalışır. Cihaz, barkodu okuduğunda elde ettiği karakterleri klavye üzerinden yazılmış gibi bilgisayara gönderebilir.

Örneğin bir ürünün barkodu:

1234567890123

ise, scanner bu değeri hedef uygulamaya gönderebilir ve ardından yapılandırmasına bağlı olarak ENTER gibi bir sonlandırıcı karakter de gönderebilir.

Bu nedenle geliştiricinin test etmek istediği şey çoğu zaman yalnızca:

“Barkod okunabiliyor mu?”

değildir.

Asıl soru:

“Uygulamam barkod okuyucudan gelen klavye girdisini doğru şekilde işleyebiliyor mu?”

olur.


Barkod Scanner Emulator ne işe yarar?

Barcode Scanner Emulator, fiziksel bir barkod okuyucunun oluşturduğu klavye girdisini yazılımsal olarak simüle etmeyi amaçlayan bir araçtır.

Örneğin geliştirici bir barkod değeri girerek bunu hedef uygulamaya scanner tarafından gönderilmiş gibi iletebilir.

Bu yaklaşım özellikle şu durumlarda kullanılabilir:

  • POS uygulamalarını test etmek
  • Web tabanlı barkod uygulamalarını test etmek
  • Stok ve envanter yazılımlarını test etmek
  • QA test senaryoları oluşturmak
  • Barkod okuyucu entegrasyonlarını geliştirmek
  • Fiziksel scanner bulunmayan geliştirme ortamlarında çalışmak

Cross-platform barkod scanner testi

Fiziksel barkod okuyucuların yanı sıra, kullanılan test ortamı da geliştiriciler için önemli.

Bir ekip Windows, macOS ve Linux bilgisayarlar kullanıyorsa yalnızca tek bir işletim sistemine bağlı bir test yöntemi geliştirme sürecinde sorun oluşturabilir.

Bu nedenle cross-platform barkod scanner test araçları özellikle ekipler için kullanışlı olabilir.

Barcode Scanner Emulator projesi, Windows, macOS ve Linux üzerinde barkod scanner davranışını simüle etmeye yönelik bir araç sunuyor.

Projenin amacı fiziksel bir barkod okuyucunun yerine geçmekten çok, barkod okuyucu ile çalışan yazılımların geliştirme ve test süreçlerini kolaylaştırmak.


Gerçek bir barkod okuyucu ile emulator arasındaki fark nedir?

Emülatörün fiziksel cihazın tamamen yerine geçtiğini düşünmemek gerekiyor.

Gerçek bir scanner ile test edildiğinde donanıma bağlı birçok farklı değişken ortaya çıkabilir:

  • USB bağlantısı
  • Scanner firmware’i
  • Klavye layout’u
  • Tarama hızı
  • Prefix ve suffix ayarları
  • ENTER veya TAB gönderimi
  • Özel karakterlerin davranışı
  • İşletim sistemi farklılıkları

Emülatör ise özellikle yazılım tarafındaki davranışı kontrol etmek için kullanılabilir.

Örneğin geliştirici şu senaryoyu hızlıca test edebilir:

Barcode:
1234567890123

Input speed:
10 ms

Suffix:
ENTER

Ardından uygulamanın bu girdiyi doğru şekilde alıp almadığını kontrol edebilir.


POS uygulamalarında neden faydalı?

Barkod okuyucuların en yaygın kullanım alanlarından biri POS sistemleri.

Bir POS yazılımında tipik akış şu şekilde olabilir:

Barkod okunur
     ↓
Ürün kodu alınır
     ↓
Ürün veritabanında aranır
     ↓
Ürün sepete eklenir
     ↓
ENTER / sonraki işlem

Bu akışın herhangi bir noktasında problem oluşması kullanıcı deneyimini doğrudan etkileyebilir.

Örneğin uygulama barkod değerini doğru alıyor olabilir ancak scanner’ın gönderdiği ENTER karakterini beklenen şekilde işleyemiyor olabilir.

Bu tür durumlarda fiziksel cihazla tekrar tekrar test yapmak yerine emülatör kullanmak geliştirme sürecini hızlandırabilir.


Geliştiriciler için neden önemli?

Barkod entegrasyonlarında en zor problemlerden biri genellikle barkodun kendisi değil, girdinin uygulamaya nasıl ulaştığıdır.

Bir web uygulamasında örneğin JavaScript ile klavye olaylarını dinleyen bir input alanı bulunabilir.

Basit bir örnek:

input.addEventListener('keydown', event => {
    console.log(event.key);
});

Fiziksel scanner tarafından gönderilen karakterlerin bu uygulamada nasıl algılandığını test etmek için gerçek cihazın sürekli bağlı olması gerekmeyebilir ya da mobil bir şekilde çalışıyorken yanınızda bir okuyucu cihazı bulunmayabilir.

Bir emulator kullanılarak farklı:

  • barkod değerleri
  • gönderim hızları
  • suffix seçenekleri
  • keyboard input senaryoları

denenebilir.


Fiziksel cihaz yine gerekli mi?

Evet. Bir emülatör geliştirme ve yazılım testlerinin önemli bir bölümünü kolaylaştırabilir ancak gerçek donanım testlerinin tamamen yerine geçmez.

Özellikle ürün yayınlanmadan önce gerçek barkod okuyucularla test yapmak önemlidir. En sağlıklı yaklaşım genellikle iki aşamalı olabilir:

1. Development & QA

Emulator ile hızlı ve tekrarlanabilir testler.

2. Final hardware testing

Gerçek scanner ve gerçek POS/uygulama ortamında doğrulama.

Bu yöntem geliştiricilerin fiziksel donanıma olan bağımlılığını azaltırken gerçek cihaz testlerini de korumasını sağlar.


Barkod okuyucularla çalışan bir yazılım geliştirirken her test için fiziksel bir scanner kullanmak geliştirme sürecini yavaşlatabilir.

Özellikle POS, stok yönetimi, depo ve web uygulamalarında barkod girdisinin nasıl işlendiğini hızlıca test etmek için bir barcode scanner emulator pratik bir geliştirme aracı olabilir.

Fiziksel cihazların yerini tamamen almak yerine, geliştirme ve QA süreçlerinde onları tamamlayan bir araç olarak düşünülebilir.

Windows, macOS veya Linux üzerinde barkod scanner davranışını test etmek isteyen geliştiriciler için Barcode Scanner Emulator bu amaçla kullanılabilecek seçeneklerden biri.

Funda Tabak

İstanbul Üniversitesi Siyasal Bilgiler Fakültesi Uluslararası İlişkiler bölümünden mezun olduktan sonra kariyerine saha satış, dijital pazarlama ve online itibar yönetimi alanlarında başladı. Farklı sektörlerde pazarlama, sosyal medya yönetimi ve işveren markası projelerinde görev aldı. Sa-ba, Döksan, İleri Group ve Araymond gibi üretim firmalarının yanı sıra; müşterileri arasında Coca-Cola İçecek, Turkcell, Mercedes-Benz, Novartis, Pfizer ve Yapı Kredi Bankası bulunan danışmanlık odaklı firmalarda B2B ve B2C projelerinde çalıştı.

2010 yılından bu yana ideallyfree.com’un içerik süreçlerini koordine etmektedir. 2018-2021 yılları arasında Katar, Umman, Suudi Arabistan ve ağırlıklı olarak Orta Doğu bölgesinde C-level yöneticilere yönelik eğitim organizasyonları ve projeler geliştirdi. 2023 yılında Yönetim Bilişim Sistemleri eğitimini tamamladı. Halen Dubai merkezli bir şirkette proje yöneticisi olarak çalışmaktadır.

Yorum ekle