เครื่องมือฉีดสถานะสำหรับการทดสอบ
การฉีดสถานะผ่านฝั่งเซิร์ฟเวอร์ ทำให้ QA และระบบอัตโนมัติกระโดดไปยังขั้นตอนใดก็ได้ของโฟลว์ที่ยาวโดยตรง ลดเวลาเตรียมการทดสอบถดถอยจากหลายนาทีเหลือไม่ถึงหนึ่งนาที
- เทคโนโลยี
- TypeScript · Playwright · BFF · Test database
ปัญหา
หากจะตรวจบั๊กที่ขั้นตอนที่ 5 ของโฟลว์ที่ยาว ต้องทำขั้นตอนที่ 1 ถึง 4 ด้วยมือให้เสร็จก่อน ทั้งกรอกข้อมูลที่ถูกต้อง อัปโหลด และตรวจสอบ ทำซ้ำทุกครั้ง กับทุก pull request และทุกการรันอัตโนมัติ
แนวทาง
เครื่องมือนี้ให้ผู้ทดสอบหรือสคริปต์เปิดแอปในสถานะที่ต้องการได้ทันที
- สคริปต์ Playwright หรือวิศวกร QA โหลดหน้าพร้อมโทเค็นทดสอบที่ปลอดภัย เช่น
?state=step_4_ready - ฟรอนต์เอนด์เห็นโทเค็นตอน hydration และส่งต่อผ่านเฮดเดอร์ไปยัง BFF
- BFF ตรวจว่าสภาพแวดล้อมไม่ใช่โปรดักชันอย่างเคร่งครัด แล้วสร้างเซสชันของผู้ใช้ในฐานข้อมูลทดสอบ โดยขั้นตอนก่อนหน้าเสร็จแล้วและตัวชี้ปัจจุบันอยู่ที่ขั้นตอน 4
- BFF ส่งโทเค็นเซสชันจริงกลับมา และ UI แสดงขั้นตอน 4 ทันที
เลือกการฉีดผ่านฝั่งเซิร์ฟเวอร์แทนการม็อก localStorage ฝั่งไคลเอนต์ แอปสมัยใหม่ตรวจสอบเซสชันที่แบ็กเอนด์ ม็อกเฉพาะฝั่งไคลเอนต์จึงห่างจากความเป็นจริงและให้เทสต์ที่ผ่านตรงนี้แต่ล้มบนโปรดักชัน
ผลลัพธ์
เวลาเตรียมการทดสอบถดถอยลดจาก 10–20 นาทีต่อรอบเหลือไม่ถึงหนึ่งนาที เมื่อมีการรัน pull request และชุดทดสอบอัตโนมัติจำนวนมากทุกสัปดาห์ จึงคืนเวลาวิศวกรรมหลายร้อยชั่วโมงต่อไตรมาส