Chuyển tới nội dung

9 phút đọc

Cách kiểm thử hệ thống POS khi không có phần cứng thật

Kiểm thử hệ thống POS khi không có đầy đủ làn thanh toán lúc đầu có thể thấy rủi ro. Cửa hàng thật có máy quét, máy in hóa đơn, thiết bị đầu cuối thanh toán, quyền hạn và đủ loại hành vi gắn với môi trường. Nhưng với phần lớn công việc phát triển và QA hằng ngày, bạn vẫn có thể kiểm thử hệ thống POS hiệu quả mà không cần mọi thiết bị trên bàn.

Bạn có thể kiểm thử gì khi không có phần cứng

Nhiều hơn người ta nghĩ. Bạn có thể xác nhận tra cứu sản phẩm, hành vi thêm vào giỏ, đổi số lượng, quy tắc giảm giá, gán khách hàng, khôi phục tiêu điểm, xử lý lỗi và nhiều trường hợp biên mà thu ngân gặp, mà không đụng tới máy quét thật.

Chìa khóa là tách logic quy trình khỏi việc xác nhận phần cứng. Nếu vấn đề là cách POS phản ứng với dữ liệu nhập, thay đổi trạng thái hoặc kết quả tra cứu, kiểm thử bằng phần mềm thường đủ để tìm ra. Nếu vấn đề là máy quét, máy in, thiết bị đầu cuối hoặc hạn chế USB, đó là lúc lượt kiểm phần cứng trở nên cần thiết.

Bắt đầu từ quy trình máy quét

Trong hầu hết hệ thống POS, máy quét là phụ thuộc đầu tiên mà mọi người lo. May mắn là nó cũng là một trong những thứ dễ mô phỏng tốt, vì nhiều máy quét hành xử như bàn phím.

Điều đó khiến công cụ giả lập máy quét mã vạch trở thành điểm bắt đầu vững cho kiểm thử POS. Bạn có thể điều khiển cùng trường tìm hoặc ô nhập mặt hàng dùng ở quầy và xác minh màn hình phản ứng thế nào khi giá trị mã vạch đến nhanh, có hoặc không có ENTER ở cuối.

Nhóm POS có thể xác nhận một lượng đáng ngạc nhiên hành vi quy trình thật trước khi đụng tới phần cứng thanh toán chuyên dụng.
Nhóm POS có thể xác nhận một lượng đáng ngạc nhiên hành vi quy trình thật trước khi đụng tới phần cứng thanh toán chuyên dụng.

Xây một ma trận kiểm thử nhỏ nhưng sát thực tế

Cách dễ nhất để có độ phủ nông là kiểm thử một sản phẩm trên đường đi thành công. Cách tốt hơn là tạo một ma trận nhỏ các loại mặt hàng phản ánh cách POS hành xử trong quy trình bán lẻ thật.

Tôi thường muốn ít nhất:

  • một sản phẩm bình thường còn hàng
  • một mã vạch không xác định
  • một mặt hàng có số 0 ở đầu
  • một mặt hàng bị hạn chế hoặc kiểm tra độ tuổi
  • một sản phẩm có khuyến mại hoặc quy tắc giá

Điều này quan trọng vì lỗi POS thường ẩn trong quy tắc nghiệp vụ, không phải trong chính lần quét. Nếu bộ kiểm thử quá đơn giản, màn hình có thể trông ổn trong khi quy trình thật thì không.

Mô phỏng hành vi người vận hành, không chỉ hành vi hệ thống

Một phiên POS không phải bài kiểm thử đơn vị gọn gàng. Thu ngân di chuyển nhanh, bấm nhầm trường, quét lại mặt hàng, đóng lời nhắc quá sớm và làm việc dưới áp lực thời gian. Nếu ca kiểm thử không có phần cứng của bạn không mô hình hóa thực tế đó, độ phủ sẽ trông tốt hơn thực chất.

Hãy thử các tình huống như:

  1. quét cùng một mặt hàng hai lần thật nhanh
  2. quét khi hộp thoại mô-đun đang mở
  3. xóa một mặt hàng rồi quét lại
  4. kích hoạt phê duyệt của quản lý rồi quét lại
  5. cố ý mất tiêu điểm và xác nhận giao diện phục hồi

Đó là những thất bại sát thực, và đúng loại trường hợp mà trình giả lập mã vạch giúp bạn lặp lại mà không mệt.

Dùng các lớp môi trường một cách có chủ đích

Với kiểm thử POS, tôi thích ba lớp:

  • phát triển cục bộ với dữ liệu đã gieo và trình giả lập mã vạch
  • môi trường thử với giá, thuế và logic tồn kho thật
  • xác nhận phần cứng trên thiết bị đầu cuối thật trước khi phát hành

Cách này giữ thời gian phần cứng đắt đỏ tập trung vào tập lỗi nhỏ thực sự cần thiết bị. Nhà phát triển có thể xử lý hầu hết lỗi quy trình tại chỗ, QA xác minh các tình huống rộng hơn ở môi trường thử, và chuyên gia phần cứng tập trung vào vấn đề cấp thiết bị.

Biết điều gì vẫn cần phần cứng thật

Kiểm thử không có phần cứng mạnh, nhưng có giới hạn. Bạn vẫn cần thiết bị thật cho:

  • ghép nối máy quét và hành vi trình điều khiển
  • đầu ra máy in hóa đơn và xử lý giấy
  • giao tiếp thiết bị đầu cuối thanh toán
  • hạn chế của bộ chia USB và kiosk
  • ràng buộc mạng và thiết bị đầu cuối riêng của cửa hàng

Thành thật về các giới hạn này làm phần còn lại của quy trình vững hơn. Mục tiêu không phải giả vờ phần cứng không quan trọng. Mục tiêu là ngừng lãng phí thời gian phần cứng cho những vấn đề vốn có thể bắt sớm hơn.

Nơi các nhóm thường sai

Sai lầm phổ biến nhất là chờ một làn phần cứng đầy đủ trước khi kiểm thử bất cứ điều gì có ý nghĩa. Nghe có vẻ thận trọng, nhưng thường làm chậm lỗi thay vì ngăn chúng. Nếu tra cứu sản phẩm thất bại vì trường tìm mất tiêu điểm sau lời nhắc giảm giá, phần cứng sẽ không làm lỗi đó dễ hiểu hơn một cách kỳ diệu.

Một vấn đề phổ biến khác là chỉ kiểm thử một đường đi thành công yên ắng. Phiên thanh toán thật rất ồn. Người vận hành quét nhanh, lặp mặt hàng, thoát khỏi lời nhắc và chuyển giữa các quy trình. Kiểm thử POS không có phần cứng của bạn phải phản ánh thực tế đó, nếu không sẽ bỏ lỡ đúng những vấn đề nhân viên nhận ra trước tiên.

Một ví dụ thực tế

Hãy tưởng tượng màn hình thanh toán nơi quét một sản phẩm phải thêm mặt hàng, cập nhật giỏ và lập tức đưa tiêu điểm lại ô tìm sản phẩm. Bạn có thể xác nhận phần lớn việc đó mà không cần phần cứng:

  • mô phỏng dữ liệu nhập máy quét mã vạch vào trường tìm
  • xác minh mặt hàng được thêm đúng
  • xác minh khuyến mại và quy tắc giá được áp dụng
  • xác nhận lần quét tiếp theo rơi vào cùng trường

Chỉ sau khi việc đó vượt qua bạn mới cần máy quét vật lý để có độ tin cuối cùng. Thứ tự này tiết kiệm thời gian và thường khiến phiên phần cứng hữu ích hơn.

Một lần đối chiếu nhanh với thực tế

Bạn có thể kiểm thử hệ thống POS không cần phần cứng thật hiệu quả hơn nhiều so với điều nhiều nhóm giả định. Hãy bắt đầu bằng mô phỏng máy quét sát thực, ghép với dữ liệu kiểm thử ổn định và tập trung vào hành vi quy trình trước. Sau đó dùng phần cứng thật cho tập vấn đề hẹp hơn mà chỉ thiết bị mới lộ ra. Cách làm đó nhanh hơn, rẻ hơn và thường có kỷ luật hơn so với việc dựa vào phần cứng ngay từ đầu.

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