ในปัจจุบัน ระบบซอฟต์แวร์ส่วนใหญ่มีการสื่อสารผ่าน Application Programming Interface (API) ไม่ว่าจะเป็น Web Application, Mobile Application, Microservices, IoT, Cloud Services หรือระบบที่เชื่อมต่อกับบริการของบุคคลที่สาม (Third-party Services) ดังนั้น ประสิทธิภาพของ API จึงเป็นปัจจัยสำคัญที่ส่งผลโดยตรงต่อประสบการณ์ของผู้ใช้งานโดยตรง รวามไปถึงความเสถียรของระบบหลัก และ ระบบที่อาจจะเชื่อมไปหาลูกค้าอื่นด้วย
Load Testing คืออะไร
Load Testing คือกระบวนการทดสอบประสิทธิภาพของระบบโดยการจำลองผู้ใช้งานหรือคำขอ (Requests) จำนวนมากในเวลาเดียวกัน เพื่อประเมินว่าระบบสามารถรองรับปริมาณงานตามที่ออกแบบไว้ได้หรือไม่ รวมถึงวัดความเร็วในการตอบสนอง ความเสถียร และการใช้ทรัพยากรของระบบภายใต้ภาระงานจริง ซึ่งเมื่อเราทราบความสามารถในการรองรับผู้ใช้งานแล้ว ก็ย่อมเป็นการยืนยันเบื่องต้น เพื่อให้ตรงกับการออกแบบไว้ตั้งแต่ต้น
นอกจากนั้นแล้ว การทดสอบ Load Test ยังจะมีส่วนในการใช้เพื่อนำไปเปรียบเทียบ หรือ ปรับแต่งระบบป้องกันชั้นอื่นที่อาจจะนำมาใช้ร่วมกันเช่น Cloudflare
การทดสอบ Performance Testing และ Load Testing ที่ได้รับความนิยมสูง โดยเฉพาะกับ REST API, Web Application และ Microservices ในปัจจุบันอาจจะถูกเขียน Test Script ด้วยภาษา Scala หรือ Java/Kotlin และใช้ asynchronous I/O ทำให้จำลองผู้ใช้งานจำนวนมากได้โดยใช้ทรัพยากรเครื่องไม่มาก
สิ่งที่นิยมทดสอบมีดังนี้
1. Load Testing
คือการจำลองผู้ใช้งานจำนวนมากพร้อมกัน เพื่อดูว่าระบบของท่านยังตอบสนองได้ดีหรือไม่
ตัวอย่างเช่น
ผลลัพธ์ที่ได้มาคือ
2. Stress Testing หรือการทดสอบความเค้นของระบบ
สำหรับ Stress Test นั้นหมายถึงการเพิ่มจำนวนผู้ใช้จนกว่าระบบจะเริ่มทำงานผิดปกติ หรือ อาจจะเรียกได้ว่าการเพิ่มจำนวนผู้ใช้ขึ้นเรื่อยๆ ตามขั้นบันได
ตัวอย่างเช่น การเริ่มด้วยจำนวนผู้ใช้เริ่มต้น 100 Users, 500 Users,1,000 Users, 2,000 Users และ 5,000 Users หลังจากนั้นติดตามผลว่า
3. Spike Testing
คือทดสอบการเพิ่มจำนวนผู้ใช้แบบฉับพลัน เช่น จาก 10 Users กระโดดเป็น 5,000 Users ภายใน 5 วินาที วิธีการทดสอบรูปแบบนี้จะเหมาะกับ Flash Sale,เปิดลงทะเบียน,E-Auction

4. Endurance (Soak) Testing
ทดสอบการทำงานต่อเนื่องเป็นเวลานาน เช่น 500 Users ไปเรื่อยๆ ในเวลาที่กำหนดเช่น 24 ชั่วโมง หลังจากนั้นดูว่า
5. Capacity Testing
หาจำนวนผู้ใช้สูงสุดที่ระบบรองรับ เช่น 500,1000,1500,2000 จน Response Time เกิน SLA หรือเกินค่าที่กำหนด
ชนิด API Performance Testing ที่สามารถทดสอบได้
ตัวอย่าง URL ที่ถูกทดสอบ
Authentication Testing
รองรับ
การรายงานผล (Reports)
สร้างรายงาน HTML แบบ Interactive โดยอัตโนมัติ แสดงข้อมูลสำคัญ เช่น
ไม่ว่า API ของท่านจะเป็นแบบใด ติดตามสอบถาม บริการทดสอบ Performance & Load Testing ได้จากเรา Line OA : @avesta.co.th หรืออีเมล์ [email protected]