เมนู

เช็กลิสต์อีเมลธุรกรรม ก่อนปล่อยระบบขึ้นใช้งาน

เช็กลิสต์อีเมลธุรกรรมรวมสิ่งที่ต้องตรวจก่อนเปิดใช้งานจริง ตั้งแต่จุดที่ต้องส่ง ตัวแปรในเทมเพลต ลิงก์ที่กดได้ ไปจนถึงการส่งซ้ำที่ผู้ใช้มักเจอหลังขึ้นระบบ

เผยแพร่เมื่อ

  • อีเมลธุรกรรม
  • รายการตรวจสอบ

เช็กลิสต์อีเมลธุรกรรมคือรายการที่ทีมควรอ่านจบก่อนกดปล่อยระบบขึ้นใช้งานจริง เพราะอีเมลประเภทนี้เป็นข้อความที่ผู้ใช้ไม่ได้ขอรับ แต่เป็นข้อความที่เขาจำเป็นต้องได้รับเพื่อทำธุรกรรมให้สำเร็จ เมื่อมันผิดพลาด ผู้ใช้จะไม่ได้เห็นข้อความผิดพลาดบนหน้าจอ แต่จะค้างอยู่ตรงกลางขั้นตอนโดยไม่รู้ว่าต้องทำอะไรต่อ บทความนี้รวมหัวข้อที่ควรตรวจให้ครบ พร้อมจุดที่ทีมมักลืมมากที่สุด

อีเมลธุรกรรมต่างจากอีเมลทั่วไปตรงไหน?

อีเมลธุรกรรมคือข้อความที่ถูกส่งเพราะผู้ใช้ทำอะไรบางอย่างกับระบบ ไม่ใช่ข้อความที่ส่งเพื่อโฆษณา ตัวอย่างที่ชัดเจนคือข้อความยืนยันการสมัคร ลิงก์ตั้งรหัสผ่านใหม่ ใบยืนยันคำสั่งซื้อ และใบกำกับภาษีที่ส่งหลังชำระเงินสำเร็จ

ความต่างข้อสำคัญคือผู้รับไม่ได้เลือกที่จะรับ แต่มันเป็นส่วนหนึ่งของงานที่เขากำลังทำอยู่ ถ้าข้อความไม่มา งานนั้นก็จบไม่ได้ นี่ทำให้ความล้มเหลวของอีเมลธุรกรรมมีต้นทุนสูงกว่าความล้มเหลวของจดหมายข่าวมาก

ความต่างข้อที่สองคือความคาดหวังเรื่องความถูกต้อง ผู้ใช้อภัยให้จดหมายข่าวที่ส่งช้าได้ แต่จะไม่ให้อภัยลิงก์ตั้งรหัสผ่านที่ใช้ไม่ได้ หรือใบกำกับภาษีที่กรอกชื่อผิด ความผิดพลาดเล็กน้อยในข้อความเหล่านี้สร้างความเสียหายต่อความเชื่อมั่นได้ทันที

ความต่างข้อที่สามคือการทดสอบทำได้ยากกว่าที่คิด เพราะต้องรอให้ข้อความมาถึงจริง จึงต้องมีกล่องสำหรับรับข้อความในงานทดสอบ โดยหลักการพื้นฐานอยู่ในอีเมลชั่วคราวทำงานอย่างไร

เช็กลิสต์ก่อนเปิดใช้งานจริง

  • จุดที่ต้องส่งข้อความครบทุกจุด และแต่ละจุดมีข้อความของตัวเอง ไม่ใช้ข้อความเดียวแทนทุกกรณี
  • ตัวแปรทุกตัวในเทมเพลตถูกแทนค่าจริง และไม่มีช่องใดแสดงค่าตัวอย่างหลงเหลืออยู่
  • ลิงก์ทุกเส้นกดได้จริงและพาไปยังหน้าปลายทางที่ถูกต้อง ทั้งลิงก์สำหรับใช้งานและลิงก์สำหรับอ่านเพิ่มเติม
  • ข้อความระบุผู้รับถูกต้อง ทั้งชื่อเรียกและที่อยู่ ไม่สลับกับผู้รับรายอื่นในการส่งชุดใหญ่
  • วิธีบอกเลิกการรับข้อความประเภทที่ไม่ใช่ธุรกรรมปรากฏชัดและใช้งานได้
  • รูปแบบวันที่ เวลา และจำนวนเงินตรงกับภาษาที่ผู้ใช้เลือก
  • ข้อความทดสอบไม่ตกค้างในระบบจริง และไม่มีที่อยู่ทดสอบปะปนในรายชื่อผู้รับ

รายการนี้ควรถูกแปลงเป็นกรณีทดสอบที่รันอัตโนมัติได้ ไม่ใช่เอกสารที่อ่านครั้งเดียวแล้วเก็บเข้ากล่อง เพราะเทมเพลตจะถูกแก้เรื่อย ๆ และทุกครั้งที่แก้คือโอกาสที่ตัวแปรหนึ่งจะหลุด

เมื่อใดที่ผู้ใช้จะได้รับข้อความซ้ำ?

กรณีที่พบบ่อยที่สุดคือผู้ใช้กดปุ่มซ้ำ เพราะหน้าเว็บตอบสนองช้าและผู้ใช้ไม่แน่ใจว่าคำขอก่อนหน้าถูกส่งไปแล้วหรือยัง ระบบที่ไม่มีกลไกกันการทำซ้ำจะส่งข้อความออกไปตามจำนวนครั้งที่ถูกกด

กรณีที่สองคือการลองใหม่ของระบบเอง เมื่อฝั่งที่ส่งไม่ได้รับคำตอบยืนยันที่ชัดเจนภายในเวลาที่กำหนด มันจะลองส่งอีกครั้งตามที่ออกแบบไว้ ซึ่งเป็นพฤติกรรมที่ถูกต้องในแง่ความน่าเชื่อถือ แต่ทำให้เกิดข้อความซ้ำได้

กรณีที่สามคือการทำงานของงานเบื้องหลังที่รันซ้ำ งานที่ควรทำครั้งเดียวแต่ถูกเรียกอีกครั้งหลังระบบเริ่มทำงานใหม่ จะสร้างข้อความชุดเดิมขึ้นมาอีก โดยที่ไม่มีใครเห็นความผิดปกติในบันทึกของระบบ

ความซ้ำในบางกรณีไม่เป็นปัญหา ผู้ใช้อ่านข้อความเดิมสองครั้งแล้วทิ้งไป แต่ในบางกรณีเป็นปัญหาร้ายแรง เช่นการตัดเงินซ้ำ การออกใบกำกับซ้ำ หรือการส่งรหัสยืนยันหลายชุดที่ผู้ใช้ไม่รู้ว่าชุดใดยังใช้ได้

ต้องตรวจเรื่องภาษาและรูปแบบเวลาอย่างไร?

เรื่องภาษาไม่ได้จบที่การแปลข้อความให้ครบทุกภาษา สิ่งที่ต้องตรวจคือช่องที่ใส่ข้อมูลเข้าไปในประโยค ว่าลำดับคำยังถูกต้องในทุกภาษา เพราะภาษาไทยกับภาษาอังกฤษเรียงส่วนประกอบคนละแบบ และเทมเพลตที่เขียนจากภาษาอังกฤษมักพังเมื่อแปล

เรื่องรูปแบบเวลาคือการตรวจว่าวันที่แสดงตรงกับความเข้าใจของผู้ใช้ ทั้งรูปแบบการเขียนวันและเดือน และเขตเวลาที่ใช้แสดง ช่วงเวลาหลังเที่ยงคืนเป็นช่วงที่ข้อบกพร่องชนิดนี้โผล่บ่อยที่สุด

เรื่องจำนวนเงินคือการตรวจว่าสัญลักษณ์เงิน ตัวคั่นหลัก และจำนวนตำแหน่งทศนิยมตรงกับธรรมเนียมของประเทศนั้น การใช้รูปแบบเดียวกับทุกประเทศทำให้ตัวเลขอ่านผิดความหมายได้ง่าย

เรื่องสุดท้ายคือความยาวข้อความ เมื่อแปลแล้วข้อความมักยาวกว่าต้นฉบับ และส่วนที่ยาวเกินอาจถูกตัดจนข้อความสำคัญหายไป จึงควรตรวจหน้าตาจริงของข้อความที่มาถึง ไม่ใช่ตรวจแค่ไฟล์เทมเพลต

สำหรับนักพัฒนา: ความซ้ำซ้อน การลองใหม่ และข้อมูลอ่อนไหว

เรื่องแรกคือการทำให้การส่งซ้ำได้โดยไม่เกิดผลข้างเคียง ควรมีตัวระบุเฉพาะสำหรับเหตุการณ์ที่ควรส่งข้อความหนึ่งฉบับ และใช้ตัวระบุนั้นในการตัดสินว่าจะส่งจริงหรือไม่ วิธีนี้ทำให้การลองใหม่ปลอดภัยแม้ถูกเรียกหลายครั้ง

เรื่องที่สองคือการแยกความล้มเหลวสองชนิด คือความล้มเหลวก่อนข้อความถูกส่งออก กับความล้มเหลวหลังข้อความถูกส่งออกไปแล้วแต่เราไม่ได้รับคำตอบยืนยัน สองกรณีนี้ต้องจัดการต่างกัน เพราะการลองใหม่ในกรณีที่สองคือสาเหตุหลักของข้อความซ้ำ

เรื่องที่สามคือค่าตั้งต้นเมื่อตัวแปรในเทมเพลตหายไป ระบบที่ดีจะไม่ส่งข้อความที่มีช่องว่างแปลก ๆ ออกไป แต่จะหยุดส่งและรายงานข้อผิดพลาดให้ทีมทราบ เพราะข้อความที่ดูไม่สมบูรณ์สร้างความเสียหายมากกว่าการที่ข้อความไม่ถูกส่งแล้วมีคนเข้าไปแก้

เรื่องที่สี่คือข้อมูลอ่อนไหวในบันทึกของระบบ บันทึกที่เก็บเนื้อหาข้อความทั้งหมดไว้จะเก็บทั้งลิงก์ตั้งรหัสผ่านและรหัสยืนยันไปด้วย ซึ่งเป็นสิ่งที่ผู้ที่เข้าถึงบันทึกสามารถนำไปใช้ยึดบัญชีได้ ควรบันทึกเฉพาะข้อมูลที่จำเป็นต่อการหาสาเหตุ เช่นผู้รับและผลการส่ง

เรื่องที่ห้าคือการทดสอบเส้นทางที่ส่งไม่สำเร็จ ต้องรู้ว่าระบบทำอะไรเมื่อผู้ให้บริการปลายทางปฏิเสธ และมีวิธีบอกผู้ใช้หรือทีมสนับสนุนหรือไม่ อย่าปล่อยให้ข้อความหายไปเงียบ ๆ เพราะนั่นคือรูปแบบความล้มเหลวที่ตรวจพบช้าที่สุด

สรุปก่อนกดปล่อย

เริ่มจากตรวจว่าจุดที่ต้องส่งข้อความครบทุกจุดก่อน แล้วจึงตรวจเนื้อหาภายในของแต่ละฉบับ อย่าข้ามไปตรวจความสวยงามก่อนที่จะแน่ใจว่าข้อความถูกส่งออกจริงทุกกรณี

จากนั้นเปิดเครื่องมืออีเมลชั่วคราวของเว็บไซต์นี้เพื่อสร้างที่อยู่สำหรับรับข้อความทดสอบแต่ละประเภท แล้วตรวจด้วยตาว่าข้อความที่มาถึงอ่านรู้เรื่องจริง หากคุณกำลังออกแบบที่อยู่สำหรับจัดส่งใบกำกับหรือเอกสารที่มีที่อยู่ผู้รับ แนวทางในรูปแบบที่อยู่ระหว่างประเทศจะช่วยให้เห็นจุดที่ต้องระวัง และถ้าคุณยังไม่แน่ใจว่าที่อยู่แบบใดควรใช้กับงานแบบใด อ่านเพิ่มเติมได้ที่รูปแบบที่อยู่อีเมลและขีดจำกัดความยาว

อีเมลและที่อยู่ที่ยกตัวอย่างในบทความนี้เป็นตัวอย่างสำหรับการทดสอบเท่านั้น ไม่ได้ผูกกับบุคคลหรือองค์กรจริง และไม่ควรนำไปใช้เป็นช่องทางติดต่อหรือหลักฐานทางธุรกิจ

อ่านต่อ

บทความเกี่ยวกับ อีเมลชั่วคราว (ใช้ครั้งเดียว / 10 นาที)

บทความเกี่ยวกับ อีเมลชั่วคราว (ใช้ครั้งเดียว / 10 นาที)

รายการนี้แสดงเฉพาะบทความในหัวข้อของหน้านี้