การทดสอบซอฟต์แวร์

การทดสอบการปรับขนาดสำหรับผู้เริ่มต้น

30 ตุลาคม 2564

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

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

ตัวอย่าง: สมมติว่าการทดสอบความสามารถในการปรับขยายได้กำหนดโหลดสูงสุดที่ผู้ใช้ 10,000 คน จากนั้นจึงทำให้ระบบสามารถปรับขนาดได้ ในกรณีดังกล่าว นักพัฒนาจำเป็นต้องลดเวลาตอบสนองหลังจากผู้ใช้ถึงขีดจำกัด 10,000 ราย หรือเพิ่มขนาด RAM เพื่อรองรับข้อมูลผู้ใช้ที่กำลังเติบโต

สารบัญ

ข้อกำหนดเบื้องต้นสำหรับการทดสอบความสามารถในการปรับขนาด

    ความสามารถในการกระจายโหลด-ตรวจสอบว่าเครื่องมือทดสอบโหลดต้องใช้เครื่องจักรหลายเครื่องในการผลิตและจัดการจากจุดศูนย์กลางหรือไม่ระบบปฏิบัติการ-ตรวจสอบตัวแทนการสร้างโหลดและหลักการทดสอบโหลดที่ทำงานภายใต้ระบบปฏิบัติการใดโปรเซสเซอร์-ตรวจสอบตัวแทนผู้ใช้เสมือนและโหลดต้นแบบการทดสอบว่าต้องการ CPU ประเภทใดหน่วยความจำ-ตรวจสอบจำนวนหน่วยความจำสำหรับ Virtual User Agent และ Load Test Master จะเพียงพอ

ขั้นตอนในการเริ่มการทดสอบความสามารถในการปรับขนาด

  1. กำหนดกระบวนการที่ทำซ้ำได้สำหรับดำเนินการทดสอบ scalability
  2. ตอนนี้กำหนดเกณฑ์สำหรับการขยายขนาด
  3. ตอนนี้เลือกเครื่องมือซอฟต์แวร์ที่จำเป็นสำหรับการทดสอบ
  4. ตั้งค่าสภาพแวดล้อมและกำหนดค่าฮาร์ดแวร์ที่จำเป็นสำหรับการทดสอบ
  5. วางแผนการทดสอบและการทดสอบความสามารถในการปรับขนาด
  6. สร้างและตรวจสอบสคริปต์ภาพ
  7. สร้างและสาธิตสถานการณ์การทดสอบโหลด
  8. ดำเนินการทดสอบ
  9. ประเมินผล
  10. สร้างรายงานที่จำเป็น

เคล็ดลับในการปรับปรุงความสามารถในการปรับขนาด

  1. ออฟโหลดฐานข้อมูลโดยการจำกัดการทำธุรกรรม อย่างไรก็ตาม อย่าไปลงน้ำ โหลดทุกอย่างลงในเลเยอร์แอป คุณอาจประสบปัญหาด้านประสิทธิภาพอื่นๆ
  2. เปลี่ยนตัวแปรทีละตัว การดำเนินการนี้ใช้เวลานาน แต่การเปลี่ยนแปลงพร้อมกันมากเกินไปอาจทำให้ประสิทธิภาพของแอปพลิเคชันของคุณแย่ลง
  3. รีเซ็ตทุกอย่างก่อนทำการทดสอบเพื่อให้แน่ใจว่าการทดสอบไม่ส่งผลต่อการทดสอบปัจจุบันของคุณ ขอแนะนำให้รีสตาร์ทระบบซอฟต์แวร์ทั้งหมด แต่คุณสามารถปล่อยให้ฮาร์ดแวร์ทำงานต่อไปได้
  4. แคชสามารถช่วยอย่างมากในการถ่ายทรัพยากร พิจารณาใช้ CDN เพื่อช่วยแบ่งเบาภาระของเซิร์ฟเวอร์ต้นทางและวางลงบนเซิร์ฟเวอร์ของ CDN เพื่อประสิทธิภาพที่รวดเร็วยิ่งขึ้น
  5. ไม่จำเป็นต้องเก็บข้อมูลถาวรในฐานข้อมูล จัดเก็บเฉพาะข้อมูลที่จำเป็นซึ่งจะช่วยปรับปรุงธุรกิจหรือแอปพลิเคชันของคุณ
  6. การแบ่งกระบวนการออกเป็นขั้นตอนและแยกออกเป็นคิวเพื่อให้ดำเนินการโดยผู้ปฏิบัติงานจำนวนน้อยที่สุดสามารถเพิ่มประสิทธิภาพให้คุณได้
  7. ทำให้ขั้นตอนการทดสอบเป็นแบบอัตโนมัติ ด้วยวิธีนี้ คุณสามารถใช้เวลาทำงานวิเคราะห์การทดสอบที่ดำเนินการในช่วงนอกเวลาทำการได้ ระบบอัตโนมัติช่วยให้แน่ใจว่าทำการทดสอบและทดสอบซ้ำอย่างสม่ำเสมอด้วยการตั้งค่าเดียวกัน
  8. จำกัดการเข้าถึงทรัพยากร หากคุณมีคำขอหลายรายการสำหรับความช่วยเหลือเดียวกันที่ทำการคำนวณแบบเดียวกัน ให้แต่ละคำขอเสร็จสิ้นก่อนเริ่ม มิฉะนั้น กระบวนการจะช้าลง
  9. การสื่อสารผ่านเครือข่ายใช้เวลานานกว่าการสื่อสารในหน่วยความจำ ซึ่งจำกัดการพูดคุยระหว่างแอปพลิเคชันและเครือข่ายของคุณ

ข้อดี

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

ข้อเสีย

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

แอตทริบิวต์การทดสอบความยืดหยุ่น

    ปริมาณงาน

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

    การใช้ความจำ

การใช้หน่วยความจำยังได้รับการทดสอบเพื่อให้ได้ผลลัพธ์ที่ดีที่สุดของการใช้หน่วยความจำสำหรับแอปพลิเคชัน สำหรับการใช้หน่วยความจำน้อยลง โปรแกรมเมอร์ควรปฏิบัติตามแนวทางปฏิบัติที่ดี เช่น ใช้การวนซ้ำที่ซ้ำซ้อนน้อยลง ลดจำนวนการเข้าถึงฐานข้อมูล จัดการการตรวจสอบแบบเต็มที่ฝั่งไคลเอ็นต์เท่านั้น เป็นต้น แอปพลิเคชันมักมีหน่วยความจำไม่เพียงพอเนื่องจากหน่วยความจำขนาดใหญ่ จำนวนคำขอ ดังนั้นนักพัฒนาจึงควรเก็บฐานข้อมูลเพิ่มเติมไว้เสมอเพื่อจัดการกับสถานการณ์ดังกล่าว

    การใช้งานซีพียู

มีการทดสอบเพื่อตรวจสอบ CPU ที่ใช้ในการดำเนินงานในแอปพลิเคชัน การใช้งาน CPU วัดเป็นเมกะเฮิรตซ์ สำหรับปริมาณงานที่มากขึ้นและการใช้งาน CPU น้อยลง โค้ดของแอปพลิเคชันใดๆ ที่เขียนในภาษาการเขียนโปรแกรมใดๆ ควรได้รับการปรับให้เหมาะสมอย่างเหมาะสม

    การใช้งานเครือข่าย

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

    เวลาตอบสนอง

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

แผนทดสอบความสามารถในการปรับขนาด

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

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

เครื่องมือทดสอบความยืดหยุ่นที่ดีที่สุด

น้ำท่วมโลก

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

คุณสมบัติ

  • การจำลอง ไม่ใช่การจำลอง
  • ความสามารถที่กว้างขวาง
  • การเข้ารหัส

ราคา

คุณต้องติดต่อผู้ขายเพื่อขอราคา

โหลดอิมแพค

Load Impact เป็นระบบทดสอบบนคลาวด์เพื่อสร้างเว็บไซต์ แอปพลิเคชันมือถือ และ API โดยทำการทดสอบประสิทธิภาพหลายชุดที่บ่งบอกถึงความทนทานต่อความเครียดของระบบของคุณ

คุณสมบัติ

  • ความเป็นไปได้ในการเพิ่ม IP พิเศษ
  • การทดสอบ API
  • สคริปต์อัตโนมัติและขั้นสูง
  • การจำลองเบราว์เซอร์
  • การทดสอบมือถือ

ราคา

    ขั้นพื้นฐาน- ต่อเดือนมาตรฐาน-$ 299 ต่อเดือนขั้นสูง-9 ต่อเดือนสำหรับ-99 ต่อเดือน

คำถามที่พบบ่อย

การทดสอบความยืดหยุ่นคืออะไร?

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

เหตุใดจึงต้องมีการทดสอบความสามารถในการปรับขนาด

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