mobile-testing
ช่วงวันหยุดมาดูกันหน่อยว่า
เครื่องมือการทดสอบ Mobile App มีอะไรที่น่าสนใจบ้าง
ซึ่งเน้นเครื่องมือที่เป็น Open source
เพื่อแนะนำให้ Developer และ Tester/QA นำไปใช้งานได้ง่ายขึ้น
มาดูกันว่ามีอะไรบ้าง ?

โดยทาง PerfectoMobile มีเงื่อนไขในการเลือกเครื่องมือดังนี้

  • ง่ายต่อการพัฒนาและทำทดสอบ เพื่อให้สามารถทำงานเป็นรอบสั้น ๆ ได้ดี
  • แต่ละทีมสามารถทำงานร่วมกันได้ เช่น Developer และ Tester/QA ใช้เครื่องมือเดียวกันได้
  • ความเหมาะสมในแต่ละ Platform เช่น Java สำหรับ Android, Swift/ObjectiveC สำหรับ iOS
  • สามารถทดสอบได้ดีทั้ง Emulator และ Device จริง ๆ
  • สามารถ integrate เข้ากับ IDE ที่ใช้พัฒนาได้
  • สามารถ Record ได้
  • Community
  • ความนิยมที่ Github

และอาจจะมีเงื่อนไขอื่น ๆ ขึ้นมาอีกได้
ขึ้นอยู่กับความต้องการของระบบนั้น ๆ

คำถามต่อมาคือ Use case ของระบบมีอะไรบ้าง ?

และต้องการทดสอบมากน้อยเพียงใด ซับซ้อนขนาดไหน ?
ตัวอย่างเช่น

  • ทดสอบผ่าน User Interface
  • ทดสอบร่วมกับส่วนการทำงานต่าง ๆ ของ Mobile เช่น กล้อง, GPS และระบบ Network
  • เวอร์ชันของ OS และ API ต่าง ๆ
  • ต้องทดสอบบน Platform ต่าง ๆ ทั้ง Android และ iOS รวมทั้ง Web อีกด้วย

เครื่องมือที่น่าสนใจและได้รับความนิยมในปัจจุบัน

ประกอบไปด้วย

  1. Selenium ใช้สำหรับทดสอบระบบ web application ซึ่งได้รับความนิยมสูงมาก
  2. Appium ใช้สำหรับทดสอบ Mobile app ทั้ง Native และ Hybrid app
  3. Calabash ใช้สำหรับทดสอบ Mobile app ซึ่งมีรูปแบบการเขียน BDD (BehaviourDriven Development) พัฒนาด้วยภาษา Ruby
  4. Espresso ใช้สำหรับทดสอบ Android App ในปัจจุบันใน Android Studio สามารถทำการ Record Script การทดสอบได้แล้ว
  5. XCUITest ใช้สำหรับทดสอบ iOS app ซึ่งมากับ XCode IDE

เมื่อนำเงื่อนไขและคำถามจากด้านบนมาพิจารณาแล้ว
แสดงผลดังรูป

OSAutoBlogChartFinal

ดังนั้นลองกลับมาตั้งคำถามและตอบตัวเราเองสิว่า

ระบบที่เรากำลังพัฒนาเป็นอย่างไร ?
มี use case การทำงานและใช้งานอย่างไร ?
ต้องการทดสอบอย่างไรบ้าง ?
จากนั้นก็ลองเลือกเครื่องมือและนำไปใช้ดูครับ