ในการทดสอบแอปนั้น ถ้าผู้ที่หลงเข้ามาอ่านเป็นนักพัฒนาอิสระที่สร้างแอปขึ้นมาด้วยตัวเอง การนั่งทดสอบแอปของตัวเองก็คงไม่ใช่เรื่องยากอะไร ก็แค่ Build APK เพื่อติดตั้งลงในเครื่องแล้วเริ่มทดสอบ แต่ทว่าโลกในการพัฒนาแอปขนาดใหญ่ๆนั้นเลี่ยงไม่ได้ที่จะต้องมีทีม และผู้ที่หลงเข้ามาอ่านก็จะกลายเป็นคนที่พัฒนาแอปเป็นหลัก และการทดสอบแอปส่วนใหญ่ก็จะตกอยู่ที่ Tester ภายในทีมนั่นเอง
ดังนั้นการติดตั้งแอปลงในเครื่องของเหล่า Tester ก็จะเริ่มกลายเป็นปัญหาเล็กๆที่ทำให้คนในทีมทำงานไม่ลื่นไหลอย่างที่ควรเป็น เวลานักพัฒนาเขียนโค้ดเสร็จแล้วอยากจะทดสอบแอป ก็ต้องมานั่ง Build APK เพื่อติดตั้งลงในเครื่องที่ Tester ใช้ทดสอบ แถม Tester คนหนึ่งก็มักจะทดสอบแอปกับอุปกรณ์แอนดรอยด์หลายๆรุ่น หลายๆยี่ห้อซะด้วย ดังนั้นการที่นักพัฒนามานั่งติดตั้งแอปลงทีละเครื่องก็คงเสียเวลาใช่มั้ยล่ะ
โดยปกติแล้วก็จะต้องหา Deployment Tools เข้ามาช่วยเพื่อให้นักพัฒนาสามารถส่งแอปเวอร์ชันล่าสุดให้กับ Tester ได้ง่ายๆ อย่างเช่นตัวยยอดนิยมก็จะเป็น Fastlane นั่นเอง

แต่ล่าสุดทาง Google Play ก็ได้ปล่อย Internal Test ออกมาให้ใช้งานกันในปีที่แล้ว
Internal Test มันคืออะไร?
โดยปกติแล้วเวลา Release แอปบน Google Play มักจะหมายความว่าแอปนั้นพร้อมใช้งานแล้ว ถึงแม้ว่าเดี๋ยวนี้จะมีการแบ่งเป็น Production, Alpha และ Beta แล้ว แต่การจะ Release ไปอยู่บน Alpha หรือ Beta ก็มักจะเหมาะกับแอปที่มีความพร้อมมากพอที่จะใช้งานแล้วนั่นเอง ซึ่งเป้าหมายมักจะเป็นผู้ใช้งานที่อยู่ใน Alpha/Beta Programs มากกว่า ไม่ได้เหมาะกับ Tester ในทีมซักเท่าไรนัก
และการ Release ขึ้นบน Google Play แบบเดิมๆนั้นจะใช้เวลานานกว่าจะโผล่เป็นเวอร์ชันใหม่อยู่บน Google Play ระยะเวลาที่เร็วที่สุดก็ยังต้องรอถึงครึ่งชั่วโมง (เอาโปรเจคไปให้ Tester นั่ง Build เองยังไวกว่า)
แต่สำหรับ Internal Test นั้นถูกออกแบบมาเพื่อให้น้กพัฒนาส่งแอปให้กับ Tester โดยเฉพาะ เหมาะกับการ Release ชั่วคราวที่ไม่จำเป็นต้องขึ้น Production, Alpha หรือ Beta แต่อยากจะส่งให้ Tester ทดสอบให้แน่ใจก่อน

ซึ่งข้อดีของ Internal Test ก็คือ เวลาอัปเดตเวอร์ชันใหม่ๆจะโผล่ให้อัปเดตภายใน 3 นาที
ดังนั้นจึงทำให้เหล่า Tester สามารถอัปเดตแอปทุกๆเครื่องผ่าน Google Play แล้วทดสอบแอปต่อได้ทันที
ถ้าอยากจะใช้ Internal Test มีขั้นตอนยังไงบ้าง?
จริงๆแทบจะไม่ต้องทำอะไรวุ่นวายเลย เพราะ Internal Test นั้นเปิดให้นักพัฒนาใช้งานได้อยู่แล้ว อยู่ใน Release > Testing > Internal Testing

และสำหรับ Internal Test นั้นจะสามารถกำหนดได้ว่าจะให้ใครบ้างที่สามารถทดสอบแอปได้เหมือนกับ Open Test และ Closed Test เลย

ส่วนการ Submit ก็จะเหมือนกับแบบปกติ สามารถโยนไฟล์ .apk
หรือ .aab
ก็ได้

และในการอัปเดตเวอร์ชันใหม่ก็จะต้องเปลี่ยน Version Code เหมือนปกติด้วยนะ
สำหรับการ Submit ครั้งแรกนั้นจะใช้เวลาในการตรวจสอบเหมือนกับปกติ (เร็วสุดคือ 30 นาที) แต่การอัปเดตในครั้งต่อไปก็จะใช้เวลาไม่เกิน 3 นาที
ต้องเข้าร่วม Internal Test ก่อนจะเริ่มทดสอบ
สำหรับ Gmail ที่กำหนดให้เป็น Tester นั้นจะยังไม่มีผลทันทีจนกว่าจะให้ Account เหล่านั้นเข้าร่วม Internal Test เสียก่อน โดย URL จะอยู่ข้างล่างสุดของแถบ Tester ในหน้า Internal Testing และถ้าอยากจะยกเลิกการเข้าร่วม Internal Test ก็ให้เข้ามาที่ URL เดิมอีกครั้ง

เพียงเท่านี้ก็สามารถเปิด Google Play และเข้าไปดาวน์โหลดแอปตัวนั้นจาก Google Play มาทดสอบได้แล้ว
เพิ่มเติม
- แนะนำให้ใส่ Crash Reporting Tools เช่น Firebase Crash Reporting, Sentry หรือ Bugsnag เป็นต้น เพื่อช่วยให้ Track ปัญหาที่เกิดบนเครื่องของ Tester ได้ง่ายขึ้น
- ถ้าขี้เกียจ Publish เข้า Internal Test เองทุกครั้ง แนะนำให้ลองใช้ Continuous Delivery (CD) อย่าง Jenkins ดู จะลดระยะเวลาตรงนี้ได้เยอะมาก และถ้าขี้เกียจกำหนดเลขเวอร์ชันของแอปในแต่ละครั้งก่อน Deploy ก็ลองใช้วิธี Use different build numbers for every build — automatically using a gradle script [Medium] ก็ได้นะ

สรุป
Internal Test บน Google Play นั้นสามารถช่วยลดขั้นตอนในการอัปเดตแอปให้กับเครื่องของ Tester ทั้งหมดได้ง่าย สามารถเชื่อมต่อกับระบบ CI/CD ผ่าน Publisher API ได้อีกด้วย นอกจากจะช่วยให้ Tester ทำงานได้สะดวกมากขึ้นแล้ว ยังสามารถใช้ทดสอบ Android App Bundle หรือ Dynamic Delivery ได้อีกด้วยนะ
กำลังปวดหัวกับการอัปเดตแอปให้กับ Tester อยู่ใช่มั้ย? ลองใช้ Internal Test ดูสิ!