コンテンツへスキップ

Barcode Scanner Emulator

バーコードスキャナー入力のテスト方法

アプリケーションがバーコードスキャナー入力を正しく扱うことを確認するための、繰り返し使える QA 手法です。不具合が隠れがちな十の領域を扱います。

1. 基本的な入力の取得

スキャンした値が、対象フィールドに一文字も欠けず届くことを確認します。用途に関係する、長さや文字種の異なるバーコード(数字のみ、英数字、記号)で試します。取得された文字列を正確に確かめるには バーコード入力テスター を使います。

2. 接尾辞の動作

スキャンのあと ENTER または TAB が付くかを確認し、フォームがそれを正しく扱うことを確かめます。意図したワークフローに応じて、フォームの送信、次のフィールドへのフォーカス移動、または明示的な無視のいずれかです。

3. タイミングと連続入力の検出

アプリがスキャナー入力と手入力を区別しようとする場合、実機のスキャナーと手入力の両方で試し、使っている時間のしきい値(スキャナー検出では文字間 30〜100ms が一般的)が偽陽性や偽陰性を出さないことを確認します。

4. キーボード配列の正しさ

数字、記号、(関係する場合は)アクセント付き文字や非 ASCII 文字を含むバーコードをスキャンし、期待どおり届くことを確認します。スキャナーと OS のキーボード配列の不一致は、微妙に誤ったスキャン値の主な原因です。

5. フォーカスの動作

対象フィールドがフォーカスされていないとき、別のフィールドがフォーカスされているとき、どの入力もフォーカスされていないときにスキャンします。スキャナーはキーボードイベントしか出さないため、正しいフィールドにフォーカスがない入力は失われるか、意図しない場所に入ります。

6. 速い連続スキャン

同じ、または異なるバーコードを立て続けにスキャンし、UI の見た目の更新より速くスキャンしたときに、アプリケーションが値を落とさず、複製せず、結合しないことを確認します。

7. 無効または壊れたバーコード

チェックサム検証に失敗するスキャン(EAN/UPC 形式)、認識できない商品コード、破損ラベルによる途中で切れた値を試します。アプリケーションが不正なデータを黙って受け入れず、明確なエラーを出すことを確認します。

8. モーダルとダイアログの相互作用

モーダルダイアログが開いているとき、特に入力フィールドのないダイアログのときにスキャンします。スキャナー入力が、個々のキーに割り当てられた意図しないキーボードショートカットを起動しないことを確認します。速い文字の連続は、ショートカットキーに偶然一致することがあります。

9. 複数フィールドとタブ順のワークフロー

TAB 接尾辞でフィールド間を移動するワークフローでは、タブ順が意図した順序(たとえば商品コード → 数量 → 確認)と一致し、飛ばされるフィールドがないことを確認します。

10. POS と会計の一連のワークフロー

エンドツーエンドのシナリオを実行します。商品をスキャンし、数量を調整し、二つ目の商品をスキャンし、対応していれば割引バーコードを適用し、会計を完了します。個々のフィールドを単独で試しているときには出ない結合上の不具合が現れます。詳しい手順は POS のバーコードテストガイド を参照してください。

この手法のためのツール

項目 1〜3 には バーコード入力テスター を、生のキーコードと修飾キーが重要な項目 4 と 8 には キーボードイベントテスター を使います。