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

⚡ ملخص ذكي

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

  • نمط التحميل: ارتفاع حاد يفوق بكثير حركة المرور المعتادة، استمر لفترة وجيزة، ثم زال.
  • 🎯 الهدف الأساسي: حدد ما إذا كان النظام يفشل، وما إذا كان يفشل بشكل سلس.
  • 🔄 أهمية التعافي: إن العودة إلى أوقات الاستجابة الطبيعية بعد الارتفاع المفاجئ لا تقل أهمية عن النجاة منه.
  • 📈 محفزات واقعية: المبيعات السريعة، وإصدار التذاكر، وحركة المرور الفيروسية، ووظائف الدفعات المجدولة.
  • 🛠️ الأدوات: JMeter ويقوم كل من LoadRunner بنمذجة زيادة فورية بدلاً من زيادة تدريجية.
  • 📊 ماذا تريد ان تشاهد: معدل الخطأ، وعمق قائمة الانتظار، والوقت المستغرق للعودة إلى الوضع الأساسي.

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

ما هو اختبار سبايك؟

اختبار سبايك هو نوع من اختبارات البرامج التي يتم من خلالها اختبار تطبيق برمجي بزيادات وتناقصات كبيرة في حمل حركة المرور. الغرض الرئيسي من اختبار الارتفاع هو تقييم سلوك تطبيق البرنامج في ظل الزيادة أو النقصان المفاجئ في تحميل المستخدم وتحديد وقت الاسترداد بعد الارتفاع المفاجئ في تحميل المستخدم.

يتم إجراء اختبار Spike لتقدير نقاط الضعف في التطبيقات البرمجية.

اختبار سبايك
اختبار سبايك

أهداف اختبار الكشف عن السموم

الهدف من اختبار Spike هو معرفة كيفية استجابة النظام للارتفاع والانخفاض غير المتوقع في حمل المستخدم. في هندسة البرمجيات، يساعد اختبار Spike في تحديد أن أداء النظام سوف يتدهور عندما يكون هناك حمل مرتفع مفاجئ.

الهدف الآخر لاختبار Spike هو تحديد وقت الاسترداد. بين ارتفاعين متتاليين في تحميل المستخدم، يحتاج النظام إلى بعض الوقت حتى يستقر. يجب أن يكون وقت الاسترداد هذا منخفضًا قدر الإمكان.

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

فيما يلي الخطوات البسيطة لإجراء اختبار Spike:

الخطوة 1) تحديد سعة الحمولة

حدد الحد الأقصى لسعة تحميل المستخدم لتطبيقك البرمجي.

الخطوة 2) إعداد بيئة الاختبار

قم بإعداد بيئة الاختبار وتكوينها لتسجيل معلمات الأداء.

الخطوة 3) تحديد الحمل المتوقع

قم بتطبيق الحد الأقصى المتوقع للتحميل على تطبيق البرنامج الخاص بك باستخدام أداة اختبار الأداء من اختيارك.

الخطوة 4) زيادة الحمل

زيادة الحمل على النظام بسرعة لفترة محددة.

الخطوة 5) اضبط التحميل مرة أخرى على الوضع الطبيعي

قم بتقليل الحمل تدريجيًا إلى مستواه الأصلي.

الخطوة 6) تحليل النتائج

قم بتحليل الرسوم البيانية ومقاييس الأداء مثل حالات الفشل والوقت المستغرق والمستخدمين الظاهريين وما إلى ذلك.

أمثلة على سيناريوهات اختبار سبايك

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

سيناريوهات الاسترداد في حالة الأحمال المرتفعة

ثلاثة سيناريوهات استرداد رئيسية يمكن تهيئتها للحماية من المسامير هي:

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

مزايا وعيوب اختبار الكشف عن السموم

وفيما يلي مزايا وعيوب اختبار سبايك:

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

أدوات اختبار سبايك

1) JMeter

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

2) بي.

LoadRunner هي أداة لاختبار التحميل Windows وLinux، الذي يسمح بإجراء اختبار سريع للويب والتطبيقات الأخرى. فهو يساعد على تحديد أداء ونتيجة التطبيق حتى في ظل الحمل الثقيل.

كيف يتناسب هذا الاختبار مع عائلة اختبارات الأداء

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

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

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

المؤشرات الرئيسية التي يجب جمعها أثناء الاختبار

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

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

اقرأ المتوسط ​​والنسبة المئوية معًا. يُشير متوسط ​​800 مللي ثانية مع نسبة مئوية 95 تبلغ 900 مللي ثانية إلى نظام مستقر. أما المتوسط ​​نفسه مع نسبة مئوية 95 تبلغ 9 ثوانٍ فيعني أن مستخدمًا واحدًا من بين كل عشرين مستخدمًا يُعاني من مشاكل، وأن المتوسط ​​يُخفي هذه المشاكل.

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

اختبار التسمم: أهم النقاط

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

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

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

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

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

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

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

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