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

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

30 ตุลาคม 2564

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

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

สารบัญ

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

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

ขั้นตอนการทดสอบความทนทาน

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

ตัวอย่างการทดสอบความทนทาน

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

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

ข้อดี

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

ข้อเสีย

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

สิ่งที่ต้องตรวจสอบในการทดสอบความทนทาน

    ทดสอบหน่วยความจำรั่ว– มีการตรวจสอบเพื่อตรวจสอบการรั่วไหลของหน่วยความจำในแอปพลิเคชันที่อาจทำให้ระบบหยุดทำงานหรือ O.S.ทดสอบการปิดการเชื่อมต่อระหว่างเลเยอร์ของระบบ– หากการเชื่อมต่อระหว่างชั้นของระบบไม่ปิด อาจทำให้โมดูลของระบบหยุดชะงักทดสอบการเชื่อมต่อฐานข้อมูล close– หากไม่ปิดการเชื่อมต่อฐานข้อมูล อาจทำให้ระบบล่มได้ทดสอบ เวลาตอบสนอง – ระบบจะทดสอบเวลาตอบสนองของระบบเนื่องจากแอปพลิเคชันมีประสิทธิภาพน้อยลง

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

Apache JMeter

JMeter เป็นเครื่องมือทดสอบการทำงานอัตโนมัติซึ่งทำการทดสอบโหลด ทดสอบการทำงาน ทดสอบการถดถอย บนเทคโนโลยีต่างๆ รองรับแอปพลิเคชัน โปรโตคอล และเซิร์ฟเวอร์ประเภทต่างๆ เช่น SOAP, TCP, FTP SOAP, LDAP MOM, เชลล์สคริปต์, โปรโตคอลเมล, Java วัตถุฐานข้อมูล

คุณสมบัติ

  • เป็นซอฟต์แวร์โอเพ่นซอร์ส
  • GUI แบบโต้ตอบและตรงไปตรงมา
  • มันยืดเยื้อมาก
  • แผนการทดสอบถูกจัดเก็บในรูปแบบ XML
  • เป็นแพลตฟอร์มที่ไม่ขึ้นกับ
  • เครื่องมืออัตโนมัติ API ที่ดีที่สุด

ราคา

ใช้งานได้ฟรี

LoadRunner

Loadrunner เป็นโซลูชันสำหรับการทดสอบประสิทธิภาพโดย Hewlett-Packard (HP) มันเป็นหนึ่งในเครื่องมืออัตโนมัติที่ดีที่สุดสำหรับการทดสอบประสิทธิภาพและมีส่วนแบ่งตลาดเกือบ 50 เปอร์เซ็นต์ Loadrunner จำลองผู้ใช้เสมือนหลายร้อยคนในแอปพลิเคชันของคุณ ตรวจสอบเมตริกประสิทธิภาพต่างๆ และแยกปัญหาคอขวดของไคลเอ็นต์และเซิร์ฟเวอร์อื่น

คุณสมบัติ

  • การทดสอบระบบคลาวด์
  • สาเหตุ การวิเคราะห์ .
  • รองรับแอพที่หลากหลาย
  • การทดสอบอย่างต่อเนื่อง
  • การทดสอบมือถือ
  • การจำลองธุรกรรมผู้ใช้แบบโต้ตอบ

ราคา

    ฉบับชุมชน-ฟรีวันผู้ใช้เสมือน-
    30 ตุลาคม 2564

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

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

    สารบัญ

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

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

    ขั้นตอนการทดสอบความทนทาน

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

    ตัวอย่างการทดสอบความทนทาน

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

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

    ข้อดี

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

    ข้อเสีย

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

    สิ่งที่ต้องตรวจสอบในการทดสอบความทนทาน

      ทดสอบหน่วยความจำรั่ว– มีการตรวจสอบเพื่อตรวจสอบการรั่วไหลของหน่วยความจำในแอปพลิเคชันที่อาจทำให้ระบบหยุดทำงานหรือ O.S.ทดสอบการปิดการเชื่อมต่อระหว่างเลเยอร์ของระบบ– หากการเชื่อมต่อระหว่างชั้นของระบบไม่ปิด อาจทำให้โมดูลของระบบหยุดชะงักทดสอบการเชื่อมต่อฐานข้อมูล close– หากไม่ปิดการเชื่อมต่อฐานข้อมูล อาจทำให้ระบบล่มได้ทดสอบ เวลาตอบสนอง – ระบบจะทดสอบเวลาตอบสนองของระบบเนื่องจากแอปพลิเคชันมีประสิทธิภาพน้อยลง

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

    Apache JMeter

    JMeter เป็นเครื่องมือทดสอบการทำงานอัตโนมัติซึ่งทำการทดสอบโหลด ทดสอบการทำงาน ทดสอบการถดถอย บนเทคโนโลยีต่างๆ รองรับแอปพลิเคชัน โปรโตคอล และเซิร์ฟเวอร์ประเภทต่างๆ เช่น SOAP, TCP, FTP SOAP, LDAP MOM, เชลล์สคริปต์, โปรโตคอลเมล, Java วัตถุฐานข้อมูล

    คุณสมบัติ

    • เป็นซอฟต์แวร์โอเพ่นซอร์ส
    • GUI แบบโต้ตอบและตรงไปตรงมา
    • มันยืดเยื้อมาก
    • แผนการทดสอบถูกจัดเก็บในรูปแบบ XML
    • เป็นแพลตฟอร์มที่ไม่ขึ้นกับ
    • เครื่องมืออัตโนมัติ API ที่ดีที่สุด

    ราคา

    ใช้งานได้ฟรี

    LoadRunner

    Loadrunner เป็นโซลูชันสำหรับการทดสอบประสิทธิภาพโดย Hewlett-Packard (HP) มันเป็นหนึ่งในเครื่องมืออัตโนมัติที่ดีที่สุดสำหรับการทดสอบประสิทธิภาพและมีส่วนแบ่งตลาดเกือบ 50 เปอร์เซ็นต์ Loadrunner จำลองผู้ใช้เสมือนหลายร้อยคนในแอปพลิเคชันของคุณ ตรวจสอบเมตริกประสิทธิภาพต่างๆ และแยกปัญหาคอขวดของไคลเอ็นต์และเซิร์ฟเวอร์อื่น

    คุณสมบัติ

    • การทดสอบระบบคลาวด์
    • สาเหตุ การวิเคราะห์ .
    • รองรับแอพที่หลากหลาย
    • การทดสอบอย่างต่อเนื่อง
    • การทดสอบมือถือ
    • การจำลองธุรกรรมผู้ใช้แบบโต้ตอบ

    ราคา

      ฉบับชุมชน-ฟรีวันผู้ใช้เสมือน-$0.56/วันผู้ใช้เสมือนรุ่นองค์กร-ติดต่อผู้ขาย
    .56/วันผู้ใช้เสมือนรุ่นองค์กร-ติดต่อผู้ขาย