วันนี้มีโอกาสไปแบ่งปันเรื่อง Automated testing for Android app
ในงาน Test Automation Meetup ครั้งที่ 1
โดยเน้นไปที่แนวคิดสำหรับการทดสอบ Android app
ซึ่งในปัจจุบันมีเครื่องมือ และ library ต่าง ๆ เยอะมากมาย
หนึ่งในนั้นคือ Android Testing Support Library (ATSL)
ประกอบไปด้วย
- UI Automator
- Espresso
- AndroidJUnitRunner
- JUnit 4
แนวคิดหลัก ๆ ในการทดสอบระบบงาน
เพียงตอบ 2 คำถามให้ได้ว่า- สิ่งที่เราเพิ่มและแก้ไขไปนั้น มันทำงานได้อย่างถูกต้องตามที่คาดหวังหรือไม่ ?
- สิ่งที่เราเพิ่มและแก้ไขไปนั้น มันส่งผลกระทบต่อส่วนการทำงานอื่น ๆ หรือไม่ ?
เครื่องมือ และ Library ที่แนะนำ ประกอบไปด้วย
- Espresso
- Screengrab สำหรับ capture หน้าจอการทำงานของ Android app ซึ่งทำงานร่วมกับ Espresso ซึ่งผมเคยเขียนการใช้งานเบื้องต้นไว้ที่ blog นี้
- Monkey testing สำหรับการทำ Stress testing โดยจะสร้าง event ต่าง ๆ ขึ้นมาแบบอัตโนมัติ
Espresso นั้นประกอบไปด้วย component หลัก 3 ตัวคือ
- View Matcher สำหรับค้นหา element ต่าง ๆ จาก view
- View Action สำหรับจำลองการทำงานต่าง ๆ เช่น การกดปุ่ม การกรอกข้อมูล เป็นต้น
- View Assertion สำหรับการตรวจสอบผลการทำงาน ว่าเป็นไปตามที่คาดหวังหรือไม่
โดยทั้งหมดนี้เป็นเพียงจุดเริ่มต้น
ของการทดสอบแบบอัตโนมัติสำหรับ Android app อยากให้ทุก ๆ คน ลองนำแนวทางนี้ไปฝึกและใช้งานดูนะครับ ซึ่งน่าจะทำให้เราสามารถตอบสองคำถามจากข้างต้น ด้วยความเชื่อมั่นมากยิ่งขึ้นก้าวแรกสำคัญเสมอครับ จากนั้นก็ก้าวต่อไปเท่านั้นเอง