testing_635x320
ทางทีมพัฒนา Mobile application ของ Groupon
ได้เขียนอธิบายเรื่อง Automated App Performance Testing… Monkeys Not Included
สิ่งที่น่าสนใจคือ แนวคิดในการทำ performance testing
สำหรับ Mobile application นั่นเอง
ดังนั้น จึงนำมาสรุป ดังนี้

ก่อนอื่นคุณต้องรู้ตัวเองก่อนว่า จะวัดอะไรบ้าง ?

นั่นคือ ต้องเริ่มด้วยการกำหนด metric ต่างๆ ขึ้นมาก่อนเสมอ เช่น
ถ้าต้องการวัด startup time ของระบบ จะต้องใช้เวลานานเท่าไร
ที่ผู้ใช้งานจะเห็นข้อมูลในหน้าแรกของระบบ
หรือในแต่ละหน้าจะต้องแสดงข้อมูลในเวลาเท่าไร
ให้ทำการกำหนด metric ที่สอดคล้องกับระบบงานได้นะ
ไม่ใช่ไปเอาข้อมูลจากระบบอื่นๆ ที่แตกต่างมาเทียบเคียง

โดยค่า metric ต่างๆ นั้น มันจะช่วยให้ทีมพัฒนา
รู้ว่ามีเป้าหมายในการวัด และ optimize อย่างไรนั่นเอง

จากนั้น คุณวัดประสิทธิภาพตาม metric ต่างๆ ของระบบได้อย่างไร
เช่นการนำ logging ต่างๆ มาวิเคราะห์
ปัจจุบันมีระบบช่วยวิเคราะห์ไหม ?
หรือเปิด log ขึ้นมาวิเคราะห์แบบ manual กันเอง !!
ถ้าไม่มีระบบช่วยวิเคราะห์การวัดผล ให้เริ่มทำเถอะครับ

รวมถึงจะต้องระบุจุดที่ต้องการวัดให้ชัดเจนอีกด้วย
ซึ่งแน่นอนว่า ต้องเพิ่มเข้าไปใน code ด้วย

มาดูขั้นตอนการทำ performance testing กัน ว่าเป็นอย่างไร ?

หลังจากที่กำหนด metric และ วิธีการวัดผล เรียบร้อยแล้ว
มาเริ่มกันเลยดีกว่า

ขั้นตอนที่ 1 ทำการติดตั้ง และ setup ต่างๆ ให้เรียบร้อย
เป็นสถานะเริ่มต้นของการทดสอบระบบ

ขั้นตอนที่ 2 เริ่มต้นเปิดใช้งานระบบ

ขั้นตอนที่ 3 ทำการรอดูผลการทำงาน
เช่น การ load ข้อมูล และ การแสดงผล ว่าถูกต้องหรือไม่ ?

ขั้นตอนที่ 4 ให้ปิดระบบไป
เพื่อดูว่าระบบปิดได้อย่างสมบูรณ์หรือไม่
เช่นในการปิดระบบ ต้อง clear caching data ไปหรือไม่

ในรอบแรกของการทดสอบ จะเป็นแบบ manual test แบบปกติก่อน
ถ้าทุกอย่างทำงานถูกต้อง ตามที่คาดหวัง

ให้เริ่มขั้นตอนที่ 5 ด้วยการทำ performance testing
ด้วยจำนวนรอบในการทดสอบ และ เวลาในการทดสอบ
ซึ่งเริ่มตั้งแต่ขั้นที่ 2 ใหม่
เมื่อทดสอบเสร็จแล้วให้ไปยังขึ้นตอนถัดไป

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

ขั้นตอนที่ 7 ทำการสร้างกราฟ เพื่อใช้ในการสรุป และ วิเคราะห์
ผลการทดสอบทุกอย่าง ควรสามารถแสดงในรูปแบบของกราฟได้เสมอ
เพื่อทำให้ทุกคนเข้าใจตรงกัน ดังรูป
Screen-Shot-2015-06-01-at-4.25.32-PM

ข้อคิดสะกิดในจาก Groupon

ในการทำ performance testing บน Mobile application มีข้อแนะนำดังนี้

  • ให้ทำการทดสอบบน real device และ ทดสอบได้ซ้ำๆ เท่าที่ต้องการ
  • ควรกำหนด metric สำหรับการทดสอบที่ดี ตรงนี้ได้มาจากการเรียนรู้ และ ลงมือทำ
  • เรื่องค่าใช้จ่ายก็ต้องสนใจเช่นกัน คงไม่มีใครมาลงทุนกับ manual testing มากนักหรอกนะ เพราะว่ามันมีค่าใช้จ่ายที่สูง

ปัจจุบัน

คุณทำทดสอบ mobile application กันอย่างไร Manual หรือ Automated testing ?
คุณทำ performance testing บน mobile application หรือไม่ ?