การทดสอบปริมาตรคืออะไร? เรียนรู้ด้วยตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

การทดสอบปริมาณ (Volume Testing) คือการทดสอบแอปพลิเคชันด้วยข้อมูลจำนวนมหาศาล เพื่อดูว่าการจัดเก็บข้อมูล การสืบค้นข้อมูล และเวลาตอบสนองทำงานอย่างไรเมื่อฐานข้อมูลมีขนาดใหญ่ขึ้น เรียกอีกอย่างว่าการทดสอบน้ำท่วม (Flood Testing) และเป็นการปรับขนาดตามปริมาณข้อมูล ไม่ใช่จำนวนผู้ใช้งาน

  • 💾 คำจำกัดความหลัก: ปริมาณข้อมูลเพิ่มขึ้น ในขณะที่จำนวนผู้ใช้งานยังคงอยู่ในระดับปกติ
  • 🔍 การตรวจสอบเบื้องต้น: การสูญหายของข้อมูล การเขียนทับโดยไม่แจ้งให้ทราบ ความถูกต้องในการจัดเก็บ และเวลาตอบสนองภายใต้ชุดข้อมูลขนาดใหญ่
  • 📈 จุดเสื่อมสภาพ: การทดสอบนี้จะระบุปริมาตรที่ความเสถียรและประสิทธิภาพเริ่มลดลง
  • 🇧🇷 ไม่ใช่การทดสอบโหลด: ปริมาณการวัดจะวัดจำนวนแถวและขนาดไฟล์ ส่วนการโหลดจะวัดจำนวนผู้ใช้งานพร้อมกัน ซึ่งทั้งสองวิธีพบข้อบกพร่องที่แตกต่างกัน
  • 🧪 ความสมจริงของข้อมูล: ข้อมูลที่สร้างขึ้นต้องเคารพคีย์และความสมบูรณ์ของความสัมพันธ์ ซึ่งเป็นส่วนที่ยากที่สุดของการทดสอบ
  • ???? กรณีธุรกิจ: ข้อจำกัดด้านกำลังการผลิตที่พบก่อนการวางจำหน่าย มีต้นทุนเพียงเศษเสี้ยวของข้อจำกัดเดียวกันที่พบระหว่างการใช้งานจริง

การทดสอบปริมาณ (Volume Testing) คืออะไร

การทดสอบปริมาตรคืออะไร?

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

ด้วยความช่วยเหลือของการทดสอบปริมาณ คุณสามารถศึกษาผลกระทบต่อเวลาตอบสนองและพฤติกรรมของระบบได้เมื่อสัมผัสกับข้อมูลปริมาณมาก

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

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

ประโยชน์ของการทดสอบปริมาตร

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

เหตุใดจึงต้องทำการทดสอบปริมาณ (Volume Testing)?

วัตถุประสงค์ของการดำเนินการทดสอบปริมาตรคือ

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

วิธีทำการทดสอบปริมาตร

ในการทดสอบปริมาตร จำเป็นต้องทดสอบสิ่งต่อไปนี้

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

แนวปฏิบัติที่ดีที่สุดสำหรับการทดสอบปริมาณมาก

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

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

การทดสอบปริมาตรเทียบกับการทดสอบโหลด

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

ความท้าทายในการทดสอบปริมาตร

  • การกระจายตัวของหน่วยความจำสร้างได้ยาก
  • การสร้างคีย์แบบไดนามิก
  • เชิงสัมพันธ์ Integrity ของข้อมูลที่สร้างขึ้น

การทดสอบนี้แตกต่างจากการทดสอบประสิทธิภาพอื่นๆ อย่างไร

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

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

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

วิธีการสร้างข้อมูลทดสอบสำหรับการทดสอบปริมาณ (Volume Testing)

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

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

ไม่ว่าคุณจะเลือกเส้นทางใดก็ตาม คุณสมบัติสามประการต้องเป็นจริง มิฉะนั้นการทดสอบจะไม่สามารถวัดผลได้อย่างมีประโยชน์

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

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

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

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

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

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

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

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

สรุปโพสต์นี้ด้วย: