เผยแพร่: 3 เมษายน 2025
เมื่อถึงเวลาเปิดตัวฟีเจอร์ใหม่ใน Chrome จะมีการตรวจสอบและควบคุมหลายอย่างเพื่อให้มั่นใจว่าฟีเจอร์ใช้งานได้ เป็นไปตามข้อกำหนด และเชื่อถือได้ หนึ่งในความสมดุลดังกล่าวคือการทดสอบ Finch อย่าให้ส่วน "การทดสอบ" ในชื่อหลอกให้คุณคิดว่าไม่ปลอดภัย ตรงกันข้ามเลย การเปิดตัว Finch ช่วยให้เราสามารถเพิ่มฟีเจอร์ที่อาจก่อให้เกิดปัญหาความเข้ากันได้ได้อย่างปลอดภัย เนื่องจากช่วยให้เราปิดใช้ฟีเจอร์ได้อย่างรวดเร็วหากพบปัญหาที่ไม่คาดคิด บทความนี้อธิบายวิธีและเหตุผลที่เราใช้ Finch สำหรับรุ่นฟีเจอร์บางอย่างใน Chrome
โดยทั่วไปแล้ว การเปิดใช้ฟีเจอร์ใน Chrome หมายถึงการสลับวนบูลีนจากปิดเป็นเปิดใน Chrome เมื่อฟีเจอร์ใหม่ "พร้อมให้บริการ" หมายความว่าบูลีนนี้เปลี่ยนสถานะเริ่มต้นเป็น "เปิด" สำหรับผู้ใช้ทุกคน ซึ่งทำได้หลายวิธีดังนี้
- เปิดใช้ฟีเจอร์ "ในโค้ด": ซึ่งหมายความว่าไฟล์ปฏิบัติการของ Chrome เองมีการตั้งค่าที่เปิดใช้โดยค่าเริ่มต้น
- เปิดใช้ฟีเจอร์ "ตามการทดลองของต้นทาง": ระบบการทดลองของต้นทางเป็นวิธีที่เว็บไซต์หนึ่งๆ เลือกให้ผู้ใช้ Chrome ทุกคนเข้าร่วมการทดสอบ ซึ่งจะเปิดใช้ฟีเจอร์หนึ่งๆ ในเว็บไซต์นั้นๆ เท่านั้น
- เปิดใช้ฟีเจอร์ "โดยใช้ Finch": Chrome จะดึงข้อมูลไฟล์การกําหนดค่าจากเซิร์ฟเวอร์เป็นระยะๆ และไฟล์นี้อาจมีวิธีการเปิดหรือปิดใช้ฟีเจอร์
- "Finch Kill Switch": ตรงข้ามกับการเปิดใช้ "การใช้ Finch" ในกรณีนี้ ฟีเจอร์จะเปิดใช้ "ในโค้ด" แต่ระบบ Finch ปิดใช้ฟีเจอร์ดังกล่าว ซึ่งมักเกิดจากปัญหาที่ตรวจพบหลังการเปิดตัว
กรณีการใช้งาน Finch
หัวข้อของบล็อกโพสต์นี้คือ Finch เราจะไม่พูดถึงการเปิดใช้ "ในโค้ด" หรือ "ช่วงทดลองใช้ต้นทาง" มากนัก แต่ Finch มี Use Case ที่น่าสนใจหลายกรณี
ทดสอบกับผู้ใช้กลุ่มเล็กๆ (การทดสอบ A/B)
บ่อยครั้งที่ Finch ใช้ในการทํา "การทดสอบ A/B" ของฟีเจอร์หรือการเพิ่มประสิทธิภาพ ในกรณีนี้ ระบบจะเปิดใช้ฟีเจอร์สําหรับผู้ใช้เพียงไม่กี่เปอร์เซ็นต์ เพื่อให้รวบรวมข้อมูลเกี่ยวกับความแตกต่างของประสิทธิภาพ ลักษณะการทํางาน หรือการใช้งานเมื่อเปิดใช้ฟีเจอร์เทียบกับเมื่อปิดใช้
ตัวอย่างการทดสอบ A/B คือตอนที่เราเปิดตัวการถอดรหัสรูปภาพโดยประมาณ การปรับปรุงประสิทธิภาพนี้ไม่น่าจะทำให้นักพัฒนาซอฟต์แวร์หรือผู้ใช้สังเกตเห็น ยกเว้นว่าจะทำให้ Chrome โหลดหน้าเว็บได้เร็วขึ้น แต่เพื่อความแน่ใจว่าไม่เกิดเหตุการณ์ที่ไม่คาดคิดขึ้น และเพื่อวัดผลกระทบต่อประสิทธิภาพได้อย่างแม่นยำ เราจึงใช้ Finch ทำการทดสอบ A/B
ปิดใช้ฟีเจอร์ที่มีปัญหา
Chrome สามารถใช้ระบบ Finch เพื่อปิดใช้ฟีเจอร์ที่มีปัญหาซึ่งเปิดใช้ "ในโค้ด" จากระยะไกลเพื่อความปลอดภัยของผลิตภัณฑ์และประสบการณ์ของผู้ใช้ ตัวอย่างเช่น หากฟีเจอร์หนึ่งเปิดใช้โดยค่าเริ่มต้น แต่ปัญหาปรากฏขึ้นหลังจากที่ Chrome อยู่ในสถานะ "เสถียร" เท่านั้น เราจะต้องมีวิธีปิดใช้ฟีเจอร์ดังกล่าวอย่างรวดเร็วเพื่อนำผู้ใช้และธุรกิจกลับสู่สถานะที่ปลอดภัย ซึ่งอาจจำเป็นเมื่อมีข้อบกพร่องที่ยังไม่ค้นพบในฟีเจอร์ หรือเมื่อฟีเจอร์ทำให้เว็บไซต์ที่มีอยู่ใช้งานไม่ได้ด้วยเหตุผลที่ไม่คาดคิด
เปิดใช้ฟีเจอร์ที่มีความเสี่ยงด้วยวิธีที่ปลอดภัยยิ่งขึ้น
ฟีเจอร์ส่วนใหญ่ที่ Chrome เปิดตัวมีความเสี่ยงน้อย เนื่องจากเราสามารถทดสอบและยืนยันว่าโค้ดใหม่ใช้งานได้กับทุกเว็บไซต์
อย่างไรก็ตาม บางครั้งการเปิดตัวฟีเจอร์ก็อาจเสี่ยงอยู่พอสมควร เนื่องจากปัญหาความเข้ากันได้ที่ไม่รู้จักหรือการโต้ตอบอื่นๆ ที่ยุ่งยาก ในกรณีนี้ คุณสามารถใช้ระบบ Finch เพื่อเปิดใช้ฟีเจอร์จริงๆ แทนที่จะเก็บไว้เป็นระบบปิด
เช่น "การผ่อนคลาย" ของโปรแกรมแยกวิเคราะห์ HTML เป็นการเปลี่ยนแปลงที่เกี่ยวข้องกับฟีเจอร์ "เลือกแบบปรับแต่งได้" ใหม่ ซึ่งอนุญาตให้วางเนื้อหาได้มากกว่าเดิมภายในองค์ประกอบ <select>
เนื่องจากการเปลี่ยนแปลงนี้อาจทำให้เว็บไซต์ที่มีอยู่ใช้งานไม่ได้ เราจึงต้องเปิดตัวอย่างระมัดระวัง
การเปิดใช้ฟีเจอร์โดยใช้ Finch อาจปลอดภัยกว่าการใช้ Finch เพื่อนำฟีเจอร์ออก เนื่องจาก Finch เข้าถึงผู้ใช้ได้เพียง 100% ด้วยเหตุผลหลายประการ เช่น ผู้ใช้ Enterprise บางรายมีนโยบายที่ห้ามการกำหนดค่า Finch ทั้งหมด ผู้ใช้เหล่านั้นจะยังคงมีความเสี่ยงในกรณีที่ฟีเจอร์เปิดใช้ในโค้ด แล้วปิดใช้โดยใช้ Finch เนื่องจากผู้ใช้เหล่านั้นจะไม่ได้รับการตั้งค่า Finch และระบบจะเปิดใช้ฟีเจอร์ต่อไป เมื่อเปิดใช้ฟีเจอร์นี้โดยใช้ Finch แทน เรารับประกันว่าจะปิดใช้ฟีเจอร์นี้สำหรับผู้ใช้ทุกคนได้อย่างแน่นอนในกรณีที่เกิดเหตุการณ์ฉุกเฉิน
วิธีตรวจสอบว่าคุณกำลังอยู่ในเวอร์ชันทดลองของ Finch หรือไม่
ซึ่งผู้ใช้จะทำโดยตรงได้ยาก วิธีที่เราแนะนำคือติดต่อวิศวกรของ Chrome (โดยปกติแล้วจะเป็นในบริบทของข้อบกพร่อง Chromium) และส่ง "รายการรูปแบบ" ไปให้ รายการนี้เป็นรายการการตั้งค่า Finch ทั้งหมดเวอร์ชันที่มีโค้ดพิเศษสําหรับเบราว์เซอร์หนึ่งๆ ซึ่งดึงข้อมูลได้ง่ายๆ ดังนี้
- นำทางไปยัง
chrome://version
- คัดลอกรายการข้อความทั้งหมด (รายการนี้อาจยาวมาก) ข้าง "รูปแบบที่ใช้งานอยู่"
- วางข้อความนั้นลงในไฟล์ข้อความ (เช่น
variations.txt
) แล้วแนบไปกับข้อบกพร่อง
รายการรูปแบบนี้ช่วยให้วิศวกรของ Chrome สามารถถอดรหัสรายการดังกล่าวและดูว่าฟีเจอร์ใดเปิดหรือปิดใช้ในเบราว์เซอร์ของคุณ
จะเกิดอะไรขึ้นเมื่อการทดสอบ Finch เสร็จสมบูรณ์ 100% และพร้อมใช้งาน
เมื่อเรามั่นใจว่าการทดสอบ "สำเร็จ" และฟีเจอร์ที่เป็นปัญหาไม่ก่อให้เกิดความเสี่ยงต่อนักพัฒนาแอปหรือผู้ใช้ เราจะเปิดใช้ฟีเจอร์ "ในโค้ด" เสมอ เมื่อถึงจุดนี้ คุณสามารถสิ้นสุดวันที่ของการกำหนดค่า Finch ได้เพื่อให้การกำหนดค่าดังกล่าวหยุดมีผลกับเบราว์เซอร์หลังจากเวอร์ชันที่เปิดใช้ฟีเจอร์ในโค้ด