คู่มือ QA: การทดสอบระบบเชื่อมต่อเครื่องชั่ง
สิ่งที่ทีม QA ควรรู้ก่อนทดสอบฟีเจอร์เชื่อมต่อเครื่องชั่งผ่านสาย (USB/Serial) ของเครื่องมือชั่งน้ำหนัก
1. พื้นฐานที่ต้องรู้ก่อนเริ่มทดสอบ
Web Serial API คืออะไร
ฟีเจอร์นี้ใช้ Web Serial API ซึ่งเป็นความสามารถของเบราว์เซอร์ที่ให้หน้าเว็บเชื่อมต่อกับอุปกรณ์ผ่านพอร์ตอนุกรม (Serial Port) ได้โดยตรง โดยไม่ต้องติดตั้งโปรแกรมหรือไดรเวอร์เสริมฝั่งเว็บ
รองรับเฉพาะเบราว์เซอร์ตระกูล Chromium
ใช้งานได้เฉพาะ Google Chrome และ Microsoft Edge บนคอมพิวเตอร์เดสก์ท็อป (Windows/Mac/Linux) เท่านั้น ไม่รองรับ Safari, Firefox, และไม่รองรับบนมือถือ/แท็บเล็ตทุกกรณี (รวมถึง Chrome บน iOS ที่ใช้ WebKit ภายใน) ทีม QA ควรทดสอบทั้งกรณีที่รองรับและไม่รองรับ เพื่อตรวจสอบว่าระบบแจ้งเตือนผู้ใช้อย่างเหมาะสมเมื่อเปิดจากเบราว์เซอร์ที่ไม่รองรับ
ต้องใช้ Secure Context
Web Serial API ทำงานได้เฉพาะบน HTTPS หรือ localhost เท่านั้น หากนำไปขึ้น production ต้องตรวจสอบว่าเว็บใช้ HTTPS
สิทธิ์การเข้าถึงอุปกรณ์ (Permission)
เมื่อกดปุ่ม "เชื่อมต่อเครื่องชั่ง" เบราว์เซอร์จะแสดงหน้าต่างให้ผู้ใช้เลือกอุปกรณ์ (Device Chooser) ทุกครั้งที่เพจถูกโหลดใหม่ เว้นแต่เว็บไซต์ได้รับสิทธิ์แบบถาวรไว้แล้ว — พฤติกรรมนี้เป็นการทำงานปกติของเบราว์เซอร์ ไม่ใช่บั๊ก
2. ข้อจำกัดและข้อควรระวังเรื่องการเชื่อมต่อ
- พอร์ตอนุกรมหนึ่งพอร์ตเชื่อมต่อได้ครั้งละ 1 แท็บ/หน้าต่างเท่านั้น หากเปิดหน้าเครื่องมือสองแท็บพร้อมกันแล้วพยายามเชื่อมต่อพอร์ตเดียวกัน แท็บที่สองจะเชื่อมต่อไม่สำเร็จ
- คอมพิวเตอร์ที่ใช้ทดสอบต้องติดตั้งไดรเวอร์ของชิป USB-to-Serial ให้ถูกต้อง (เช่น FTDI FT232, CH340, Prolific PL2303) มิฉะนั้น Windows จะไม่แสดง COM Port ให้เลือกในรายการอุปกรณ์
- หากเลือก Baud Rate ไม่ตรงกับที่ตั้งค่าไว้ในเครื่องชั่ง ข้อมูลใน Serial Log จะแสดงเป็นอักขระแปลกปลอม/อ่านไม่ออก (ไม่ใช่ error ที่ระบบจับได้ ต้องอาศัยการสังเกตจาก QA)
- เครื่องมือนี้ยังไม่ตรวจสอบ Checksum ของข้อมูลที่ได้รับ ดังนั้นหากสายสัญญาณหลวมหรือมีสัญญาณรบกวน อาจทำให้ค่าน้ำหนักที่แสดงผิดเพี้ยนโดยระบบไม่แจ้งเตือน ควรทดสอบเปรียบเทียบกับหน้าจอเครื่องชั่งจริงเสมอ
- ตำแหน่งทศนิยม (decimal position) ของ Cardinal 205 และหน่วยของ Mettler Toledo ต้องตรวจสอบให้ตรงกับที่เครื่องชั่งตั้งค่าไว้จริง มิฉะนั้นค่าน้ำหนักที่คำนวณได้จะคลาดเคลื่อนเป็นทวีคูณของ 10
- หากถอดสาย USB/Serial ระหว่างใช้งาน ต้องตรวจสอบว่าเครื่องมือแจ้ง error อย่างเหมาะสมและไม่ค้าง (hang) การอ่านค่า