การทดสอบการโต้ตอบของผู้ใช้ช่วยให้มั่นใจได้ว่าผู้ใช้จะไม่พบผลลัพธ์ที่ไม่คาดคิดหรือได้รับประสบการณ์การใช้งานที่แย่เมื่อโต้ตอบกับแอปของคุณ คุณควรสร้างนิสัยในการทดสอบอินเทอร์เฟซผู้ใช้ (UI) หากต้องการยืนยันว่า UI ของแอปทํางานได้อย่างถูกต้อง
แนวทางหนึ่งในการทดสอบ UI คือให้ผู้ทดสอบที่เป็นบุคคลทำการดําเนินการชุดหนึ่งๆ ของผู้ใช้ในแอปเป้าหมาย และยืนยันว่าแอปทํางานอย่างถูกต้อง อย่างไรก็ตาม วิธีนี้อาจใช้เวลานานและเกิดข้อผิดพลาดได้ง่าย แนวทางที่มีประสิทธิภาพมากขึ้นคือการเขียนการทดสอบ UI ให้ดำเนินการตามการกระทําของผู้ใช้โดยอัตโนมัติ วิธีการอัตโนมัติช่วยให้คุณทำการทดสอบได้อย่างรวดเร็วและเชื่อถือได้ในลักษณะที่ซ้ำได้
การทดสอบ UI จะเปิดแอป (หรือบางส่วน) จากนั้นจำลองการโต้ตอบของผู้ใช้ และสุดท้ายตรวจสอบว่าแอปตอบสนองอย่างเหมาะสม เป็นการทดสอบการผสานรวมที่อาจทำได้ตั้งแต่การยืนยันลักษณะการทํางานของคอมโพเนนต์เล็กๆ ไปจนถึงการทดสอบการนําทางขนาดใหญ่ที่ครอบคลุมทั้งขั้นตอนของผู้ใช้ ซึ่งมีประโยชน์ในการตรวจสอบการถดถอยและยืนยันความเข้ากันได้กับ API ระดับต่างๆ และอุปกรณ์จริง
เรียกใช้การทดสอบ UI
- หากต้องการเรียกใช้การทดสอบ UI ที่มีเครื่องมือวัดโดยใช้ Android Studio ให้ใช้โค้ดทดสอบในโฟลเดอร์ทดสอบ Android แยกต่างหาก -
src/androidTest/java
ปลั๊กอิน Gradle ของ Android จะสร้างแอปทดสอบตามโค้ดทดสอบ จากนั้นจะโหลดแอปทดสอบในอุปกรณ์เดียวกับแอปเป้าหมาย ในโค้ดทดสอบ คุณสามารถใช้เฟรมเวิร์กการทดสอบ UI เพื่อจำลองการโต้ตอบของผู้ใช้ในแอปเป้าหมาย เพื่อทำการทดสอบที่ครอบคลุมสถานการณ์การใช้งานที่เฉพาะเจาะจง - นอกจากนี้ คุณยังใช้ Robolectric เพื่อเรียกใช้การทดสอบ UI ใน JVM ได้ด้วย
สถาปัตยกรรมและการตั้งค่าการทดสอบ
สถาปัตยกรรมของแอปควรอนุญาตให้การทดสอบแทนที่บางส่วนของแอปสําหรับการทดสอบคู่ และคุณควรใช้ไลบรารีที่มียูทิลิตีเพื่อช่วยในการทดสอบ เช่น คุณสามารถแทนที่โมดูลที่เก็บข้อมูลด้วยเวอร์ชันที่อยู่ในหน่วยความจําซึ่งให้ข้อมูลเท็จที่แน่นอนสําหรับการทดสอบ
วิธีการที่แนะนำในการแทนที่ Dependency คือ "การแทรก Dependency" คุณสร้างระบบของคุณเองได้ด้วยตนเอง แต่เราขอแนะนำให้ใช้เฟรมเวิร์ก DI เช่น Hilt
เหตุผลที่ควรทดสอบ UI โดยอัตโนมัติ
แอป Android สามารถกำหนดเป้าหมายไปยังอุปกรณ์ต่างๆ หลายพันเครื่องใน API ระดับต่างๆ และรูปแบบต่างๆ และการปรับแต่งระดับสูงที่ระบบปฏิบัติการมอบให้แก่ผู้ใช้อาจทำให้แอปแสดงผลอย่างไม่ถูกต้องหรืออาจขัดข้องในอุปกรณ์บางเครื่อง
การทดสอบ UI ช่วยให้คุณทำการทดสอบความเข้ากันได้ ซึ่งจะยืนยันลักษณะการทํางานของแอปในบริบทต่างๆ คุณอาจต้องทำการทดสอบ UI ในอุปกรณ์ที่หลากหลายในลักษณะต่อไปนี้
- ระดับ API: 21, 25 และ 30
- ภาษา: อังกฤษ อาหรับ และจีน
- การวางแนว: แนวตั้ง แนวนอน
นอกจากนี้ แอปควรตรวจสอบลักษณะการทํางานนอกเหนือจากโทรศัพท์ คุณควรทดสอบบนแท็บเล็ต อุปกรณ์แบบพับ และอุปกรณ์อื่นๆ อ่านเพิ่มเติมเกี่ยวกับการทดสอบหน้าจอขนาดต่างๆ
ประเภทการทดสอบ UI
ส่วนนี้จะกล่าวถึงการทดสอบ UI 2 ประเภท ได้แก่
- การทดสอบลักษณะการทำงานจะวิเคราะห์ลําดับชั้น UI เพื่อยืนยันพร็อพเพอร์ตี้ขององค์ประกอบ UI
- การทดสอบภาพหน้าจอจะจับภาพหน้าจอของ UI และเปรียบเทียบกับรูปภาพที่อนุมัติแล้วก่อนหน้านี้