Spike Testing ในการทดสอบซอฟต์แวร์คืออะไร? เรียนรู้ด้วยตัวอย่าง

Spike Test คืออะไร?

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

การทดสอบ Spike ดำเนินการเพื่อประเมินจุดอ่อนของแอปพลิเคชันซอฟต์แวร์

การทดสอบขัดขวาง
การทดสอบขัดขวาง

เป้าหมายของการทดสอบ Spike

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

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

วิธีทำการทดสอบ Spike

ขั้นตอนง่ายๆ ในการดำเนินการทดสอบ Spike:

ขั้นตอนที่ 1) กำหนดความสามารถในการรับน้ำหนัก

กำหนดความสามารถในการโหลดผู้ใช้สูงสุดของแอปพลิเคชันซอฟต์แวร์ของคุณ

ขั้นตอนที่ 2) เตรียมสภาพแวดล้อมการทดสอบ

เตรียมสภาพแวดล้อมการทดสอบและกำหนดค่าให้บันทึกพารามิเตอร์ประสิทธิภาพ

ขั้นตอนที่ 3) กำหนดโหลดที่คาดหวัง

ใช้โหลดสูงสุดที่คาดหวังกับแอปพลิเคชันซอฟต์แวร์ของคุณโดยใช้ เครื่องมือทดสอบประสิทธิภาพ ที่คุณเลือก

ขั้นตอนที่ 4) เพิ่มภาระ

เพิ่มภาระให้กับระบบอย่างรวดเร็วตามระยะเวลาที่กำหนด

ขั้นตอนที่ 5) ตั้งค่าโหลดกลับเป็นปกติ

ค่อยๆ ลดภาระกลับสู่ระดับเดิม

ขั้นตอนที่ 6) วิเคราะห์ผลลัพธ์

วิเคราะห์กราฟประสิทธิภาพและตัวชี้วัด เช่น ความล้มเหลว เวลาที่ใช้ ผู้ใช้เสมือน ฯลฯ

ตัวอย่างสถานการณ์การทดสอบ Spike

  • เมื่อร้านค้าอีคอมเมิร์ซเปิดตัวข้อเสนอพิเศษพร้อมส่วนลดมากมายเช่น Black Friday
  • เมื่อเว็บแอพพลิเคชั่นถ่ายทอดสดรายการทีวีสุดโปรด
  • เมื่อมีการลดราคาแฟลชบนเว็บไซต์ดีลรายวัน
  • เมื่อเนื้อหาบางส่วนของไซต์แพร่ระบาดทางอินเทอร์เน็ต
  • ระบบใหม่ได้รับการเผยแพร่สำหรับการผลิต และผู้ใช้หลายคนต้องการเข้าถึงระบบ
  • ไฟฟ้าดับอาจทำให้ผู้ใช้ทั้งหมดสูญเสียการเข้าถึงระบบ หลังจากปัญหาไฟฟ้าดับได้รับการแก้ไขแล้ว ผู้ใช้ทั้งหมดจะเข้าสู่ระบบอีกครั้งพร้อมกัน

สถานการณ์การกู้คืนบน Spike Loads

สถานการณ์การกู้คืนหลักสามสถานการณ์ที่สามารถกำหนดค่าเพื่อป้องกัน Spikes ได้แก่:

  1. ใช้แพลตฟอร์มคลาวด์เช่น AWS, Azure เพื่อเพิ่มความจุของเซิร์ฟเวอร์แบบไดนามิกตามโหลดของผู้ใช้
  2. ไม่อนุญาตให้ผู้ใช้บางรายเข้าถึงแอปพลิเคชัน เพื่อให้ระบบไม่ต้องเผชิญกับภาระหนัก วิธีนี้จะป้องกันไม่ให้บุคคลที่อยู่เหนือน้ำหนักบรรทุกสูงสุดที่ออกแบบไว้เข้าสู่ระบบ จึงช่วยปกป้องระบบจากการคุกคามของโหลดที่มากเกินไป
  3. ผู้ดูแลเว็บไซต์อนุญาตให้ผู้ใช้เข้าร่วมระบบได้ อย่างไรก็ตาม พร้อมเตือนว่าอาจเผชิญการตอบสนองช้าเนื่องจากมีภาระหนัก ซึ่งอาจส่งผลเสียต่อประสิทธิภาพของระบบ อย่างไรก็ตามผู้ใช้จะสามารถทำงานร่วมกับระบบได้

ข้อดีและข้อเสียของการทดสอบ Spike

ด้านล่างนี้คือข้อดีและข้อเสียของ Spike Testing:

ข้อดี ข้อเสีย
ต้องรักษาประสิทธิภาพของซอฟต์แวร์ไม่ว่าจะต้องเสียค่าใช้จ่ายใดก็ตาม อย่างไรก็ตาม เมื่อมีภาระงานของระบบใดๆ เพิ่มขึ้นอย่างมาก ก็มีโอกาสเกิดปัญหาสูง Spike Testing ช่วยทดสอบสถานการณ์ดังกล่าว ข้อเสียอย่างเดียวของ Spike Testing คือเป็นกระบวนการทดสอบที่มีราคาแพง ดังนั้นจึงจำเป็นต้องมีการตั้งค่าเงื่อนไขการทดสอบพิเศษ อย่างไรก็ตาม หากใช้เวลานานกว่านี้ จะทำให้ ROI เป็นบวกอย่างแน่นอน
ในวิธีการทดสอบมาตรฐาน สถานการณ์เลวร้ายถึงกรณีที่เลวร้ายที่สุดอาจไม่ได้รับการแก้ไข อย่างไรก็ตาม การเพิกเฉยไม่ได้หมายความว่าจะไม่เกิดขึ้น ดังนั้นซอฟต์แวร์ทุกตัวควรพร้อมสำหรับความเป็นไปได้ดังกล่าว สถานการณ์กรณีที่เลวร้ายที่สุดประการหนึ่งคือการโหลดซึ่งสามารถตัดสินและย่อให้เล็กสุดได้ด้วยความช่วยเหลือของการทดสอบขัดขวาง  

เครื่องมือทดสอบสไปค์

1) JMeter

เค้ก Apache JMeter เป็นเครื่องมือทดสอบขัดขวางโอเพ่นซอร์สของ Java ออกแบบมาเป็นพิเศษเพื่อโหลดพฤติกรรมการทดสอบการทำงานและวัดประสิทธิภาพ เครื่องมือทดสอบประสิทธิภาพนี้สามารถใช้เพื่อวิเคราะห์และวัดประสิทธิภาพของเว็บแอปพลิเคชันหรือบริการที่หลากหลาย ปัจจุบันมีการใช้กันอย่างแพร่หลายสำหรับการทดสอบการทำงาน การทดสอบเซิร์ฟเวอร์ฐานข้อมูล

2) โหลดรันเนอร์

LoadRunner เป็นเครื่องมือทดสอบโหลดสำหรับ Windows และ Linux ซึ่งช่วยให้การทดสอบเว็บและแอปอื่น ๆ พุ่งสูงขึ้น ช่วยในการกำหนดประสิทธิภาพและผลลัพธ์ของการใช้งานแม้ภายใต้ภาระงานหนัก

สรุป

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