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

เป้าหมายของการทดสอบ Spike
เป้าหมายของการทดสอบ Spike คือการดูว่าระบบตอบสนองต่อการเพิ่มขึ้นและลดลงของโหลดของผู้ใช้โดยไม่คาดคิดอย่างไร ในการทดสอบ Spike ของวิศวกรรมซอฟต์แวร์จะช่วยระบุประสิทธิภาพของระบบจะลดลงเมื่อมีโหลดสูงอย่างกะทันหัน
เป้าหมายอีกประการหนึ่งของ Spike Testing คือการกำหนดเวลาในการฟื้นตัว ระหว่างการโหลดผู้ใช้ที่เพิ่มขึ้นอย่างรวดเร็วติดต่อกันสองครั้ง ระบบต้องใช้เวลาพอสมควรเพื่อรักษาเสถียรภาพ เวลาในการฟื้นตัวนี้ควรต่ำที่สุดเท่าที่จะเป็นไปได้
วิธีทำการทดสอบ Spike
ขั้นตอนง่ายๆ ในการดำเนินการทดสอบ Spike:
ขั้นตอนที่ 1) กำหนดความสามารถในการรับน้ำหนัก
กำหนดความสามารถในการโหลดผู้ใช้สูงสุดของแอปพลิเคชันซอฟต์แวร์ของคุณ
ขั้นตอนที่ 2) เตรียมสภาพแวดล้อมการทดสอบ
เตรียมสภาพแวดล้อมการทดสอบและกำหนดค่าให้บันทึกพารามิเตอร์ประสิทธิภาพ
ขั้นตอนที่ 3) กำหนดโหลดที่คาดหวัง
ใช้โหลดสูงสุดที่คาดหวังกับแอปพลิเคชันซอฟต์แวร์ของคุณโดยใช้ เครื่องมือทดสอบประสิทธิภาพ ที่คุณเลือก
ขั้นตอนที่ 4) เพิ่มภาระ
เพิ่มภาระให้กับระบบอย่างรวดเร็วตามระยะเวลาที่กำหนด
ขั้นตอนที่ 5) ตั้งค่าโหลดกลับเป็นปกติ
ค่อยๆ ลดภาระกลับสู่ระดับเดิม
ขั้นตอนที่ 6) วิเคราะห์ผลลัพธ์
วิเคราะห์กราฟประสิทธิภาพและตัวชี้วัด เช่น ความล้มเหลว เวลาที่ใช้ ผู้ใช้เสมือน ฯลฯ
ตัวอย่างสถานการณ์การทดสอบ Spike
- เมื่อร้านค้าอีคอมเมิร์ซเปิดตัวข้อเสนอพิเศษพร้อมส่วนลดมากมายเช่น Black Friday
- เมื่อเว็บแอพพลิเคชั่นถ่ายทอดสดรายการทีวีสุดโปรด
- เมื่อมีการลดราคาแฟลชบนเว็บไซต์ดีลรายวัน
- เมื่อเนื้อหาบางส่วนของไซต์แพร่ระบาดทางอินเทอร์เน็ต
- ระบบใหม่ได้รับการเผยแพร่สำหรับการผลิต และผู้ใช้หลายคนต้องการเข้าถึงระบบ
- ไฟฟ้าดับอาจทำให้ผู้ใช้ทั้งหมดสูญเสียการเข้าถึงระบบ หลังจากปัญหาไฟฟ้าดับได้รับการแก้ไขแล้ว ผู้ใช้ทั้งหมดจะเข้าสู่ระบบอีกครั้งพร้อมกัน
สถานการณ์การกู้คืนบน Spike Loads
สถานการณ์การกู้คืนหลักสามสถานการณ์ที่สามารถกำหนดค่าเพื่อป้องกัน Spikes ได้แก่:
- ใช้แพลตฟอร์มคลาวด์เช่น AWS, Azure เพื่อเพิ่มความจุของเซิร์ฟเวอร์แบบไดนามิกตามโหลดของผู้ใช้
- ไม่อนุญาตให้ผู้ใช้บางรายเข้าถึงแอปพลิเคชัน เพื่อให้ระบบไม่ต้องเผชิญกับภาระหนัก วิธีนี้จะป้องกันไม่ให้บุคคลที่อยู่เหนือน้ำหนักบรรทุกสูงสุดที่ออกแบบไว้เข้าสู่ระบบ จึงช่วยปกป้องระบบจากการคุกคามของโหลดที่มากเกินไป
- ผู้ดูแลเว็บไซต์อนุญาตให้ผู้ใช้เข้าร่วมระบบได้ อย่างไรก็ตาม พร้อมเตือนว่าอาจเผชิญการตอบสนองช้าเนื่องจากมีภาระหนัก ซึ่งอาจส่งผลเสียต่อประสิทธิภาพของระบบ อย่างไรก็ตามผู้ใช้จะสามารถทำงานร่วมกับระบบได้
ข้อดีและข้อเสียของการทดสอบ Spike
ด้านล่างนี้คือข้อดีและข้อเสียของ Spike Testing:
ข้อดี | ข้อเสีย |
---|---|
ต้องรักษาประสิทธิภาพของซอฟต์แวร์ไม่ว่าจะต้องเสียค่าใช้จ่ายใดก็ตาม อย่างไรก็ตาม เมื่อมีภาระงานของระบบใดๆ เพิ่มขึ้นอย่างมาก ก็มีโอกาสเกิดปัญหาสูง Spike Testing ช่วยทดสอบสถานการณ์ดังกล่าว | ข้อเสียอย่างเดียวของ Spike Testing คือเป็นกระบวนการทดสอบที่มีราคาแพง ดังนั้นจึงจำเป็นต้องมีการตั้งค่าเงื่อนไขการทดสอบพิเศษ อย่างไรก็ตาม หากใช้เวลานานกว่านี้ จะทำให้ ROI เป็นบวกอย่างแน่นอน |
ในวิธีการทดสอบมาตรฐาน สถานการณ์เลวร้ายถึงกรณีที่เลวร้ายที่สุดอาจไม่ได้รับการแก้ไข อย่างไรก็ตาม การเพิกเฉยไม่ได้หมายความว่าจะไม่เกิดขึ้น ดังนั้นซอฟต์แวร์ทุกตัวควรพร้อมสำหรับความเป็นไปได้ดังกล่าว สถานการณ์กรณีที่เลวร้ายที่สุดประการหนึ่งคือการโหลดซึ่งสามารถตัดสินและย่อให้เล็กสุดได้ด้วยความช่วยเหลือของการทดสอบขัดขวาง |
เครื่องมือทดสอบสไปค์
1) JMeter
เค้ก Apache JMeter เป็นเครื่องมือทดสอบขัดขวางโอเพ่นซอร์สของ Java ออกแบบมาเป็นพิเศษเพื่อโหลดพฤติกรรมการทดสอบการทำงานและวัดประสิทธิภาพ เครื่องมือทดสอบประสิทธิภาพนี้สามารถใช้เพื่อวิเคราะห์และวัดประสิทธิภาพของเว็บแอปพลิเคชันหรือบริการที่หลากหลาย ปัจจุบันมีการใช้กันอย่างแพร่หลายสำหรับการทดสอบการทำงาน การทดสอบเซิร์ฟเวอร์ฐานข้อมูล
2) โหลดรันเนอร์
LoadRunner เป็นเครื่องมือทดสอบโหลดสำหรับ Windows และ Linux ซึ่งช่วยให้การทดสอบเว็บและแอปอื่น ๆ พุ่งสูงขึ้น ช่วยในการกำหนดประสิทธิภาพและผลลัพธ์ของการใช้งานแม้ภายใต้ภาระงานหนัก
สรุป
- การทดสอบซอฟต์แวร์ เป็นการทดสอบซอฟต์แวร์ประเภทหนึ่งซึ่งมีการทดสอบแอปพลิเคชันซอฟต์แวร์โดยมีปริมาณการรับส่งข้อมูลเพิ่มขึ้นและลดลงอย่างมาก
- วิธีที่ถูกต้องในการทดสอบการขัดขวางคือการเพิ่มจำนวนผู้ใช้โดยไม่คาดคิด ตามมาด้วยภาระงานลดลงทันที
- การโหลดที่ไม่คาดคิดคือคุณลักษณะหลักของข้อตกลง
- ตัวอย่างของสถานการณ์การทดสอบ Spike ในชีวิตจริงคือ เมื่อร้านค้าอีคอมเมิร์ซเปิดตัวข้อเสนอพิเศษพร้อมส่วนลดมากมาย เช่น Black Friday หรืออีกทางหนึ่งเมื่อเว็บแอปพลิเคชันสตรีมรายการทีวีโปรดแบบสด
- JMeter เป็นเครื่องมือที่มีประโยชน์อย่างหนึ่งในการทำการทดสอบขัดขวาง