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

การทดสอบการกู้คืน

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

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

เมื่อแอพพลิเคชั่นได้รับข้อมูลจากเครือข่าย ให้ถอดสายเชื่อมต่อออก

การทดสอบการกู้คืน

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

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

เวลาที่ใช้ในการฟื้นตัวขึ้นอยู่กับ:

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

เมื่อมีความล้มเหลวหลายครั้ง แทนที่จะดูแลความล้มเหลวทั้งหมด การทดสอบการกู้คืนควรทำในรูปแบบที่มีโครงสร้าง ซึ่งหมายความว่าการทดสอบการกู้คืนควรทำสำหรับส่วนหนึ่งและอีกส่วนหนึ่ง

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

วงจรชีวิตของกระบวนการกู้คืน

วงจรชีวิตของกระบวนการฟื้นฟูสามารถแบ่งออกเป็น 5 ขั้นตอนดังต่อไปนี้:

  1. ดำเนินการตามปกติ
  2. การเกิดภัยพิบัติ
  3. การหยุดชะงักและล้มเหลวของการดำเนินงาน
  4. การกวาดล้างภัยพิบัติผ่านกระบวนการฟื้นฟู
  5. การปรับโครงสร้างกระบวนการและข้อมูลทั้งหมดเพื่อให้ระบบทั้งหมดดำเนินไปตามปกติ

กระบวนการกู้คืน

เรามาหารือเกี่ยวกับ 5 ขั้นตอนเหล่านี้โดยละเอียด-

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

กลยุทธ์การฟื้นฟู

ทีมกู้คืนควรมีกลยุทธ์เฉพาะตัวในการกู้รหัสและข้อมูลที่สำคัญเพื่อให้การทำงานของหน่วยงานกลับคืนสู่ภาวะปกติ

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

กลยุทธ์ที่เป็นไปได้สำหรับระบบที่สำคัญสามารถมองเห็นได้ดังนี้:

  1. ให้มีการสำรองข้อมูลเดียวหรือมากกว่าหนึ่ง
  2. หากต้องการสำรองข้อมูลหลายรายการในที่เดียวหรือต่างกัน
  3. หากต้องการสำรองข้อมูลออนไลน์หรือสำรองข้อมูลออฟไลน์
  4. การสำรองข้อมูลสามารถทำได้โดยอัตโนมัติตามนโยบายหรือด้วยตนเองหรือไม่
  5. เพื่อให้มีทีมงานบูรณะหรือทีมพัฒนาอิสระสามารถนำไปใช้ในการทำงานได้

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

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

วิธีทำการทดสอบการกู้คืน

ขณะดำเนินการทดสอบการกู้คืน ควรพิจารณาสิ่งต่อไปนี้

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

ขั้นตอนการทดสอบหลังการบูรณะ

องค์กรขนาดใหญ่ส่วนใหญ่มีผู้ตรวจสอบอิสระเพื่อทำการทดสอบการฟื้นตัวเป็นระยะ

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

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

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

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

สรุป

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