กรณีทดสอบฟอร์มที่อยู่ตอนชำระเงินเป็นด่านสุดท้ายก่อนที่เงินจะเปลี่ยนมือ ซึ่งหมายความว่าทุกข้อผิดพลาดในขั้นตอนนี้มีต้นทุนจริงทั้งต่อผู้ใช้และต่อธุรกิจ ความผิดพลาดที่พบบ่อยไม่ได้เกิดจากช่องกรอกที่เขียนผิด แต่เกิดจากกรณีที่ทีมไม่ได้นึกถึง เช่นผู้ใช้ที่เปลี่ยนประเทศกลางคัน หรือผู้ใช้ที่อยู่คนละประเทศกับบัตร บทความนี้จะรวบรวมกรณีทดสอบที่ควรมีติดไว้ พร้อมอธิบายว่าทำไมแต่ละกรณีจึงสำคัญ
ทำไมฟอร์มที่อยู่ตอนชำระเงินถึงสำคัญเป็นพิเศษ?
เพราะเป็นจุดที่ผู้ใช้ตัดสินใจแล้วว่าจะซื้อ และเหลือเพียงขั้นตอนเดียวให้สำเร็จ ทุกข้อผิดพลาดที่ทำให้เขาต้องย้อนกลับไปแก้ข้อมูลเพิ่มโอกาสที่เขาจะปิดหน้าจอและจากไป
อีกเหตุผลคือเป็นจุดที่ข้อมูลจากหลายแหล่งมาบรรจบกัน ที่อยู่สำหรับจัดส่ง ที่อยู่สำหรับออกใบแจ้งหนี้ ข้อมูลบัตร และข้อมูลบัญชีผู้ใช้ ระบบต้องตัดสินว่าค่าใดใช้กับอะไร และความสับสนระหว่างที่อยู่สองชุดนี้เป็นสาเหตุของการส่งของผิดที่อยู่ที่พบได้บ่อย
เหตุผลที่สามคือข้อจำกัดด้านเวลา ผู้ใช้ที่กำลังชำระเงินมักไม่ทนต่อข้อความผิดพลาดที่คลุมเครือ ถ้าระบบบอกเพียงว่าไม่สามารถดำเนินการต่อได้โดยไม่บอกว่าช่องใดมีปัญหา เขาจะไม่รู้ว่าต้องแก้อะไร
เหตุผลที่สี่คือผลกระทบด้านการปฏิบัติการ เมื่อที่อยู่ผิดหลุดผ่านไปถึงขั้นจัดส่ง ต้นทุนไม่ได้จบที่การส่งคืน แต่รวมถึงการติดต่อฝ่ายสนับสนุน การออกใบกำกับใหม่ และความไม่พอใจของผู้ใช้
กรณีใดที่เกี่ยวกับการเปลี่ยนประเทศ?
กรณีแรกและสำคัญที่สุดคือการที่ผู้ใช้เลือกประเทศแล้วกรอกข้อมูลไปหลายช่อง จากนั้นเปลี่ยนประเทศเป็นประเทศอื่น คำถามคือระบบล้างค่าที่ไม่สอดคล้องหรือยัง และค่าที่เคยกรอกไว้ถูกเก็บหรือถูกทำลาย
กรณีที่สองคือการเปลี่ยนประเทศไปยังประเทศที่ไม่มีระบบรหัสไปรษณีย์ ระบบต้องซ่อนหรือปิดการใช้งานช่องนั้น และต้องไม่ค้างค่าจากประเทศก่อนหน้าไว้จนผู้ใช้สับสน
กรณีที่สามคือการเปลี่ยนประเทศไปมาระหว่างสองประเทศที่มีรูปแบบต่างกันมาก เช่นประเทศที่ใช้รหัสไปรษณีย์ตัวเลขล้วนกับประเทศที่ใช้ตัวอักษรผสม ระบบต้องปรับตัวตรวจสอบทันที ไม่ใช่ตรวจด้วยกฎของประเทศเดิม รายละเอียดของแต่ละรูปแบบอยู่ในบทความรูปแบบรหัสไปรษณีย์ของแต่ละประเทศ
กรณีที่สี่คือการที่ผู้ใช้เลือกประเทศปลายทางต่างจากประเทศของบัญชีผู้ใช้ ซึ่งเป็นกรณีปกติของการซื้อของขวัญหรือการส่งให้ญาติในต่างประเทศ ระบบต้องไม่ตีความว่าเป็นความผิดพลาด
กรณีที่ห้าคือการที่ผู้ใช้เปลี่ยนประเทศกลับไปเป็นค่าเดิมหลังแก้ไขแล้ว ผลลัพธ์ต้องเหมือนกับก่อนแก้ ไม่ควรมีข้อมูลตกค้างจากประเทศกลางทาง
- เปลี่ยนประเทศหลังกรอกข้อมูลไปแล้ว: ระบบต้องล้างค่าที่ไม่สอดคล้อง และไม่ทำลายค่าที่ควรเก็บไว้
- เปลี่ยนไปยังประเทศที่ไม่มีระบบรหัสไปรษณีย์: ช่องนั้นต้องถูกซ่อนหรือปิดใช้งาน และต้องไม่ค้างค่าจากประเทศก่อนหน้า
- เปลี่ยนไปมาระหว่างประเทศที่รูปแบบต่างกันมาก: ตัวตรวจสอบต้องใช้กฎของประเทศใหม่ทันที ไม่ใช่กฎของประเทศเดิม
- ประเทศปลายทางต่างจากประเทศของบัญชีผู้ใช้: เป็นกรณีปกติของการส่งของขวัญ ไม่ใช่ความผิดพลาด
- เปลี่ยนกลับไปเป็นค่าเดิม: ผลลัพธ์ต้องเหมือนกับก่อนแก้ และไม่มีข้อมูลตกค้างจากประเทศกลางทาง
กรณีใดที่เกี่ยวกับความยาวและรูปแบบข้อความ?
กรณีแรกคือที่อยู่ที่ยาวเกินกรอบแสดงผล ต้องทดสอบว่าข้อความถูกตัดหรือล้นออกนอกกรอบ และผู้ใช้ยังเห็นข้อมูลที่ตนพิมพ์ครบหรือไม่
กรณีที่สองคือที่อยู่ที่สั้นมากจนระบบไม่รู้ว่าจะทำอะไร เช่นมีเพียงชื่อเมือง ระบบควรแจ้งอย่างสุภาพว่าข้อมูลยังไม่ครบ ไม่ใช่ปฏิเสธด้วยข้อความทางเทคนิค
กรณีที่สามคือชื่อถนนที่มีเครื่องหมายวรรคตอนหรือเครื่องหมายอะพอสทรอฟี ซึ่งพบได้จริงในหลายภาษา และเป็นกรณีที่โค้ดตรวจสอบแบบง่ายมักปฏิเสธผิด
กรณีที่สี่คือข้อความที่มีอักษรท้องถิ่นผสมกับอักษรละตินในบรรทัดเดียว เช่นชื่อถนนที่เขียนเป็นสองภาษา ระบบต้องเก็บทั้งสองส่วนไว้โดยไม่ตัดทิ้ง
กรณีที่ห้าคือช่องที่มีเฉพาะช่องว่าง ระบบต้องตีความเป็นค่าว่าง ไม่ใช่ค่าที่กรอกแล้ว ซึ่งเป็นจุดที่ตัวตรวจสอบจำนวนมากมองข้าม
ที่อยู่สำหรับจัดส่งกับที่อยู่สำหรับออกใบแจ้งหนี้ควรตรงกันหรือไม่?
ไม่จำเป็นต้องตรงกัน และระบบที่ดีต้องเปิดให้ผู้ใช้ระบุได้ว่าไม่ตรงกัน โดยมีตัวเลือกให้ติ๊กเพื่อใช้ที่อยู่เดียวกันหรือกรอกแยก ซึ่งช่วยลดการกรอกซ้ำโดยไม่บังคับให้ผู้ใช้ต้องใช้ค่าเดียวกัน
ความผิดพลาดที่พบบ่อยคือระบบคัดลอกที่อยู่สำหรับออกใบแจ้งหนี้ไปเป็นที่อยู่สำหรับจัดส่งโดยอัตโนมัติในทุกกรณี ผลคือของถูกส่งไปยังที่อยู่ที่ผู้ใช้ไม่ได้ตั้งใจ ซึ่งในกรณีของที่อยู่บริษัทหรือที่อยู่ตามเอกสารภาษีอาจทำให้ของไปไม่ถึงผู้รับจริง
อีกกรณีที่ต้องทดสอบคือเมื่อผู้ใช้แก้ที่อยู่สำหรับจัดส่ง ระบบต้องไม่อัปเดตที่อยู่สำหรับออกใบแจ้งหนี้ตามโดยไม่แจ้ง และในทางกลับกันก็เช่นกัน
ควรมีการแสดงให้ผู้ใช้เห็นชัดว่าที่อยู่สองชุดที่ระบบจะใช้คือชุดใด ก่อนที่เขาจะกดยืนยัน เพราะเป็นจุดสุดท้ายที่แก้ไขได้ง่าย
กรณีใดที่เกี่ยวกับข้อมูลทดสอบและข้อมูลบัญชี?
กรณีแรกคือการที่ผู้ใช้กรอกที่อยู่ต่างจากที่อยู่ที่บันทึกไว้ในบัญชี ระบบควรให้ผู้ใช้เลือกได้ว่าจะใช้ที่อยู่เดิมหรือกรอกใหม่ และต้องไม่นำที่อยู่เดิมมาแทนที่โดยไม่บอก
กรณีที่สองคือการที่ผู้ใช้มีที่อยู่ที่บันทึกไว้หลายแห่ง ระบบต้องแสดงให้ชัดว่าแห่งใดถูกเลือก และต้องไม่สลับลำดับจนผู้ใช้กดผิด
กรณีที่สามคือการที่ผู้ใช้กรอกที่อยู่ใหม่แล้วบันทึกไว้ แต่ภายหลังพบว่ากรอกผิด ระบบต้องมีทางแก้ไขที่ชัดเจน ไม่ใช่ให้ติดต่อฝ่ายสนับสนุนเท่านั้น
กรณีที่สี่คือการทดสอบด้วยที่อยู่ที่สร้างขึ้นเพื่อการทดสอบ ซึ่งต้องไม่ถูกบันทึกถาวรในบัญชีของผู้ใช้จริง และต้องไม่ถูกส่งต่อไปยังบริการภายนอกที่ให้บริการจริง
กรณีที่ห้าคือการทดสอบว่าข้อมูลทดสอบไม่รั่วไปปรากฏในใบเสร็จหรืออีเมลยืนยันที่ส่งถึงผู้ใช้จริง ซึ่งเป็นความผิดพลาดที่เกิดจากการใช้สภาพแวดล้อมทดสอบร่วมกับข้อมูลจริง แนวปฏิบัติในการแยกข้อมูลทดสอบออกจากข้อมูลจริงมีอธิบายไว้ในบทความข้อมูลที่อยู่ในชุดทดสอบ
สำหรับนักพัฒนา: ตรวจความสอดคล้องและทดสอบข้ามช่อง
ข้อแรกคือกำหนดว่าช่องใดเป็นแหล่งความจริงหลักของแต่ละค่า แล้วเขียนให้ชัดว่าเมื่อผู้ใช้แก้ช่องนั้น ค่าใดจะถูกคำนวณใหม่ ค่าใดจะคงเดิม การไม่มีข้อกำหนดนี้คือสาเหตุที่ข้อมูลสองชุดไม่ตรงกันโดยไม่มีใครรู้
ข้อที่สองคือตรวจความสอดคล้องข้ามช่องเป็นคำเตือน ไม่ใช่การปฏิเสธ เพราะความไม่สอดคล้องอาจเกิดจากความจริงที่ระบบไม่รู้ หรือจากฐานข้อมูลอ้างอิงของเราที่ล้าสมัย แนวคิดเรื่องข้อผิดพลาดที่ควรบล็อกกับที่ไม่ควรบล็อกอยู่ในบทความการตรวจสอบที่อยู่กับการปรับให้เป็นมาตรฐาน
ข้อที่สามคือทดสอบการกดดำเนินการซ้ำสองครั้งอย่างรวดเร็ว เพื่อให้แน่ใจว่าระบบไม่สร้างคำสั่งซื้อสองรายการหรือส่งข้อมูลสองครั้ง ซึ่งเป็นปัญหาที่เกิดได้กับฟอร์มที่ประมวลผลช้า
ข้อที่สี่คือทดสอบการย้อนกลับไปแก้ไขหลังกดดำเนินการไปแล้ว ระบบต้องพาผู้ใช้กลับมาที่เดิมพร้อมข้อมูลครบ ไม่ใช่เริ่มใหม่ทั้งหมด
ข้อที่ห้าคือทดสอบว่าข้อความแจ้งข้อผิดพลาดบอกชัดว่าช่องใดผิดและผิดอย่างไร โดยไม่เปิดเผยรายละเอียดภายในของระบบ และต้องอ่านออกในทุกภาษาที่ระบบรองรับ
ข้อที่หกคือทดสอบบนหน้าจอขนาดเล็กและแป้นพิมพ์บางประเภทที่ไม่มีตัวอักษรครบ เพราะที่อยู่ที่มีอักษรท้องถิ่นเป็นสิ่งที่ผู้ใช้ต้องพิมพ์บ่อยและมักเจอปัญหากรอกไม่ได้
ก้าวต่อไป
หยิบฟอร์มที่อยู่ตอนชำระเงินของระบบคุณมาเดินตามกรณีเปลี่ยนประเทศก่อน เพราะเป็นกรณีที่ทำร้ายประสบการณ์ผู้ใช้มากที่สุดและแก้ไขได้ด้วยการกำหนดที่ชัดเจนว่าช่องใดถูกเก็บและช่องใดถูกล้าง
ถ้าต้องการข้อมูลสำหรับทดสอบกรณีเหล่านี้ เครื่องมือสร้างที่อยู่บนเว็บไซต์นี้ให้คุณเลือกประเทศแล้วได้ที่อยู่ครบทุกช่องตามรูปแบบจริงในคลิกเดียว ทั้งที่อยู่สั้นและที่อยู่ยาว พร้อมเบอร์โทรศัพท์ที่สอดคล้องกัน และคุณยังดูตัวอย่างรูปแบบตามพื้นที่ได้จากหน้าประเทศออสเตรเลีย ที่อยู่ทุกชุดเป็นข้อมูลที่สังเคราะห์ขึ้น ไม่ตรงกับที่พักหรือผู้รับจริงใด และใช้ได้เฉพาะกับงานทดสอบซอฟต์แวร์เท่านั้น