ما هو اختبار الاسترداد؟ مع المثال

⚡ ملخص ذكي

يتحقق اختبار الاسترداد من أن البرنامج يمكنه استئناف التشغيل الطبيعي بعد حدوث عطل أو انقطاع في الشبكة أو عطل في الأجهزة، وذلك عن طريق استعادة النظام إلى نقطة جيدة معروفة وإعادة معالجة المعاملات حتى لحظة العطل.

  • 🔁 ما يثبته: Operaتستمر العمليات بعد وقوع الكارثة، وليس مجرد وجود ملف احتياطي.
  • 🧩 مكان وجوده: تقنية غير فعالة، يتم تشغيلها بواسطة مختبرين مدربين على بيانات النسخ الاحتياطي المؤمنة.
  • ⏱️ عوامل تحديد وقت الاسترداد: نقاط إعادة التشغيل، وحجم البيانات، ومهارات وأدوات فريق الاستعادة.
  • 🔄 شكل العملية: التشغيل الطبيعي، الكارثة، الاضطراب، التعافي، ثم إعادة البناء إلى الوضع الطبيعي.
  • 💾 خيارات الاستراتيجية: نسخ احتياطية فردية أو متعددة، موقع واحد أو عدة مواقع، عبر الإنترنت أو دون اتصال، تلقائية أو يدوية.
  • ✅ بعد الاستعادة: قم بحساب عدد الملفات مقارنةً بالمجلد الأصلي، وافتح عدة أنواع، وقارن الدلائل باستخدام أدوات النظام.

ما هو اختبار الاسترداد في اختبار البرمجيات مع مثال؟

ما هو اختبار الاسترداد؟

اختبار الاسترداد اختبار الاستعادة هو أسلوب لاختبار البرمجيات يتحقق من قدرة البرنامج على التعافي من الأعطال، مثل تعطل البرامج أو الأجهزة أو انقطاع الشبكة. يهدف اختبار الاستعادة إلى تحديد إمكانية استمرار عمليات البرنامج بعد وقوع كارثة أو فقدان سلامة البيانات. يتضمن هذا الاختبار إعادة البرنامج إلى حالته الأصلية التي كانت فيها سلامة البيانات معروفة، وإعادة معالجة العمليات حتى نقطة العطل.

في هندسة البرمجيات، يُعد اختبار قابلية الاسترداد نوعًا من أنواع الاختبارات غير الوظيفية يشمل ذلك جوانب لا ترتبط بوظيفة محددة أو إجراء مستخدم معين، مثل قابلية التوسع أو الأمان. ويتم ذلك بواسطة مختبرين محترفين، ويتم الاحتفاظ ببيانات احتياطية كافية في مواقع آمنة مسبقًا.

مثال على اختبار الاسترداد

يُظهر سيناريوهان هذه التقنية في أبسط صورها. في كل سيناريو، يتم إحداث عطل عمداً، ثم تتم مراقبة التطبيق أثناء استئنافه.

  • انقطاع الشبكة: أثناء استقبال التطبيق للبيانات من الشبكة، افصل كابل التوصيل. بعد فترة، أعد توصيله وحلل قدرة التطبيق على استئناف استقبال البيانات من النقطة التي انقطع عندها الاتصال.
  • استعادة الجلسة: أعد تشغيل النظام بينما يكون لدى المتصفح عدد محدد من الجلسات المفتوحة، وتحقق مما إذا كان المتصفح يستعيدها جميعًا.

يوضح الرسم التوضيحي أدناه نفس الفكرة بشكل مرئي.

مفهوم اختبار الاستعادة الذي يوضح تعطل النظام ثم استعادته إلى التشغيل الطبيعي

الوقت المستغرق للتعافي يعتمد على:

  • عدد نقاط إعادة التشغيل
  • حجم البيانات التي يحتفظ بها التطبيق
  • التدريب ومهارات الأشخاص القائمين على أنشطة التعافي، والأدوات المتاحة للتعافي

عند حدوث عدة حالات فشل، يجب إجراء اختبار الاسترداد بطريقة منظمة بدلاً من إجرائه دفعة واحدة - يتم تنفيذه لجزء واحد ثم لجزء آخر.

دورة حياة عملية الاسترداد

قبل تصميم حالات الاختبار، من المفيد تحديد موضع تدخل اختبار الاسترداد. تتكون دورة حياة عملية الاسترداد من خمس خطوات:

  1. عملية عادية
  2. حدوث الكارثة
  3. تعطيل وفشل العملية
  4. إزالة الكوارث من خلال عملية التعافي
  5. إعادة بناء جميع العمليات والمعلومات، وإعادة النظام بأكمله إلى وضعه الطبيعي.

يوضح مخطط التدفق أدناه تلك المراحل الخمس بالتسلسل.

مخطط دورة حياة عملية التعافي الذي يغطي التشغيل العادي، والكوارث، والاضطرابات، والتعافي، وإعادة الإعمار

دعونا نناقش هذه الخطوات الخمس بالتفصيل:

  1. التشغيل العادي. نظام من الأجهزة والبرامج والبرامج الثابتة، متكامل لتحقيق هدف مشترك، يؤدي وظيفته المصممة دون انقطاع خلال فترة زمنية محددة.
  2. وقوع كارثة. قد يحدث انقطاع بسبب خلل في البرنامج، من أسباب مثل خلل ناتج عن الإدخال، أو عطل ناتج عن فشل في الأجهزة، أو تلف ناتج عن حريق أو سرقة أو إضراب.
  3. الاضطراب والفشل. هذه هي المرحلة الأكثر إيلاماً، إذ تؤدي إلى خسائر تجارية، وتدهور العلاقات، وضياع الفرص، وهدر ساعات العمل، وخسائر مالية وسمعية لا محالة. وتساهم خطة التعافي من الكوارث في تقليل هذه المرحلة إلى أدنى حد.
  4. إزالة آثار الكوارث. إذا كانت هناك خطة احتياطية وإجراءات لتخفيف المخاطر مُطبقة بالفعل، فإن تكاليف التعافي تقل بشكل كبير من حيث الوقت والجهد. كما أن وجود فريق مُخصص، مع تحديد دور كل فرد فيه مُسبقًا، يُحدد المسؤولية ويمنع حدوث فترة انقطاع طويلة.
  5. إعادة الإعمار. قد يتطلب ذلك عدة جلسات لإعادة بناء جميع المجلدات وملفات التكوين. يلزم توثيق مناسب وعملية إعادة بناء محددة لضمان الاستعادة الصحيحة.

استراتيجية الترميم

ينبغي أن يمتلك فريق الاستعادة استراتيجية خاصة به لاستعادة البيانات والبرمجيات المهمة لإعادة العمليات إلى وضعها الطبيعي. وتختلف هذه الاستراتيجية من مؤسسة لأخرى، بناءً على مدى أهمية الأنظمة التي تديرها، وبالنسبة للأنظمة الحيوية، فإنها تتلخص في مجموعة من الخيارات:

  1. نسخة احتياطية واحدة، أو أكثر من واحدة
  2. نسخ احتياطية متعددة في مكان واحد، أو في أماكن مختلفة
  3. النسخ الاحتياطي عبر الإنترنت، أو النسخ الاحتياطي دون اتصال بالإنترنت
  4. يتم تشغيل النسخ الاحتياطية تلقائيًا بموجب سياسة معينة، أو يتم تشغيلها يدويًا.
  5. فريق ترميم مستقل، أو فريق التطوير الذي يقوم بالعمل

لكل خيار تكلفة، وقد تستهلك النسخ الاحتياطية المتعددة موارد مادية أكبر أو تتطلب فريقًا مستقلاً. كما أن الاعتمادية مهمة أيضًا: فالشركات معرضة للخطر من خلال التعليمات البرمجية والبيانات التي تحتفظ بها لدى مزود واحد، وعلى نطاق واسع AWS تسببت الأعطال المتكررة في توقف خدمات استهلاكية معروفة عن العمل في نفس الوقت. وتُعدّ القدرة على استعادة الخدمة بشكل مستقل أمراً بالغ الأهمية في مثل هذه الحالات.

كيفية إجراء اختبار الاسترداد

بعد تحديد الاستراتيجية، يبرز السؤال التالي حول كيفية إعداد الاختبار نفسه. ينبغي مراعاة النقاط التالية عند إجراء اختبار الاسترداد.

  • قم بإنشاء بيئة اختبار قريبة قدر الإمكان من ظروف النشر الفعلية: يجب أن تتطابق واجهة الربط والبروتوكول والبرامج الثابتة والأجهزة والبرامج مع بيئة الإنتاج.
  • على الرغم من أن الاختبار الشامل قد يستغرق وقتاً طويلاً ومكلفاً، إلا أنه لا يزال ينبغي إجراء تكوين مطابق وفحص كامل.
  • إذا أمكن، قم بالاختبار على الجهاز الذي سيتم استعادة البيانات إليه في النهاية - خاصة عند الاستعادة إلى جهاز مختلف عن الجهاز الذي أنشأ النسخة الاحتياطية.
  • تتوقع بعض أنظمة النسخ الاحتياطي أن يكون حجم محرك الأقراص الثابتة بنفس حجم القرص الذي تم أخذ النسخة الاحتياطية منه.
  • إدارة التقادم: تتطور تقنية محركات الأقراص بسرعة، وقد لا يكون محرك الأقراص القديم متوافقًا مع محرك الأقراص الجديد. استعادة النظام إلى الجهاز الظاهري يساعد ذلك، حيث يمكن لبرامج المحاكاة الافتراضية محاكاة الأجهزة الموجودة، بما في ذلك أحجام الأقراص.
  • لا تُستثنى أنظمة النسخ الاحتياطي عبر الإنترنت من الاختبارات. فمعظم مزودي الخدمة يحمون المستخدمين من مشاكل الوسائط من خلال التخزين المقاوم للأعطال، لذا لا تظهر الأعطال إلا متأخراً.
  • على الرغم من أن أنظمة النسخ الاحتياطي عبر الإنترنت موثوقة للغاية، إلا أنه يجب اختبار جانب الاستعادة للتأكد من عدم وجود مشاكل في الاسترجاع أو الأمان أو التشفير.

ولأن عملية التعافي تتم بشكل كامل، فإن هذه الجولات عادة ما يتم جدولتها بالتزامن مع اختبار النظام بدلاً من مستوى الوحدة.

إجراءات الاختبار بعد الترميم

استعادة البيانات ليست سوى نصف العملية؛ إذ لا يزال يتعين إثبات صلاحية النسخة المستعادة للاستخدام. تُجري معظم الشركات الكبرى عمليات استعادة البيانات بشكل دوري من قِبل مدققين مستقلين. ونظرًا لتكلفة صيانة واختبار خطة شاملة لاستعادة البيانات بعد الكوارث، غالبًا ما تعتمد المؤسسات الصغيرة على النسخ الاحتياطية والتخزين الخارجي.

بعد استعادة المجلدات والملفات، تؤكد الفحوصات التالية أنها استُعيدت بشكل صحيح:

  • أعد تسمية مجلد المستندات التالفة حتى لا يتم الخلط بين النسخة المستعادة والمجلد التالف.
  • قم بحساب عدد الملفات في المجلدات المستعادة وقارن هذا العدد مع المجلد الأصلي.
  • افتح بعض الملفات باستخدام التطبيق الذي يستخدمها عادةً، وتأكد من إمكانية تصفح البيانات وتحديثها كالمعتاد.
  • افتح عدة ملفات من أنواع مختلفة - صور، MP3والوثائق، بعضها كبير وبعضها صغير.
  • استخدم أدوات مقارنة الملفات والمجلدات التي يستخدمها معظم الناس أنظمة التشغيل تزود.

الأسئلة الشائعة

يتحقق اختبار تجاوز الفشل من انتقال حركة البيانات بسلاسة إلى عقدة احتياطية. أما اختبار الاسترداد فيتجاوز ذلك، إذ يسأل عما إذا كانت الخدمة الأصلية وبياناتها ومعاملاتها الجارية قد عادت إلى حالتها الصحيحة.

RTO هو الوقت المسموح به لإعادة تشغيل الخدمة؛ وRPO هو الحد المسموح به لفقدان البيانات. يقيس اختبار الاستعادة كلا الأمرين: وقت الاستعادة لـ RTO، ومقارنة البيانات المستعادة بآخر حالة سليمة معروفة لـ RPO.

تتكرر ثلاثة أنواع: استعادة البيانات في حالات انقطاع الخدمة على مستوى الموقع، واستعادة قواعد البيانات في حالات تلف مخازن البيانات، واستعادة بيئة التشغيل في حالات تعطل التكوين أو التبعيات. يستخدم كل نوع نفس دورة الحياة مع اختلاف في آلية حدوث العطل.

تُصنّف نماذج التعلّم الآلي الخدمات حسب سجل الحوادث وعمق التبعية، بحيث تُنفّذ مسارات الاستعادة الأكثر خطورة أولاً. كما يكشف نظام الكشف عن الحالات الشاذة في سجلات الاستعادة عن عمليات الاستعادة التي انتهت ولكنها أنتجت بيانات غير مكتملة.

مساعد الطيار جيثب يُسهّل هذا البرنامج إنشاء أدوات مساعدة لحقن الأعطال، ونصوص استعادة النظام، وتأكيدات ما بعد الاستعادة بسرعة. مع ذلك، يظل للمختبِر الحق في تحديد نوع العطل الذي يجب فرضه، وكيف تبدو حالة الاستعادة الصحيحة، إذ يخضع كلاهما لقواعد العمل.

تُجرى التدريبات السنوية بشكل روتيني، بالإضافة إلى تدريبات ربع سنوية للأنظمة الحيوية. أي تغيير في أداة النسخ الاحتياطي أو منصة التخزين أو البنية التحتية يستدعي إعادة تشغيل النظام، لأن أي تغيير غير مُختَبَر يُبطل النتيجة السابقة دون علم المستخدم.

إنها تُجبر على حدوث إخفاقات حقيقية، لذا فهي تتداخل مع اختبار المدمرةلكن الهدف هو الاستعادة وليس التعطيل. قم بتشغيله في بيئة اختبار معزولة، وليس على بيانات الإنتاج الحقيقية.

سجّل وقت حدوث العطل، ووقتي البدء والانتهاء، ووقت الاستعادة المستهدف (RTO) ووقت الاستعادة المستهدف (RPO)، والخطوات التي تطلبت تدخلاً يدوياً، وكل اختلاف تم العثور عليه في البيانات المستعادة. أضف الإجراءات التصحيحية وتاريخ إعادة الاختبار.

تلخيص هذه التدوينة بـ: