บทความนี้เรามาเจาะลึกการทดสอบ Performance Test ประเภทต่างๆ โดยผมจะขอเน้นถึงความแตกต่างที่สำคัญๆ และเป็นรูปแบบที่เราใช้งานกันบ่อยๆนะครับ เช่น Load Testing, Stress Testing, Endurance / Soak Testing และ Spike Testing

ก่อนอื่นเลยเราต้องเข้าใจก่อนว่า Performance Testing จะเป็นการทดสอบที่จัดอยู่ในกลุ่ม non-functional testing หรือ การทดสอบที่ไม่เกี่ยวข้องกับฟังก์ชันการทำงานของระบบ (คนละแบบกับ functional testing) แต่เป็นการทดสอบที่มุ่งเน้นไปที่คุณสมบัติอื่น ๆ ที่ไม่เกี่ยวข้องกับการทำงานโดยตรงนั่นเอง

Load Testing

เพื่อวัดประสิทธิภาพและความเสถียรของระบบภายใต้การใช้งานปกติ และการใช้งานในปริมาณมากๆ

มาตรวัดหลักๆคือ Response Time, Throughput และ การใช้ทรัพยากร

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

Endurance / Soak Testing

เพื่อวัดประสิทธิภาพและความเสถียรของระบบภายใต้การใช้งานปกติ ในระยะเวลาที่ยาวนานภายใต้การใช้งานต่อเนื่อง

มาตรวัดหลักๆคือ ความเสถียรของระบบ, การลดลงของประสิทธิภาพ และ การใช้ทรัพยากร

หลักการการทดสอบ จะทำการจำลองการใช้งานที่โหลดปกติ เป็นระยะเวลาที่ยาวนานเพื่อดูว่ามีปัญหาที่เกิดขึ้นจากการใช้งานต่อเนื่องหรือไม่ เช่น Memory Leak หรือ ประสิทธิภาพการทำงานที่ลดลง

Stress Testing

เพื่อหาจุดที่ระบบเริ่มล้มเหลว หรือทำงานไม่เสถียรภายใต้การใช้งานที่หนักเกินกว่าปกติ

มาตรวัดหลักๆคือ จุดที่ระบบเริ่มล้มเหลว (Break Point) และการ Recovery

หลักการการทดสอบ จะทำการจำลองการด้วยการเพิ่มโหลดที่สูงขึ้นเรื่อย ๆ จนกว่าระบบจะล้มเหลวหรือทำงานไม่เสถียร เพื่อดูว่าระบบจะรองรับได้สูงสุดที่เท่าไร

Spike Testing

เพื่อประเมินความสามารถของระบบในการรองรับการเพิ่มขึ้นอย่างเฉียบพลัน เช่น การจัด Friday Sale, ลดราคาแค่ช่วงเที่ยงคืน ต่างๆ

มาตรวัดหลักๆคือ Response Time, Stability และการจัดการกับข้อผิดพลาดที่เกิดขึ้น

หลักการการทดสอบ จะทำการจำลองการเพิ่มขึ้นของการใช้งานอย่างรวดเร็วในระยะเวลาสั้น ๆ แล้วกลับสู่ภาวะปกติ

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

JMeter - Performance Test

เรียนรู้การทดสอบ Performance ทั้ง Web และ API ด้วย JMeter

Previous articleลองใช้งาน JMeter ยิง Load Test
Next articlePlaywright จัดการเวลาของ Browser ด้วย Clock API