Performance Test คืออะไร?
Performance Test คือการทดสอบซอฟต์แวร์หรือระบบ เพื่อประเมินความสามารถในการทำงานเมื่อมีภาระหรือโหลดต่างๆ เข้ามาในระบบ เช่น จำนวนผู้ใช้ที่เพิ่มขึ้น, ปริมาณข้อมูลที่ถูกประมวลผล หรือความซับซ้อนในการทำงานของระบบเหตุผลที่ต้องทำ Performance Test
วัดความเร็วของระบบ (Speed)ช่วยให้ทราบว่าระบบสามารถตอบสนองต่อการร้องขอ (request) ได้เร็วเพียงใดในสภาวะการใช้งานที่หลากหลาย ไม่ว่าจะเป็นเมื่อมีผู้ใช้จำนวนน้อยหรือมาก
ประเมินความเสถียร (Stability)ตรวจสอบว่าระบบสามารถทำงานได้ต่อเนื่องภายใต้การทำงานหนักหรือโหลดที่สูง เช่นในช่วงที่มีจำนวนผู้ใช้เพิ่มขึ้นอย่างมาก หรือในสถานการณ์ที่ต้องประมวลผลข้อมูลจำนวนมาก
ปรับปรุงประสิทธิภาพ (Optimization)ช่วยให้ระบุจุดอ่อนของระบบ เช่น API ที่ทำงานช้า หรือการใช้ทรัพยากรมากเกินไปในบางส่วน ซึ่งสามารถปรับปรุงได้เพื่อเพิ่มประสิทธิภาพ
เตรียมพร้อมสำหรับการใช้งานจริง (Real-World Readiness)การทดสอบช่วยให้เราทราบถึงการตอบสนองของระบบในสภาวะที่ใกล้เคียงกับการใช้งานจริง เพื่อให้มั่นใจว่าเมื่อปล่อยระบบให้ผู้ใช้ใช้งาน จะไม่เกิดปัญหาการโหลดเกิน หรือการทำงานช้าจนนำไปสู่ความล้มเหลว
รูปแบบการทำ Performance Test
การทดสอบโหลด (Load Testing)เป็นการจำลองภาระงานที่ใกล้เคียงกับการใช้งานจริง เพื่อดูว่าระบบสามารถทำงานภายใต้ภาระหนักได้ดีแค่ไหน ช่วยในการค้นหาคอขวด (bottleneck) และระบุจำนวนผู้ใช้หรือธุรกรรมสูงสุดที่ระบบสามารถรองรับได้ จุดประสงค์คือเพื่อค้นหาจุดที่ระบบเกิดปัญหาก่อนจะนำซอฟต์แวร์ออกสู่ตลาด
การทดสอบความเครียด (Stress Testing)เป็นการทดสอบโดยจำลองภาระงานที่สูงกว่าปกติ เพื่อดูว่าระบบสามารถรองรับการใช้งานหนักเกินขนาดได้หรือไม่ ช่วยในการค้นหาจุดที่ระบบเริ่มล้มเหลว (breaking point) และระบุปัญหาที่อาจเกิดขึ้นเมื่อระบบถูกใช้งานหนักมาก
การทดสอบการเกิดพุ่ง (Spike Testing)เป็นการทดสอบที่เน้นดูความสามารถของระบบในการรองรับการพุ่งขึ้นของการใช้งานแบบทันทีทันใด ช่วยค้นหาปัญหาที่อาจเกิดขึ้นเมื่อระบบถูกโจมตีด้วยจำนวนคำขอที่มากในเวลาเดียวกัน จุดประสงค์คือการดูว่าระบบจะตอบสนองต่อการเพิ่มขึ้นของภาระงานอย่างรวดเร็วได้อย่างไร
การทดสอบการรับภาระนาน (Soak Testing)เป็นการทดสอบที่จำลองภาระงานคงที่ในระยะเวลานาน เพื่อตรวจสอบว่าระบบสามารถรองรับการใช้งานต่อเนื่องได้โดยไม่เกิดปัญหา เช่น การเกิดหน่วยความจำรั่ว (memory leaks) หรือความเสถียรของระบบเมื่อใช้งานเป็นเวลานาน
การทดสอบความทนทาน (Endurance Testing)คล้ายกับ Soak Testing แต่เน้นที่การทดสอบระบบภายใต้การใช้งานในระยะยาวเพื่อตรวจสอบว่าระบบสามารถรองรับภาระงานในช่วงเวลายาวนานได้อย่างไร
การทดสอบปริมาณข้อมูล (Volume Testing)เป็นการทดสอบที่ใช้ข้อมูลปริมาณมากในฐานข้อมูลเพื่อดูการตอบสนองของระบบ จุดประสงค์คือเพื่อทดสอบว่าระบบสามารถทำงานได้ดีแค่ไหนเมื่อปริมาณข้อมูลในฐานข้อมูลมีการเปลี่ยนแปลง
การทดสอบการขยายตัว (Scalability Testing)ทดสอบความสามารถของซอฟต์แวร์ในการรองรับผู้ใช้หรือภาระงานที่เพิ่มขึ้น เพื่อดูว่าระบบสามารถขยายขนาดเพื่อรองรับการใช้งานที่เพิ่มขึ้นได้มากน้อยแค่ไหน ช่วยในการวางแผนการเพิ่มประสิทธิภาพในอนาคต
กระบวนการทำ Performance Testing อย่างง่าย
1. เตรียมสภาพแวดล้อมการทดสอบ (Set Up the Testing Environment)จัดเตรียมอุปกรณ์และซอฟต์แวร์ที่จำเป็นสำหรับการทดสอบ ทำให้แน่ใจว่าสภาพแวดล้อมพร้อมสำหรับการรันทดสอบ
2. ตัดสินใจว่าจะวัดอะไร (Decide What to Measure)กำหนดสิ่งที่ต้องการทดสอบ เช่น ความเร็วในการตอบสนองของระบบ หรือความสามารถในการรองรับโหลด เพื่อวางเป้าหมายที่ชัดเจน
3. วางแผนการทดสอบ (Plan Your Tests)คิดสถานการณ์ต่างๆ ที่ผู้ใช้อาจเจอ และสร้างการทดสอบให้ครอบคลุมสถานการณ์เหล่านั้น รวมถึงตัดสินใจว่าจะเก็บข้อมูลใดบ้าง
4. เตรียมเครื่องมือ (Set Up Your Tools)เตรียมเครื่องมือและวิธีการติดตามข้อมูลในระหว่างการทดสอบ
5. สร้างและรันทดสอบ (Create and Run Tests)สร้างการทดสอบตามแผนและรันทดสอบ พร้อมเก็บข้อมูลที่ได้จากการทดสอบ
6. วิเคราะห์ผลลัพธ์ (Look at the Results)ดูผลที่ได้จากการทดสอบ ปรับการทดสอบตามข้อมูลที่พบ แล้วทดสอบซ้ำเพื่อดูการเปลี่ยนแปลง
การใช้ Postman ทำ Performance Testing ด้วยตัวอย่าง API testing ของ postman
Download & Install postman [คลิก]หมายเหตุ ข้อจำกัดของ postman คือ run ได้ 25 ครั้ง/เดือน ในรูปแบบฟรี (22/03/2025)
การสร้าง Template สำหรับ Test จาก postman
- Step 1 - Login to postman
- Step 2 - เลือก Workspaces > กด create Workspace
- Step 3 - เลือก API testing > กด next
- Step 4 - ตั้งชื่อ Workspace > เลือก Only you and invited people > กด Create
- Complete
การ Run Performance Test
- Step 1 - เลือก Collection Performance Testing > กด View more actions > เลือก Run collection
- Step 2 - เลือก Performance
- Step 3 - ตั้งค่าการทดสอบ ประกอบไปด้วย
- Load Profile: ประเภทการทดสอบ
- Virtual users: จำลองจำนวนผู้ใช้งาน
- Test duration: ระยะเวลาที่ทำงานยิงทดสอบ
Postman จะทำการยิงทดสอบ Performance testing ตามการตั้งค่าของเรา
- Step 4 - ดูผลลัพธ์การทดสอบ ผลลัพธ์จะแสดงค่าต่อไปนี้
- Total requests sent: จำนวน request ทั้งหมดที่ระบบทดสอบยิงไปยัง API
- Requests/second: จำนวน request เฉลี่ยต่อวินาที
- Avg. response time: ระยะเวลาตอบกลับจาก API โดยเฉลี่ย
- P90: 90% ของคำขอมีความเร็วการตอบกลับมากกว่าค่าดังกล่าว
- P95: 95% ของคำขอมีความเร็วการตอบกลับมากกว่าค่าดังกล่าว
- P99: 99% ของคำขอมีความเร็วการตอบกลับมากกว่าค่าดังกล่าว
- Error rate: เปอร์เซ็นต์ที่ request แล้ว มีข้อผิดพลาด
ความคิดเห็น
แสดงความคิดเห็น