หนึ่งในปัญหาที่เรามักพบในการพัฒนา Mobile application คือ
การขาดความเชื่อมโยงระหว่าง
- Requirement
- Development
- QA/Testing
เนื่องจากเราทำทุกอย่างแบบ manual นั่นเอง
ส่งผลให้เกิดปัญหาต่างๆ ขึ้นมามากมาย
และจะมีปัญหาเยอะมาก ตามจำนวน feature และความซับซ้อนของระบบ
ดังนั้น จึงต้องการพวก Automation tool มาช่วยเหลือ
เพื่อเชื่อมโยงส่วนต่างๆ เข้าด้วยกัน
ในการทดสอบแบบอัตโนมัติ (Automated testing) นั้น
- Unit testing สำหรับ algorithm และพฤติกรรมของภายใน (Internal quality)
- UI testing สำหรับการทดสอบ function, feature ต่างๆ ในมุมมองของผู้ใช้งาน (External quality)
สำหรับ Android application นั้นมีเครื่องมือมากมายให้ใช้งาน
ซึ่งในส่วนของ UI testing หรือ Functional testing นั้นมีดังนี้
ใน blog นี้ขอแนะนำ Calabash
มาดูกันว่า มันคืออะไร ?
มีโครงสร้างการทำงานอย่างไร ?
และจะเริ่มต้นอย่างไร ?
Calabash คืออะไร ?
มันคือ เครื่องมือสำหรับทดสอบการทำงานของ Mobile application แบบอัตโนมัติ
โดยสนับสนุนทั้ง Android และ iOS application
รูปแบบของภาษาที่ใช้ในการเขียน คือ Cucumber
หรือรูปแบบของ Given-When-Then หรือ BDD style นั่นเอง
ทำการติดตั้ง Calabash กันหน่อย
ก่อนจะทำการติดตั้ง ต้องติดตั้ง Ruby + Gem ก่อนนะ
จากนั้นทำการติดตั้ง calabash ด้วยคำสั่ง
$gem install calabash-android
เพียงเท่านี้ก็สามารถติดตั้งเรียบร้อยแล้ว …
สามารถตรวจสอบผลการติดตั้ง ด้วยคำสั่ง
$calabash-android
แสดงผลการทำงานดังนี้
โครงสร้างของ project ที่สร้างด้วย Calabash
ทำการสร้าง calabash project ด้วยคำสั่ง
$calabash-android gen
ซึ่ง calabash จะสร้าง file และ folder ขึ้นมาดังรูป
คำอธิบาย
ส่วนแรกคือไฟล์นามสกุล feature สำหรับเขียน test script ในรูปแบบ Given-When-Then
ส่วนที่สอง คือ step_definitions ซึ่งเป็นไฟล์ที่เขียนด้วยภาษา Ruby ทำหน้าที่ mapping จาก feature มาทำงานต่อไป
ส่วนที่สาม คือ support เป็นการ configuration ต่างๆ ของ calabash ซึ่งเราไม่จำเป็นต้องไปแก้ไขอะไร
มาดูสถาปัตยกรรมของ Calabash กันนิดหน่อย
การทำงานประกอบไปด้วย 2 ส่วน คือ
- Server
- Client
หรือทำงานแบบ Client-Server นั่นเอง
ในส่วนของ server นั่นคือ Ruby application
ทำหน้าที่แปล และ ทำงานตามสิ่งที่เขียนใน feature และ step definitions
แสดงดังรูป
เมื่อทุกอย่างพร้อม ก็เริ่มทำการสั่งให้ calabash ทำงาน
ใช้คำสั่ง
$calabash-android run
เพียงเท่านี้คุณก็สามารถเริ่มต้นใช้ Calabash สำหรับทดสอบ Android application ได้แล้ว
สวัสดี Calabash …