คุณกำลังทดสอบอะไรจริง ๆ
โฟลว์การยืนยันมีชิ้นส่วนที่เคลื่อนไหวหลายอย่าง และแต่ละอย่างอาจพังได้อย่างอิสระ การทดสอบที่ดีครอบคลุมเส้นทางที่ราบรื่นและเส้นทางความล้มเหลว เพราะการจัดการความล้มเหลวคือที่ที่ความไว้วางใจของผู้ใช้ได้มาหรือเสียไป
- ส่ง: มีการสร้างและจัดส่งโค้ดสำหรับหมายเลขที่ถูกต้อง
- รับและตรวจสอบ: โค้ดที่ถูกต้องถูกยอมรับและเซสชันถูกยกระดับ
- ปฏิเสธ: โค้ดที่ผิด หมดอายุ และใช้ซ้ำถูกปฏิเสธ
- ขีดจำกัด: การจำกัดอัตราและช่วงพักการส่งซ้ำทำงานตามที่ออกแบบ
- การสำรอง: การยกระดับช่องทางและสถานะข้อผิดพลาดแสดงผลอย่างถูกต้อง
ใช้ข้อมูลรับรองทดสอบและโค้ดมหัศจรรย์ของผู้ให้บริการ
ผู้ให้บริการรายใหญ่ทุกรายให้วิธีฝึกโฟลว์โดยไม่ส่งข้อความจริง Twilio มีข้อมูลรับรองทดสอบและหมายเลขโทรศัพท์มหัศจรรย์ที่จำลองความสำเร็จและการตอบกลับความล้มเหลวเฉพาะ; Vonage, Sinch และ MessageBird มีโหมดแซนด์บ็อกซ์และหมายเลขทดสอบ ใช้สิ่งเหล่านี้ในการรันบนเครื่องและ CI เพื่อให้ชุดทดสอบของคุณไม่เคยแตะผู้ให้บริการเครือข่ายจริง
- Twilio: ข้อมูลรับรองทดสอบ + หมายเลขมหัศจรรย์ที่บังคับผลลัพธ์สำเร็จ/ไม่ถูกต้อง/ล้มเหลว
- รายอื่น: คีย์ API แซนด์บ็อกซ์และหมายเลขทดสอบที่กำหนด
- เก็บข้อมูลรับรองทดสอบและสดไว้ในการกำหนดค่าสภาพแวดล้อมที่แยกและตั้งชื่อชัดเจน
อย่ารันการทดสอบกับข้อมูลรับรองสดใน CI — บั๊กลูปเดียวส่งข้อความที่ต้องจ่ายเงินได้เป็นพัน และทำให้ผู้ส่งของคุณถูกตั้งค่าสถานะ
จัดสรรหมายเลขทดสอบที่คุณควบคุม
สำหรับการทดสอบแบบครบวงจรที่ส่งข้อความจริง ให้จัดสรรหมายเลขที่โปรแกรมได้ที่คุณเป็นเจ้าของเป็นผู้รับทดสอบ จากนั้นอ่านโค้ดที่ส่งถึงกลับผ่าน API การส่งข้อความของผู้ให้บริการและป้อนเข้าขั้นตอนตรวจสอบของคุณ เพราะคุณเป็นเจ้าของหมายเลขและแอป นี่เป็นการทดสอบวงปิดที่สะอาดของระบบของคุณเอง
- 1
จัดสรรหมายเลขทดสอบ
สร้างหมายเลขที่โปรแกรมได้ในบัญชีผู้ให้บริการของคุณ เฉพาะสำหรับสภาพแวดล้อมทดสอบ
- 2
กระตุ้นการส่งของคุณ
เรียกปลายทางสมัคร/ตรวจสอบของคุณเอง เพื่อให้แอปของคุณส่งโค้ดจริงไปยังหมายเลขทดสอบ
- 3
อ่านโค้ดผ่าน API
ดึงข้อความขาเข้าผ่าน API ของผู้ให้บริการและแยกโค้ดออกมาด้วยโปรแกรม
- 4
ทำสำเร็จและยืนยัน
ส่งโค้ดไปยังปลายทางตรวจสอบของคุณและยืนยันว่าเซสชันถูกยกระดับ; จากนั้นปล่อยหมายเลข
ทำอัตโนมัติใน CI
เชื่อมสิ่งข้างต้นเข้าไปในไปป์ไลน์ของคุณ เพื่อให้ตรวจสอบการยืนยันในทุกการบิลด์ ใช้เส้นทางจำลอง/แซนด์บ็อกซ์สำหรับการทดสอบหน่วยและการผสานรวมที่รวดเร็วซึ่งรันในทุกการคอมมิต และสงวนการทดสอบวงปิดจริง (ด้วยหมายเลขที่เป็นเจ้าของ) ไว้สำหรับสเตจรายคืนหรือก่อนรีลีส เพื่อควบคุมต้นทุน
- เลนเร็ว: จำลองผู้ให้บริการหรือใช้ข้อมูลรับรองทดสอบในทุกการคอมมิต
- เลนช้า: การทดสอบส่งไปยังหมายเลขที่เป็นเจ้าของจริงรายคืนหรือก่อนรีลีส
- ยืนยันเส้นทางความล้มเหลวด้วย: โค้ดหมดอายุ โค้ดผิด และการตอบกลับการจำกัดอัตรา
- แจ้งเตือนการถดถอยของความหน่วงในการส่งถึง ไม่ใช่แค่ผ่าน/ไม่ผ่าน
ทดสอบการส่งถึง ไม่ใช่แค่ตรรกะ
การทดสอบตรรกะพิสูจน์ว่าโค้ดของคุณถูกต้อง; มันไม่พิสูจน์ว่าข้อความมาถึงในโลกจริง ส่งทราฟฟิกทดสอบจริงไปยังหมายเลขบนผู้ให้บริการเครือข่ายและประเทศหลักของคุณเป็นระยะ และวัดอัตราการส่งถึงและความหน่วงจริง เพื่อให้คุณจับการถดถอยของการจัดเส้นทางหรือการกรองได้ก่อนผู้ใช้ของคุณ
ปัญหาการส่งถึงมักปรากฏรายประเทศหรือรายผู้ให้บริการเครือข่าย หมุนเวียนการติดตามของคุณข้ามส่วนผสมปลายทางจริงของคุณ — คู่มืออัตราการส่งถึงอธิบายว่าทำไม