Перейти к содержимому

9 мин чтения

Как тестировать системы POS без реального оборудования

Тестировать систему POS без полной кассовой линии сначала может казаться рискованным. В настоящих магазинах есть сканеры, принтеры чеков, платёжные терминалы, права и множество поведения, зависящего от среды. Но для большой доли повседневной разработки и работы QA системы POS всё ещё можно эффективно проверять, не держа каждое устройство на столе.

Что можно проверить без оборудования

Гораздо больше, чем кажется. Можно проверить поиск товара, добавление в корзину, изменение количества, правила скидок, назначение покупателя, возврат фокуса, обработку ошибок и многие крайние случаи для кассира, не трогая настоящий сканер.

Ключ — отделить логику процесса от аппаратной проверки. Если проблема в том, как POS реагирует на ввод, смену состояния или результаты поиска, программной проверки обычно достаточно, чтобы её найти. Если проблема в сканерах, принтерах, терминалах или ограничениях USB, здесь уже нужен аппаратный проход.

Начните с процесса сканера

В большинстве систем POS сканер — первая зависимость, о которой люди беспокоятся. К счастью, её же проще всего хорошо имитировать, потому что многие сканеры ведут себя как клавиатуры.

Поэтому инструмент-эмулятор сканера штрихкодов — сильная отправная точка для проверки POS. Можно управлять тем же полем поиска или вводом товара, что и на кассе, и проверить, как экран реагирует, когда значения штрихкода приходят быстро, с завершающим Enter или без него.

Команды POS могут проверить удивительно большую долю реального поведения процесса ещё до того, как коснутся отдельного кассового оборудования.
Команды POS могут проверить удивительно большую долю реального поведения процесса ещё до того, как коснутся отдельного кассового оборудования.

Соберите небольшую, но реалистичную матрицу тестов

Самый простой путь к поверхностному покрытию — проверить один товар счастливого пути. Лучше создать небольшую матрицу типов позиций, которая отражает, как POS ведёт себя в реальной рознице.

Мне обычно нужны как минимум:

  • один обычный товар в наличии
  • один неизвестный штрихкод
  • одна позиция с ведущими нулями
  • один товар с ограничением или проверкой возраста
  • один товар с акцией или правилом цены

Это важно, потому что ошибки POS часто прячутся в бизнес-правилах, а не в самом скане. Если набор слишком простой, экран может выглядеть устойчивым, хотя реальный процесс таким не является.

Имитируйте поведение оператора, а не только системы

Сессия POS — не аккуратный модульный тест. Кассиры двигаются быстро, нажимают не то поле, сканируют позиции повторно, слишком рано закрывают подсказки и работают под давлением времени. Если ваши сценарии без оборудования не моделируют эту реальность, покрытие будет выглядеть лучше, чем оно есть.

Попробуйте такие сценарии:

  1. быстро отсканировать одну и ту же позицию дважды
  2. сканировать, пока открыто модальное окно
  3. удалить позицию и отсканировать её снова
  4. вызвать подтверждение менеджера и сканировать ещё раз
  5. намеренно потерять фокус и убедиться, что интерфейс восстанавливается

Это реалистичные сбои, и именно такие случаи эмулятор штрихкода помогает повторять без усталости.

Используйте слои среды намеренно

Для проверки POS мне нравятся три слоя:

  • локальная разработка с подготовленными данными и эмулятором штрихкода
  • стенд с реальной логикой цен, налогов и остатков
  • аппаратная проверка на настоящем терминале перед релизом

Так дорогое время оборудования уходит на небольшой набор ошибок, которым устройства действительно нужны. Разработчики закрывают большинство дефектов процесса локально, QA проверяет более широкие сценарии на стенде, а специалисты по оборудованию сосредоточены на проблемах уровня устройства.

Знайте, что по-прежнему требует настоящего оборудования

Проверка без оборудования сильна, но у неё есть пределы. Настоящие устройства всё ещё нужны для:

  • сопряжения сканера и поведения драйверов
  • вывода принтера чеков и работы с бумагой
  • связи с платёжным терминалом
  • ограничений USB-концентратора и киоска
  • сетевых и терминальных ограничений конкретного магазина

Честность об этих пределах делает остальной процесс сильнее. Цель не в том, чтобы делать вид, будто оборудование не важно. Цель — перестать тратить время оборудования на проблемы, которые можно было поймать раньше.

Где команды обычно ошибаются

Самая частая ошибка — ждать полную аппаратную линию, прежде чем проверять что-то существенное. Это звучит осторожно, но обычно откладывает ошибки, а не предотвращает их. Если поиск товара ломается, потому что поле поиска теряет фокус после подсказки о скидке, оборудование волшебным образом не сделает эту ошибку понятнее.

Другая частая проблема — проверять только один спокойный счастливый путь. Реальные сессии на кассе шумные. Операторы сканируют быстро, повторяют позиции, выходят из подсказок и переключаются между процессами. Проверка POS без оборудования должна отражать эту реальность, иначе она пропустит именно те проблемы, которые персонал заметит первыми.

Практический пример

Представьте экран оплаты, где сканирование товара должно добавить позицию, обновить корзину и сразу вернуть фокус в поле поиска товара. Большую часть этого можно проверить без оборудования:

  • имитировать ввод сканера штрихкодов в поле поиска
  • убедиться, что позиция добавлена правильно
  • убедиться, что применяются акции и правила цены
  • подтвердить, что следующий скан попадает в то же поле

Только после этого нужен физический сканер для финальной уверенности. Такой порядок экономит время и обычно делает аппаратную сессию полезнее.

Короткая проверка реальности

Системы POS можно проверять без реального оборудования гораздо эффективнее, чем предполагают многие команды. Начните с реалистичной имитации сканера, соедините её со стабильными тестовыми данными и сначала сосредоточьтесь на поведении процесса. Затем используйте настоящее оборудование для более узкого набора проблем, которые могут выявить только устройства. Такой подход быстрее, дешевле и обычно дисциплинированнее, чем опора на оборудование с самого начала.

Полезный следующий шаг

Если хотите опробовать эти процессы на практике, начните с инструмента Barcode Scanner Emulator а затем вернитесь к остальным материалам блога за другими схемами тестирования.

Похожие статьи