Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 2069

[Part 2] สรุปความรู้ที่น่าสนใจจากงาน Google I/O 2016 Extended Bangkok

$
0
0

es-01

io-00 เนื่องจากเนื้อหาในงาน Google I/O 2016 Extended Bangkok มันเยอะมาก ๆ ดังนั้นจึงแยกเนื้อหาออกเป็น 2 ส่วน ซึ่งใน blog นี้จะสรุปเรื่องต่าง ๆ ดังนี้
  • UI Testing สำหรับ Android App ด้วย Espresso
  • ทำความรู้จักกับ Firebase ว่าน่าสนใจอย่างไรบ้าง
มาเริ่มกันเลย

1. UI Testing สำหรับ Android App ด้วย Espresso

เป็น session หนึ่งที่ตั้งใจมาฟังอย่างมาก เพราะว่า เป็นสิ่งที่สนใจและใช้งานประจำสำหรับการทดสอบ Android App โดยชอบคำพูดนี้มาก ๆ คือ
Espresso นั้นถูกสร้างขึ้นมา เพื่อส่งเสริมให้นักพัฒนาเขียนชุดการทดสอบสำหรับ App นั่นเอง
โดยทางทีมพัฒนา Android นั้นได้แยกการทดสอบออกมาเป็นอีก library ชื่อว่า Android Testing Support Library (ATSL) เพื่อช่วยทำให้ App มีคุณภาพที่ดีขึ้น ประกอบไปด้วย
  • UI Automator สำหรับการทดสอบการทำงานระหว่าง App และ System ของ device
  • Espresso สำหรับการทดสอบใน App นั้น ๆ
  • AndroidJUnitRunner เป็น Test Runner สำหรับ Android App ซึ่งทำการ custom มาจาก JUnit
es-01 มาดูรายละเอียดของ Espresso กันว่าเป็นอย่างไรบ้าง ? โดยจะทำงานผ่าน Instrumentation ซึ่งจะทำการ hook เข้าไปยัง Lifecycle ของ Activity ทำให้เราสามารถทดสอบได้นั่นเอง Espresso มีส่วนการทำงานหลัก 3 ส่วนคือ
  1. View matcher สำหรับค้นหา element ต่าง ๆ ใน view
  2. View action สำหรับกระทำกับ element ต่าง ๆ ใน view เช่น การกดปุ่ม เป็นต้น
  3. View assertion สำหรับการตรวจสอบผลการทำงาน เช่น ข้อความที่แสดงใน TextView เป็นต้น
และยังอธิบายอีกด้วยว่า Library แต่ละตัวของ Espresso นั้นใช้ทำอะไรบ้าง [code] //เป็น library หลักของ Espresso androidTestCompile "com.android.support.test.espresso:espresso-core //สำหรับทดสอบพวก DatePicker, RecyclerView, Drawer action ต่าง ๆ androidTestCompile "com.android.support.test.espresso:espresso-contrib //Intent Rule, validation และ stub ซึ่งช่วยให้จัดการ intent ได้อย่างง่ายและสะดวกสำหรับการทดสอบ และทำงานร่วมกับ Mockito androidTestCompile "com.android.support.test.espresso:espresso-intents //สำหรับการทำงานร่วมกับพวก backgroung job androidTestCompile "com.android.support.test.espresso:espresso-idling-resource //สำหรับทดสอบ WebView androidTestCompile 'com.android.support.test.espresso:espresso-web [/code] จากนั้นทำการแนะนำวิธีการ Custom Error ของ Espresso เพื่อช่วยทำให้ error ของ Espresso อ่านและเข้าใจได้ง่าย โดยให้ทำการ implement จาก interface EspressoException รวมทั้งแนะนำ Espresso Test Recorder อีกเล็กน้อย ส่วนcode ตัวอย่างดูเพิ่มเติมได้จาก Android Coding Testlab

2. ทำความรู้จักกับ Firebase ว่าน่าสนใจบ้าง ? บอกเลยว่าเยอะมาก !!

ถือได้ว่าเป็นพระเอกของงาน Google I/O 2016 เลยก็ว่าได้ เป็นอีกหนึ่งการเปลี่ยนแปลงที่ส่งผลกระทบอย่างแรงต่อ Developer เนื่องจากมีทุกสิ่งที่ Web และ Mobile application ต้องการ ทั้ง Infrastructure ทั้ง Service ต่าง ๆ ทั้งการรองรับการขยายตัวของระบบ ทั้งการทำงานแบบ cross platform ทั้งการใช้งานที่ง่าย ทั้งเอกสารที่แจ่ม ๆ และ ละเอียด สำหรับ Android Studio ก็มี Firebase plugin ให้ใช้งานแบบง่าย ๆ อีกด้วย ดังนั้นห้ามพลาดด้วยประการทั้งปวง es-02 โดยมี feature แบ่งเป็นกลุ่มดังนี้
  • Develop
  • Grow
  • Earn
  • Analytic
ซึ่งมันเยอะมาก ๆ แสดงดังรูป (ลองไปใช้งานกันดูนะ) es-03 ถ้า Developer คนไหนยังไม่ลองใช้งาน แนะนำให้ลองไปใช้งานเถอะนะ มันช่วยเหลือให้ชีวิตง่ายขึ้นเยอะเลย ส่วน Slide ของงานนี้เขาเอาไปเก็บไว้ที่ Github:: Google I/O extended Bangkok

Viewing all articles
Browse latest Browse all 2069

Trending Articles