Facebook เป็นหนึ่งในบริษัทขนาดใหญ่ที่มีการแก้ไขโค้ดหลายพันบรรทัดในแต่ละสัปดาห์ เพื่อให้มั่นใจว่าโค้ดใหม่เหล่านั้นไม่ทำให้ Facebook App บริโภคข้อมูล หน่วยความจำ และแบตเตอรี่บนอุปกรณ์มากเกินไป Facebook จำเป็นต้องทดสอบโค้ดบนสมาร์ทโฟนที่แตกต่างกันกว่า 2,000 เครื่อง บทความนี้จะมาเปิดเผยให้ดูครับว่า Facebook ทำได้อย่างไร
เริ่มจากรางทดสอบบนโต๊ะเล็กๆ ก่อน
เริ่มแรก วิศวกรของ Facebook ทดสอบสมาร์ทโฟนทีละเครื่องบนโต๊ะของพวกเขา เพื่อให้ทำงานได้เร็วขึ้น บริษัทจึงสร้าง “Sled” ซึ่งเป็นรางเลื่อนสำหรับวางสมาร์ทโฟนให้สามารถทดสอบได้ในทีเดียว แต่จากการที่เป็นรางเหล็ก ทำให้มันส่งผลกระทบต่อการเชื่อมต่อ Wi-Fi
เปลี่ยนไปเป็นชั้นพลาสติก
เพื่อแก้ปัญหาเรื่องการรบกวนสัญญาณ Wi-Fi บริษัทได้สร้างชั้นที่เรียกว่า “Gondola” ซึ่งทำมาจากพลาสติกแทน ชั้นพลาสติกนี้สามารถวางสมาร์ทโฟนได้ถึง 100 เครื่อง แต่ก็มีปัญหาเรื่องความยุ่งเหยิงของสาย USB ที่เสียบมือถือตามมา
จากชั้นกลายเป็นห้อง
หลังจากนั้น Facebook ก็ได้ออกแบบห้องสำหรับทดสอบสมาร์ทโฟนโดยเฉพาะ ซึ่งมีการสร้าง “Slatwall” ชั้นกำแพงสำหรับวางสมาร์ทโฟนได้มากถึง 240 เครื่อง ถ้าต้องการจะทดสอบ 2,000 เครื่องจำเป็นต้องใช้ห้องมากถึง 9 ห้อง ซึ่งสำนักงานใหญ่ของ Facebook มีห้องไม่เพียงพอ จึงได้ย้ายระบบทั้งหมดไปที่ Data Center ที่ Prineville, Oregon แทน
สร้าง Rack ระบบปิดสำหรับทดสอบสมาร์ทโฟนโดยเฉพาะ
ท้ายที่สุด Facebook ก็ได้สร้างตู้ Rack สำหรับแยกกลุ่มสมาร์ทโฟนออกจากกันเพื่อป้องกันการกวนกันของสัญญาณ Wi-Fi ตู้ Rack มีการใช้ฉนวนกันคลื่น เทปทองแดง และตัวกรองไฟ ซึ่งแต่ละ Rack สามารถวางสมาร์ทโฟนสำหรับทดสอบได้ 32 เครื่อง นอกจากนี้ยังมีการวางคอมพิวเตอร์สำหรับใช้ติดตั้งและทดสอบ Facebook App อีกด้วย โดยใช้ Mac Mini 8 เครื่องสำหรับ iPhone และ Open Compute Project Leopard Server สำหรับ Android
ทดสอบจากระยะไกลและเพิ่มความอัตโนมัติ
ปัจจุบันนี้มีตู้ Rack จำนวน 60 ตู้สำหรับใช้ทดสอบสมาร์ทโฟนใน Data Center ที่ Prineville วิศวกรสามารถดูหน้าจอของสมาร์ทโฟนเหล่านั้นได้ผ่านทางกล้องวิดีโอที่ติดตั้งอยู่ภายในตู้ Rack การทดสอบบางส่วนเริ่มเป็นระบบอัตโนมัติ และ Facebook กำลังพยายามทำให้สามารถวางสมาร์ทโฟนได้ 64 เครื่องต่อตู้และดีไซน์เป็นแบบ Open-source มากขึ้น