ความท้าทายสำหรับการทดสอบ 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 ขั้นตอนดังนี้

  1.  เริ่มต้นเล็ก ๆ ค่อย ๆ โต ค่อย ๆ ขยาย
  2.  เมื่อชุดการทดสอบใดที่น่าเชื่อถือ ได้รับการยอมรับ ก็เริ่มนำไปใส่ในระบบ Continuous Integration
  3.  ในแต่ละ platform ของ Mobile ล้วนแตกต่างกัน ดังนั้นต้องทำการ debug ซะ
  4.  เมื่อชุดการทดสอบมากขึ้น จะมีสิ่งที่ซ้ำซ้อน นั่นคือเริ่มมีสิ่งที่ reuse กันได้
  5.  เพิ่มการตรวจสอบในแต่ละชุดการทดสอบ
  6.  เริ่มใส่ชุดการทดสอบสำหรับเหตุการณ์ต่าง ๆ ที่ไม่คาดไม่ถึง
  7.  สิ่งที่สำคัญมาก ๆ คือช่องการติดต่อสื่อสารระหว่างทีมพัฒนา ทีม operation และ business เพื่อสร้างความไว้เนื้อเชื่อใจซึ่งกันและกัน

แสดงดังรูป

ก่อนที่จะเริ่มต้นควรเริ่มด้วยคำถามว่า

เราควรจะทดสอบอะไรกันดี ?
เนื่องจากหลาย ๆ ทีมมักจะเลือกชุดการทดสอบที่ไม่ถูกต้อง
เช่นง่าย หรือ ยาก หรือ ไม่คุ้มต่อการลงทุนมาทำ
ทำให้ผลที่ออกมาไม่ดี
ทำให้ทุกคนคิดว่ามันเสียเวลาไปเปล่า ๆ
รวมทั้งอีกเรื่องที่สำคัญมาก ๆ คือ เชื่อใจ manual testing มาก ๆ

จนทำให้มีคำถามหรือไม่ไว้วางใจการทดสอบแบบอัตโนมัติ
ซึ่งมันเป็นเรื่องของความไว้เนื้อเชื่อใจล้วน ๆ
ดังนั้นสิ่งที่จำเป็น คือ การสร้างความไว้เนื้อเชื่อใจกัน
ระหว่างทีมพัฒนา ทีมทดสอบ ทีม operation และ ทีม business