Chuyển tới nội dung

8 phút đọc

Cách dùng trình giả lập máy quét mã vạch (hướng dẫn từng bước)

Trình giả lập máy quét mã vạch là một trong những cách nhanh nhất để kiểm thử các quy trình do máy quét điều khiển khi thiết bị thật không có sẵn, đang được dùng chung hoặc đơn giản là làm chậm quá trình phát triển. Nếu bạn làm việc với luồng thanh toán, công cụ kho, màn hình quản trị nội bộ hoặc phần mềm POS, khả năng mô phỏng dữ liệu nhập từ máy quét mã vạch ngay khi cần sẽ khiến việc gỡ lỗi đỡ đau đầu hơn nhiều.

Vì sao nhà phát triển dùng trình giả lập

Hầu hết nhóm không có máy quét dự phòng bên cạnh mỗi máy tính xách tay của nhà phát triển. Ngay cả khi có phần cứng, nó thường được cắm vào trạm QA, thiết bị đầu cuối POS dùng chung hoặc làn thử nghiệm mà người khác đang dùng. Việc gỡ lỗi đơn giản vì thế trở nên chậm một cách đáng ngạc nhiên.

Trình giả lập mã vạch giải quyết điều đó bằng cách cho bạn tái tạo dữ liệu nhập từ bàn phím giống máy quét ngay trên máy của mình. Với kiểm thử máy quét mã vạch hằng ngày, điều này quan trọng hơn người ta nghĩ. Bạn có thể chạy lại cùng một lần quét, đổi thời điểm, bật hậu tố ENTER và so sánh hành vi mà không rời bàn làm việc.

Các trường hợp dùng điển hình gồm:

  • phát triển cục bộ khi máy quét không nối với máy của bạn
  • kiểm thử hồi quy khi QA cần các giá trị mã vạch lặp lại được
  • kiểm thử thanh toán và POS, nơi tiêu điểm và hành vi hậu tố có ý nghĩa
  • môi trường demo cần trình bày nhanh quy trình máy quét

Bước 1: Hiểu hành vi bạn cần mô phỏng

Trước khi cấu hình bất cứ thứ gì, hãy quyết định “đúng” với hành vi máy quét nghĩa là gì đối với quy trình bạn đang kiểm thử. Hầu hết máy quét USB hoạt động như một nêm bàn phím. Chúng gõ ký tự rất nhanh vào trường đang có tiêu điểm và thường thêm ENTER ở cuối.

Chi tiết đó quan trọng. Nếu bạn chỉ dán văn bản vào ô nhập, bạn không thực sự kiểm thử cách màn hình hành xử trong lúc quét. Bạn chỉ chứng minh trường đó giữ được giá trị. Một thiết lập Barcode Scanner Emulator tốt hữu ích vì nó giúp bạn mô phỏng hành vi máy quét mã vạch thay vì thay thế bằng việc gõ tay.

Hướng dẫn từng bước về trình giả lập máy quét mã vạch, điều chỉnh cho quy trình phát triển và QA.
Hướng dẫn từng bước về trình giả lập máy quét mã vạch, điều chỉnh cho quy trình phát triển và QA.

Bước 2: Chọn một quy trình thật cụ thể

Tránh mục tiêu rộng như “kiểm thử việc quét”. Mục tiêu tốt hơn là điều cụ thể, ví dụ:

  1. quét mã sản phẩm vào trường tìm sản phẩm
  2. gửi tự động bằng ENTER
  3. thêm sản phẩm vào giỏ hàng
  4. trả tiêu điểm về ô tìm kiếm

Mức chi tiết này quan trọng vì lỗi liên quan đến mã vạch thường nằm ở các bước quanh lần quét. Bản thân giá trị mã vạch có thể hợp lệ, nhưng giao diện vẫn thất bại vì tiêu điểm đã chuyển, ENTER kích hoạt quá sớm hoặc trình xử lý xác thực chạy hai lần.

Với công cụ vận hành thương mại điện tử, mục tiêu có thể là biểu mẫu tra cứu đơn hàng. Với kiểm thử POS, thường là màn hình bán hàng. Với phần mềm kho, có thể là biểu mẫu nhận hàng hoặc quy trình kiểm kê.

Bước 3: Dùng giá trị mã vạch sát thực tế

Giá trị kiểm thử nên giống dữ liệu hệ thống nhận trong môi trường vận hành. Nếu ứng dụng mong đợi EAN-13, hãy dùng giá trị 13 chữ số. Nếu backend ánh xạ chuỗi mã vạch sang SKU nội bộ, hãy dùng mã thực sự có trong dữ liệu kiểm thử.

Tôi rất khuyến nghị giữ một thư viện ngắn các giá trị đã biết:

  • một mã sản phẩm hợp lệ
  • một mã không xác định
  • một mã sai định dạng hoặc quá ngắn
  • một giá trị có số 0 ở đầu
  • một giá trị biên kích hoạt một quy tắc cụ thể

Nghe có vẻ cơ bản, nhưng đó là khác biệt giữa kiểm thử hời hợt và kiểm thử hữu ích. Kiểm thử máy quét mã vạch tốt hơn nhiều khi bạn ngừng coi mọi lần quét là cùng một sự kiện.

Bước 4: Khớp thời điểm và hành vi hậu tố

Thời điểm là nơi nhiều lỗi thật ẩn náu. Một số giao diện hoạt động hoàn hảo khi giá trị xuất hiện cùng lúc, nhưng thất bại khi các ký tự đến theo chuỗi nhanh. Số khác hoạt động cho đến khi máy quét thêm ENTER và màn hình gửi vào lúc sai.

Khi cấu hình trình giả lập mã vạch, hãy thử nhiều hơn một biến thể:

  • không hậu tố, để xác nhận trường nhận giá trị thô
  • hậu tố ENTER, để kiểm thử tìm kiếm và gửi
  • gõ nhanh, để bắt chước dữ liệu nhập mạnh từ máy quét
  • gõ chậm hơn một chút, để lộ trình xử lý sự kiện nhạy với thời gian

Nếu quy trình mã vạch của bạn phụ thuộc vào tìm kiếm có độ trễ, xác thực khi thay đổi hoặc quản lý tiêu điểm sau lần quét, bước này không phải tùy chọn. Nó thường là khác biệt giữa “chạy trên máy tôi” và “chạy trong môi trường vận hành”.

Bước 5: Kiểm thử tiêu điểm như người vận hành thật

Trong thực tế, lỗi tiêu điểm phổ biến hơn lỗi phân tích mã vạch. Một lần quét có thể đúng về mặt kỹ thuật mà vẫn làm hỏng quy trình vì con trỏ đang ở sai trường. Vì thế bạn nên kiểm thử đường đi thành công và vài sai sót sát thực tế.

Ví dụ, trên màn hình POS bạn có thể kỳ vọng trường tìm sản phẩm lấy lại tiêu điểm sau khi thêm mặt hàng. Nếu không, lần quét mô phỏng tiếp theo có thể rơi vào trường số lượng, trường giảm giá hoặc chẳng đâu hữu ích. Trình giả lập hoàn hảo để tái tạo điều này vì cùng một tình huống có thể được kích hoạt lặp đi lặp lại mà không có khác biệt do gõ tay.

Những sai lầm thường gặp làm mất thời gian

  • dùng một mã vạch rồi giả định mọi định dạng đều hành xử giống nhau
  • bỏ ENTER dù máy quét vận hành có thêm nó
  • dán văn bản bằng tay thay vì dùng dữ liệu nhập giống máy quét
  • bỏ qua việc khôi phục tiêu điểm sau lỗi xác thực hoặc hộp thoại mô-đun
  • chỉ kiểm thử trường mã vạch thay vì toàn bộ quy trình

Tư duy hữu ích nhất là: kiểm thử hành vi quanh lần quét, không chỉ bản thân giá trị.

Điều thực sự quan trọng trong thực tế

Phần lớn thời gian, chính mã vạch không phải vấn đề.

Vấn đề là giao diện làm gì ngay sau lần quét.

Nếu bạn tái tạo khoảnh khắc đó một cách nhất quán, đặc biệt với thời điểm và hành vi ENTER, bạn sẽ sửa lỗi nhanh hơn nhiều so với chỉ dựa vào phần cứng.

Bước tiếp theo hữu ích

Nếu bạn muốn thử các quy trình này trong thực tế, hãy bắt đầu với công cụ Barcode Scanner Emulator rồi quay lại phần còn lại của blog để xem thêm các mẫu kiểm thử.

Bài viết liên quan