ความท้าทายสำหรับการทดสอบ Mobile app ประกอบไปด้วย
- การทดสอบบน device จริง ๆ และหลากหลาย
- การทดสอบแบบ parallel เพื่อทำให้การทดสอบรวดเร็วขึ้นมาก
- การจัดการ code ของการทดสอบ เช่นลด code ที่ซ้ำซ้อน รวมไปถึงการ reuse
- การทดสอบบน environment ที่เหมือนจริง
- การทดสอบบน environment ต่าง ๆ เช่น ความเร็วของ network, สถานะของ battery
- การทดสอบเมื่อมี interrupt ต่าง ๆ เช่น มีสายเรียกเข้า, มี notification และ การทำงานใน background process
- การทำ stress testing เช่นทำการทดสอบหรือใช้งาน app เป็นเวลานาน ๆ เพื่อดูการจัดการ resource ของ app
จากบทความเรื่อง 7 Mobile Test Automation Tips
แนะนำแนวทางสำหรับการเริ่มต้นที่ดี
ซึ่งมีขั้นตอน 7 ขั้นตอนดังนี้
- เริ่มต้นเล็ก ๆ ค่อย ๆ โต ค่อย ๆ ขยาย
- เมื่อชุดการทดสอบใดที่น่าเชื่อถือ ได้รับการยอมรับ ก็เริ่มนำไปใส่ในระบบ Continuous Integration
- ในแต่ละ platform ของ Mobile ล้วนแตกต่างกัน ดังนั้นต้องทำการ debug ซะ
- เมื่อชุดการทดสอบมากขึ้น จะมีสิ่งที่ซ้ำซ้อน นั่นคือเริ่มมีสิ่งที่ reuse กันได้
- เพิ่มการตรวจสอบในแต่ละชุดการทดสอบ
- เริ่มใส่ชุดการทดสอบสำหรับเหตุการณ์ต่าง ๆ ที่ไม่คาดไม่ถึง
- สิ่งที่สำคัญมาก ๆ คือช่องการติดต่อสื่อสารระหว่างทีมพัฒนา ทีม operation และ business เพื่อสร้างความไว้เนื้อเชื่อใจซึ่งกันและกัน
แสดงดังรูป
ก่อนที่จะเริ่มต้นควรเริ่มด้วยคำถามว่า
เราควรจะทดสอบอะไรกันดี ?
เนื่องจากหลาย ๆ ทีมมักจะเลือกชุดการทดสอบที่ไม่ถูกต้อง
เช่นง่าย หรือ ยาก หรือ ไม่คุ้มต่อการลงทุนมาทำ
ทำให้ผลที่ออกมาไม่ดี
ทำให้ทุกคนคิดว่ามันเสียเวลาไปเปล่า ๆ
รวมทั้งอีกเรื่องที่สำคัญมาก ๆ คือ เชื่อใจ manual testing มาก ๆ
จนทำให้มีคำถามหรือไม่ไว้วางใจการทดสอบแบบอัตโนมัติ
ซึ่งมันเป็นเรื่องของความไว้เนื้อเชื่อใจล้วน ๆ
ดังนั้นสิ่งที่จำเป็น คือ การสร้างความไว้เนื้อเชื่อใจกัน
ระหว่างทีมพัฒนา ทีมทดสอบ ทีม operation และ ทีม business