ข้ามไปยังเนื้อหาหลัก
Clinford Jordano Valencia
โปรเจกต์ทั้งหมด
แพลตฟอร์ม

เครื่องมือฉีดสถานะสำหรับการทดสอบ

การฉีดสถานะผ่านฝั่งเซิร์ฟเวอร์ ทำให้ QA และระบบอัตโนมัติกระโดดไปยังขั้นตอนใดก็ได้ของโฟลว์ที่ยาวโดยตรง ลดเวลาเตรียมการทดสอบถดถอยจากหลายนาทีเหลือไม่ถึงหนึ่งนาที

เทคโนโลยี
TypeScript · Playwright · BFF · Test database

ปัญหา

หากจะตรวจบั๊กที่ขั้นตอนที่ 5 ของโฟลว์ที่ยาว ต้องทำขั้นตอนที่ 1 ถึง 4 ด้วยมือให้เสร็จก่อน ทั้งกรอกข้อมูลที่ถูกต้อง อัปโหลด และตรวจสอบ ทำซ้ำทุกครั้ง กับทุก pull request และทุกการรันอัตโนมัติ

แนวทาง

เครื่องมือนี้ให้ผู้ทดสอบหรือสคริปต์เปิดแอปในสถานะที่ต้องการได้ทันที

  1. สคริปต์ Playwright หรือวิศวกร QA โหลดหน้าพร้อมโทเค็นทดสอบที่ปลอดภัย เช่น ?state=step_4_ready
  2. ฟรอนต์เอนด์เห็นโทเค็นตอน hydration และส่งต่อผ่านเฮดเดอร์ไปยัง BFF
  3. BFF ตรวจว่าสภาพแวดล้อมไม่ใช่โปรดักชันอย่างเคร่งครัด แล้วสร้างเซสชันของผู้ใช้ในฐานข้อมูลทดสอบ โดยขั้นตอนก่อนหน้าเสร็จแล้วและตัวชี้ปัจจุบันอยู่ที่ขั้นตอน 4
  4. BFF ส่งโทเค็นเซสชันจริงกลับมา และ UI แสดงขั้นตอน 4 ทันที

เลือกการฉีดผ่านฝั่งเซิร์ฟเวอร์แทนการม็อก localStorage ฝั่งไคลเอนต์ แอปสมัยใหม่ตรวจสอบเซสชันที่แบ็กเอนด์ ม็อกเฉพาะฝั่งไคลเอนต์จึงห่างจากความเป็นจริงและให้เทสต์ที่ผ่านตรงนี้แต่ล้มบนโปรดักชัน

ผลลัพธ์

เวลาเตรียมการทดสอบถดถอยลดจาก 10–20 นาทีต่อรอบเหลือไม่ถึงหนึ่งนาที เมื่อมีการรัน pull request และชุดทดสอบอัตโนมัติจำนวนมากทุกสัปดาห์ จึงคืนเวลาวิศวกรรมหลายร้อยชั่วโมงต่อไตรมาส