วันนี้มีโอกาสไปแบ่งปันเรื่อง Android Unit Testing
ในงาน I/O Rewind Bangkok จัดที่จุฬาลงกรณ์มหาวิทยาลัย
เป็นงานที่ทำการสรุปเนื้อหาจากงาน Google I/O 2015
ให้เหล่า Android Developer ในประเทศไทยได้รู้กัน
มาดูว่าสิ่งที่ผมไปแบ่งปันมีเนื้อหาอะไรบ้าง ?
เริ่มจากปัญหาของการพัฒนา Android application ในปัจจุบัน
เช่น
- Fragmentation
- จำนวน android device ที่มีจำนวนเยอะมากๆ ประมาณ 6,000 devices
- การ release ระบบงานให้รวดเร็วขึ้น
- Code ที่พัฒนาขึ้นมามันดีหรือไม่ เคยวัดด้วย metric อะไรบ้าง
- Code ที่เขียนขึ้นมา มันพร้อมรับต่อการเปลี่ยนแปลงหรือไม่ อย่างไร
- และสุดท้ายสิ่งที่เราต้องการ และ ผู้ใช้งานที่ต้องการ คือ คุณภาพของ software นั่นเอง
ปัญหาหลักของการพัฒนา software
นักพัฒนามักจะบอกว่า …
แปลกนะ ทำไมถึงพูดแบบนั้นนะ ?
มาดูกันหน่อยว่า การทำทดสอบ Android application ในปัจจุบันทำกันอย่างไร ?
แน่นอนว่าส่วนใหญ่จะทำการทดสอบแบบ manual
ซึ่งในทั้งจำนวนคน และ ค่าใช้จ่าย ที่สูงขึ้น
แสดงด้วยภาพของ Ice cream testing
ในการทดสอบ Android application ควรอยู่ในรูปแบบนี้
คือ Pyramid testing ดังรูป
คำถาม
การทดสอบ Android application จะทำอย่างไร มีเครื่องมืออะไรบ้าง ?
คำตอบ
ในปัจจุบันมันเยอะมากๆ ดังรูป
แล้วเราจะเลือกใช้อะไรล่ะ ?
โดยทีมพัฒนา Android ได้แนะนำการทดสอบในแต่ละระดับไว้
ประกอบไปด้วย
- Monkey runner สำหรับการทำ Stress testing
- UI Automator และ Espresso สำหรับการทำ Acceptance testing
- Integration testing จะใช้ Android unit testing
- Unit testing จะใช้ jUnit
ในการแบ่งปันนั้น ทำการแนะนำ ดังนี้
- Unit testing
- Espresso
- Monkey runner
ซึ่งได้พาทำ workshop โดยในโจทย์ง่ายๆ คือ การแปลงคะแนนมาเป็นเกรด
โดย Source code ตัวอย่างที่สร้างขึ้นมา อยู่ใน Github.com/up1
Slide ผมเอาขึ้นไว้ที่ slideshare ตามนี้
สุดท้ายขอขอบคุณสำหรับพื้นที่และโอกาสในการแบ่งปันครับ
โอกาสหน้าเจอกันใหม่ครับ
ผมสนุกมากๆ