18 เมษายน 2557

[Android Dev Tips] TestObject - เว็ปทดสอบแอปพลิเคชันสำหรับนักพัฒนาสายแอนดรอยด์


        วันนี้เจ้าของบล็อกก็จะมาแนะนำเครื่องมือสำหรับนักพัฒนาแอปพลิเคชันแอนดรอยด์กันเสียหน่อย เพราะในทุกๆวันนี้เจ้าของบล็อกเชื่อว่ายังมีผู้ที่หลงเข้ามาอ่านหลายๆคนยังประสบปัญหากับการทดสอบแอปพลิเคชันบนอุปกรณ์แอนดรอยด์ เพราะว่ามีไม่กี่คนหรอกที่จะมีเครื่องหลายๆรุ่นให้ลองทดสอบแอปพลิเคชันได้ อย่างมากก็เป็นแค่เครื่องที่ผู้ที่หลงเข้ามาอ่านมีอยู่ ซึ่งก็มีไม่ครอบคลุมซักเท่าไร (อย่างเจ้าของบล็อกก็มีมากสุดแค่ 8 เครื่อง)


        ดังนั้นเจ้าของบล็อกก็เลยมาแนะนำตัวช่วยกันเสียหน่อย นั่นก็คือ Test Object ที่จะให้ผู้ที่หลงเข้ามาอ่านสามารถทดสอบแอปพลิเคชันจากอุปกรณ์แอนดรอยด์ผ่านเว็ปนี้ได้นั่นเอง


        โดยเว็ปดังกล่าวจะอยู่ที่ http://testobject.com/ เมื่อเข้าใช้งานครั้งแรกก็ให้สมัครก่อนซะ




        เมื่อสมัครเสร็จแล้วก็สามารถเข้าใช้งานได้ทันที โดยเริ่มแรกให้อัปโหลดไฟล์ APK ของแอปพลิเคชันที่ต้องการทดสอบเสียก่อน


        ในกรณีที่ต้องการอัปโหลด APK ขึ้นไปให้เลือก Native App และยังมี Auto Update ที่สามารถใช้งานร่วมกับ Ant, Maven หรือ Gradle ได้ด้วย แต่ในกรณีนี้เลือกเป็น Native App ละกัน




        เมื่ออัปโหลดขึ้นเว็ปเสร็จแล้วก็จะเข้าสู่หน้าที่เรียกว่า Quality Report ซึ่งจะแสดงข้อมูลจากการทดสอบเบื้องต้น โดยอย่างแรกสุดคือ Overview ที่จะแสดงผลการทดสอบโดยรวม



        Screenshots ที่จะแสดงภาพอุปกรณ์แอนดรอยด์ต่างๆที่ทดสอบแอปพลิเคชันของผู้ที่หลงเข้ามาอ่าน (เฉพาะหน้าแรกสุดเท่านั้น)



        Stress Test อันนี้เจ้าของบล็อกชอบเล็กน้อย เพราะเบื้องต้นทางเว็ปจะใช้วิธีที่เรียกว่า Monkey Exercise ที่เปรียบเสมือนกับชื่อของมันเลยคือ "ให้ลิงจิ้มหน้าจอ" ดังนั้นมันก็คือการจิ้มหน้าจอแบบสุ่มนั่นเอง เพื่อทดสอบว่าแอปพลิเคชันรองรับ User Error ประเภทจิ้มมั่วได้หรือป่าว ถ้าพบว่ามีเออเรอร์ก็จะมีแจ้งบอกด้วยว่าทดสอบบนเครื่องรุ่นอะไรและ LogCat ขึ้นว่าอะไร เพื่อให้ผู้ที่หลงเข้ามาอ่านสามารถไปไล่เช็คทีหลังได้



        โดยการทดสอบดังกล่าวนี้จะไม่ได้ทำเสร็จในทันที แต่ว่าจะใช้เวลานานพอสมควร ซึ่งหลังจากที่อัปโหลดไฟล์ขึ้นเว็ปแล้วก็สามารถปิดหรือไปทำอย่างอื่นรอได้เลย แล้วทางเว็ปจะส่งเมลล์มาให้เมื่อทำการทดสอบเสร็จแล้ว




     และสำหรับ Screenshots จะสามารถไล่เช็คดูหน้าจอของอุปกรณ์ที่มีให้ทดสอบทั้งหมดได้ด้วย ว่าอันไหนโอเคและอันไหนไม่โอเค โดยจะมีบันทึกให้ใส่ไว้ด้วยเพื่อช่วยจำว่าจะแก้ไขอะไรยังไง อันไหนที่ทำเสร็จแล้วก็ Approve ได้เลย อันไหนไม่ผ่านก็ Reject แล้วไปแก้ไขใหม่อีกที



        นอกจาก Quality Report แล้วยังมีเมนูต่างๆที่อยู่มุมซ้ายบนดังนี้



        โดยที่ My Apps ก็คือหน้าแรกสุดที่จะมีรายชื่อแอปพลิเคชันที่ได้อัปโหลดขึ้นไป สามารถจัดการต่างๆได้เช่นอัปโหลดไฟล์เวอร์ชันใหม่แทนที่ของเก่า เป็นต้น



        ต่อมาเป็นหน้าแสดงข้อมูล APK ที่อัปโหลดไว้ทั้งหมดของแอปพลิเคชันนั้นๆ



        Quality Report เจ้าของบล็อกพูดถึงในตอนแรกไปแล้ว เพราะงั้นข้ามเลยละกันนะ

        Manual Testing อันนี้ถือว่าเป็นจุดเด่นของ Test Object เลยก็ว่าได้ นั่นก็คือการที่ผู้ใช้งานสามารถติดตั้งแอปพลิเคชันลงบนอุปกรณ์แอนดรอยด์เครื่องนั้นๆแล้วทำการทดสอบด้วยตนเองได้เลย



        โดยที่มีเงื่อนไขว่าการทดสอบแอปพลิเคชันทาง Test Object ได้ติดตั้งระบบเพื่อให้ผู้ใช้สามารถรีโมตควบคุมเครื่องเหล่านี้ผ่านอินเตอร์เน็ตได้นั้น จะมีการจำกัดระยะเวลาในการทดสอบเครื่อง ซึ่งผู้ใช้งานที่เป็นบัญชีใช้งานฟรีจะสามารถใช้ได้เพียง 30 นาทีเท่านั้น (เพราะงั้นเทสหนึ่งรอบก็รีบๆทำให้มันเสร็จในนาทีเดียวให้ได้ซะ!!) และสำหรับ Emulator จะสามารถใช้งานได้ไม่จำกัด (เปิด Genymotion ดีกว่างั้น!!) โดยระยะเวลาที่สามารถใช้งานได้จะมีแสดงอยู่ที่มุมขวาบนของหน้าเว็ป

        เพิ่มเติม - ในกรณีที่ต้องการสมัครใช้งานรายเดือนสามารถอ่านรายละเอียดค่าบริการรายเดือนได้ที่ท้ายบทความ




        เวลาเปิดใช้งานผู้ที่หลงเข้ามาอ่านก็จะต้องรอซักพักหนึ่งเพื่อให้ระบบค้นหาเครื่องที่ว่างและติดตั้งแอปพลิเคชันลงในเครื่อง (แล้วก็จะเริ่มจับเวลาทันที) จากนั้นก็เริ่มเทสได้เลย!



        ที่เจ้าของบล็อกชอบก็คือมี Log Cat ให้ดูที่มุมขวาล่าง และมี Tools ให้ระดับหนึ่งที่แถบซ้ายมือ



        เวลาเลิกใช้งานก็แค่กดเปลี่ยนไปหน้าอื่นก็พอ สำหรับ Manual Testing จะเหมาะกับการใช้งานบนอินเตอร์เน็ตที่มีความเร็วสูงมากพอ เพื่อลดระยะเวลาในการทดสอบ เพราะถ้าเน็ตช้ากว่าจะกดหน้าจอแต่ละทีจะใช้เวลานาน (อย่าลืมว่ามันคือการรีโมตจากหน้าเว็ปไปควบคุมเครื่องจริงที่ทางเว็ปเตรียมไว้)

        สำหรับอุปกรณ์แอนดรอยด์ที่มีให้ทดสอบ ทาง Test Object ก็จะทยอยเพิ่มเข้ามาเรื่อยๆ ในขณะที่เจ้าของบล็อกทำบทความนี้ก็มีอุปกรณ์แอนดรอยด์ให้ทดสอบด้วยกันทั้งหมดดังนี้ (เฉพาะ Real Device)

                • Acer Liquid Z4 *
                • Amazon Kindle Fire HD *
                • Amazon Kindle Fire HDX *
                • Cat B15 *
                • Asus Google Nexus 7
                • HTC Desire
                • HTC Desire 200 *
                • HTC Desire 610 *
                • HTC Desire HD
                • HTC Desire S
                • HTC One
                • HTC One M8 *
                • HTC One Max *
                • HTC One Mini *
                • HTC One S
                • HTC One SV
                • HTC One X
                • HTC Wildfire S *
                • Huawei Ascend P7 Mini *
                • Huawei Ascend Y530 *
                • Kyocera Hydro
                • LG G Flex *
                • LG G2
                • LG G3 *
                • LG Nexus 4 E960
                • LG Nexus 5
                • LG Optimus 2X *
                • LG Optimus 4X HD P880
                • LG Optimus G Pro E985 *
                • LG Optimus L3 E400
                • LG Optimus L3 II E430
                • LG Optimus L5 E610 *
                • Motorola Defy
                • Motorola Moto E *
                • Motorola Moto G *
                • Motorola Moto X *
                • Motorola RAZR *
                • Motorola RAZR HD *
                • Motorola RAZR i
                • Motorola RAZR MAXX *
                • Nokia X *
                • Samsung Galaxy Ace 2 I8160
                • Samsung Galaxy Ace S5830
                • Samsung Galaxy Core Plus *
                • Samsung Galaxy Grand I9082L *
                • Samsung Galaxy Nexus
                • Samsung Galaxy Note 10.1 N8000
                • Samsung Galaxy Note 3
                • Samsung Galaxy Note 2 N7100
                • Samsung Galaxy Note N7000
                • Samsung Galaxy Note Pro 12.2 *
                • Samsung Galaxy Pocket S5300
                • Samsung Galaxy S Duos S7562 *
                • Samsung Galaxy S2 4G I9100M *
                • Samsung Galaxy S5 *
                • Samsung Galaxy Star S5280 *
                • Samsung Galaxy Tab 10.1 P7510
                • Samsung Galaxy Tab 2 10.1 P5100
                • Samsung Galaxy Tab 2 10.1 P5110
                • Samsung Galaxy Tab 2 7.0
                • Samsung Galaxy Tab 3 10.1 P5210 *
                • Samsung Galaxy Tab Pro 10.1 *
                • Samsung Galaxy Trend Lite
                • Samsung Galaxy Trend S7560 *
                • Samsung Galaxy Y Duos S6102
                • Samsung Galaxy Y S5363
                • Samsung Google Nexus 10 P8110 *
                • Samsung Galaxy Spica
                • Samsung Galaxy S3 Mini I8190
                • Samsung Galaxy S I9000
                • Samsung Galaxy S Plus I9001
                • Samsung Galaxy S Advance I9070
                • Samsung Galaxy S2 I9100
                • Samsung Galaxy S2 I9100G
                • Samsung Galaxy S2 Plus I9105
                • Samsung Galaxy S4 Mini I9190
                • Samsung Galaxy S3 I9300
                • Samsung Galaxy S4 I9505
                • Samsung Galaxy Xcover 2 S7710 *
                • Sony Ericsson Xperia X8
                • Sony Xperia E *
                • Sony Xperia ion HSPA *
                • Sony Xperia S
                • Sony Xperia SP
                • Sony Xperia T *
                • Sony Xperia Z
                • Sony Xperia Z Ultra *
                • Sony Xperia Z1 *
                • Sony Xperia Z1 Compact *
                • Sony Xperia Z2 *
                • Sony Xperia Z2 Tablet WiFi *

                • LG Nexus 4 L Preview [Emulator] *

        หมายเหตุ - เครื่องหมายดอกจันทร์ต่อท้ายคือเครื่องที่เพิ่มเข้ามาใหม่


        Automated Test เป็นส่วนที่ให้ผู้ใช้สามารถใส่รูปแบบการทดสอบได้ด้วยตนเอง ซึ่งรองรับ Robotium ซะด้วย (ถ้าไม่รู้จักก็ไป Google หาดูเองนะ) หรือจะสร้างจาก Test Object เลยก็ได้เช่นกัน ซึ่งในส่วนนี้จะไม่อธิบายละเอียดมากนัก เพราะยัง Beta อยู่ เผื่อมีการเปลี่ยนแปลงบางอย่าง



        Issue เป็นรายการปัญหาต่างๆที่เกิดขึ้นในแอปพลิเคชัน ซึ่งเจ้าของบล็อกก็ไม่ขออธิบายอะไรมากละกัน เพราะยังไม่มีปัญหาอะไรเป็นตัวอย่างให้ทดสอบดู = =a



        สำหรับรายละเอียดเพิ่มเติมในการใช้งาน Test Object ก็ให้ลองกด Help แล้วอ่านใน Docs ดูเอานะ เพราะรายละเอียดมีค่อนข้างเยอะมาก




        ทิ้งท้าย - ราคาค่าบริการรายเดือนสำหรับใช้งาน Test Object


        จะเห็นว่าแบบ Free จะไม่มีให้ใช้งาน Real Device รายเดือน เพราะว่า 30 นาทีที่ได้มานั้นเป็นเสมือน Trial นั่นเอง! เพราะฉะนั้นใช้ให้คุ้มล่ะ!!!




เหล่าพันธมิตรแอนดรอยด์

Devahoy Layer Net NuuNeoI The Cheese Factory Somkiat CC Mart Routine Artit-K Arnondora Kamonway Try to be android developer Oatrice Benz Nest Studios Kotchaphan@Medium Jirawatee@Medium Travispea@Medium