ما هو اختبار الإجهاد في اختبار البرمجيات؟
اختبار الإجهاد
اختبار الإجهاد هو نوع من اختبارات البرمجيات التي تتحقق من استقرار وموثوقية تطبيق البرمجيات. والهدف من اختبار الإجهاد هو قياس قوة البرمجيات وقدرتها على معالجة الأخطاء في ظل ظروف تحميل ثقيلة للغاية والتأكد من عدم تعطل البرمجيات في حالات الأزمات. كما يختبر حتى نقاط التشغيل الطبيعية ويقيم كيفية عمل البرمجيات في ظل ظروف قاسية.
في هندسة البرمجيات، يُعرف اختبار الإجهاد أيضًا باسم اختبار التحمل. تحت اختبار الإجهاد، يتم الضغط على AUT لفترة قصيرة من الوقت لمعرفة قدرتها على التحمل. الاستخدام الأبرز يتمثل أحد اختبارات التحمل في تحديد الحد الذي يتعطل عنده النظام أو البرنامج أو الجهاز. كما أنه يتحقق مما إذا كان النظام يُظهر إدارة فعالة للأخطاء في ظل الظروف القاسية.
سيتم التأكيد على التطبيق قيد الاختبار عند نسخ بيانات بحجم 5 جيجابايت من موقع الويب ولصقها في المفكرة. المفكرة تحت الضغط وتعطي رسالة الخطأ "لم يتم الرد".
الحاجة إلى اختبار الإجهاد
فكر في الأمثلة التالية في الوقت الفعلي حيث يمكننا اكتشاف استخدام اختبار الإجهاد-
- خلال فترة المهرجان، قد يشهد موقع التسوق عبر الإنترنت ارتفاعًا كبيرًا في حركة المرور، أو عندما يعلن عن تخفيضات.
- عندما يتم ذكر مدونة في إحدى الصحف الرائدة، فإنها تواجه زيادة مفاجئة في عدد الزيارات.
من الضروري إجراء اختبار الإجهاد لاستيعاب مثل هذه الزيادات غير الطبيعية في حركة المرور. قد يؤدي الفشل في استيعاب هذه الحركة المفاجئة إلى خسارة الإيرادات والسمعة.
يعد اختبار الإجهاد أيضًا قيمًا للغاية للأسباب التالية:
- للتحقق مما إذا كان النظام يعمل في ظل ظروف غير طبيعية.
- عرض رسالة الخطأ المناسبة عندما يكون النظام تحت الضغط.
- قد يؤدي فشل النظام في ظل الظروف القاسية إلى خسارة هائلة في الإيرادات
- من الأفضل أن تكون مستعدًا للظروف القاسية عن طريق إجراء اختبار الإجهاد.
أهداف اختبار الإجهاد
الهدف من اختبار التحمل هو تحليل سلوك النظام بعد الفشل. لكي ينجح اختبار التحمل، يجب أن يعرض النظام رسالة خطأ مناسبة أثناء وجوده في ظروف قاسية.
لإجراء اختبار الإجهاد، في بعض الأحيان، يمكن استخدام مجموعات ضخمة من البيانات والتي قد تضيع أثناء اختبار الإجهاد. يجب ألا يفقد القائمون على الاختبار هذه البيانات المتعلقة بالأمان أثناء إجراء اختبار التحمل.
الغرض الرئيسي من اختبار التحمل هو التأكد من تعافي النظام بعد الفشل وهو ما يسمى باسم الاسترداد.
اختبار الحمل مقابل اختبار الإجهاد
| اختبار الحمل | اختبار الإجهاد |
|---|---|
| اختبار الحمل هو اختبار سلوك النظام في ظل ظروف عبء العمل العادية، وهو مجرد اختبار أو محاكاة لعبء العمل الفعلي | اختبار الإجهاد هو اختبار سلوك النظام في ظل الظروف القاسية ويتم إجراؤه حتى فشل النظام. |
| اختبار التحميل لا يكسر النظام | يحاول اختبار التحمل كسر النظام عن طريق الاختبار باستخدام بيانات أو موارد هائلة. |
أنواع اختبارات الإجهاد
وفيما يلي أنواع اختبارات الإجهاد ويتم شرحها على النحو التالي:
اختبار الإجهاد الموزع:
في أنظمة خادم العميل الموزعة، يتم إجراء الاختبار عبر جميع العملاء من الخادم. يتمثل دور خادم الضغط في توزيع مجموعة من اختبارات التحمل على جميع عملاء الضغط وتتبع حالة العميل. بعد أن يتصل العميل بالخادم، يضيف الخادم اسم العميل ويبدأ في إرسال البيانات للاختبار.
وفي الوقت نفسه، ترسل الأجهزة العميلة إشارة أو نبضات تشير إلى أنها متصلة بالخادم. إذا لم يتلق الخادم أي إشارات من جهاز العميل، فيجب إجراء المزيد من البحث لتصحيح الأخطاء. من الشكل، يمكن للخادم الاتصال بالعميلين (Client2 وClient1)، لكن لا يمكنه إرسال أو استقبال إشارة من العميلين 2 و3.
يعد الجري الليلي هو الخيار الأفضل لتشغيل سيناريوهات اختبار التحمل هذه. تحتاج مزارع الخوادم الكبيرة إلى طريقة أكثر فعالية لتحديد أجهزة الكمبيوتر التي تعرضت لحالات فشل الإجهاد التي تحتاج إلى التحقيق فيها.
اختبار الإجهاد التطبيقي:
يركز هذا الاختبار على اكتشاف العيوب المتعلقة بقفل البيانات وحظرها ومشكلات الشبكة واختناقات الأداء في التطبيق.
اختبار الإجهاد المعاملات:
يقوم بإجراء اختبار التحمل على معاملة واحدة أو أكثر بين تطبيقين أو أكثر. يتم استخدامه لضبط وتحسين النظام.
اختبار الإجهاد النظامي:
هذا هو اختبار التحمل المتكامل الذي يمكن اختباره عبر أنظمة متعددة تعمل على نفس الخادم. يتم استخدامه للعثور على العيوب حيث تقوم بيانات تطبيق ما بحظر تطبيق آخر.
اختبار الإجهاد الاستكشافي:
هذا هو أحد أنواع اختبارات التحمل التي يتم استخدامها لاختبار النظام بمعلمات أو ظروف غير عادية من غير المرجح أن تحدث في سيناريو حقيقي. يتم استخدامه للعثور على العيوب في سيناريوهات غير متوقعة مثل
- قام عدد كبير من المستخدمين بتسجيل الدخول في نفس الوقت
- إذا تم تشغيل برنامج فحص الفيروسات في جميع الأجهزة في نفس الوقت
- إذا أصبحت قاعدة البيانات غير متصلة بالإنترنت عند الوصول إليها من موقع ويب،
- عندما يتم إدخال كمية كبيرة من البيانات إلى قاعدة البيانات في وقت واحد
كيفية القيام باختبار الإجهاد؟
يمكن إجراء عملية اختبار الإجهاد في 5 خطوات رئيسية:
الخطوة 1) التخطيط لاختبار الإجهاد: هنا تقوم بجمع بيانات النظام وتحليل النظام وتحديد أهداف اختبار التحمل
الخطوة 2) إنشاء البرامج النصية للأتمتة: في هذه المرحلة، يمكنك إنشاء البرامج النصية لأتمتة اختبار الإجهاد، وإنشاء بيانات الاختبار لسيناريوهات الإجهاد.
الخطوة 3) تنفيذ البرنامج النصي: في هذه المرحلة، تقوم بتشغيل البرامج النصية لأتمتة اختبار الإجهاد وتخزين نتائج الضغط.
الخطوة 4) تحليل النتائج: في هذه المرحلة، تقوم بتحليل نتائج اختبار الإجهاد وتحديد الاختناقات.
الخطوة 5) التغيير والتبديل: في هذه المرحلة، يمكنك ضبط النظام وتغيير التكوينات وتحسين التعليمات البرمجية بهدف تلبية المعيار المطلوب.
وأخيرًا، قم بتشغيل الدورة بأكملها مرة أخرى لتحديد ما إذا كانت التعديلات قد حققت النتائج المرجوة. على سبيل المثال، ليس من غير المعتاد إجراء 3 إلى 4 دورات من عملية اختبار التحمل لتحقيق أهداف الأداء
الأدوات الموصى بها لاختبار الإجهاد
بي.
تعتبر أداة LoadRunner من HP أداة لاختبار الحمل مستخدمة على نطاق واسع. تعتبر نتائج اختبار التحميل التي تم تشكيلها بواسطة Loadrunner بمثابة معيار.
جيميتر
Jmeter هي أداة اختبار مفتوحة المصدر. وهي عبارة عن أداة اختبار Java تطبيق للإجهاد و اختبار أداءتم تصميم Jmeter لتغطية أنواع الاختبارات مثل الحمل والوظائف والإجهاد وما إلى ذلك. ويحتاج إلى JDK 5 أو أعلى ليعمل.
اختبار الإجهاد
توفر هذه الأداة تحليلًا شاملاً لأداء تطبيق الويب، وتوفر النتائج بتنسيق رسومي، كما أنها سهلة الاستخدام للغاية. ليست هناك حاجة إلى برمجة نصية عالية المستوى وتعطي عائدًا جيدًا على الاستثمار.
Neo تحميل
هذه أداة شائعة متوفرة في السوق لاختبار الويب و الهاتف التطبيقات. يمكن لهذه الأداة محاكاة آلاف المستخدمين من أجل تقييم أداء التطبيق تحت التحميل وتحليل أوقات الاستجابة. كما أنه يدعم السحابة المتكاملة – اختبار الأداء والتحميل والضغط. إنه سهل الاستخدام وفعال من حيث التكلفة ويوفر قابلية جيدة للتوسع.
مقاييس اختبار الإجهاد
تساعد المقاييس في تقييم أداء النظام ويتم دراستها بشكل عام في نهاية اختبار الإجهاد. المقاييس شائعة الاستخدام هي -
قياس قابلية التوسع والأداء
- عدد الصفحات في الثانية: يقيس عدد الصفحات المطلوبة في الثانية
- الإنتاجية: المقياس الأساسي - حجم بيانات الاستجابة / الثانية
- الجولات: عدد المرات التي تم فيها تخطيط سيناريوهات الاختبار مقابل عدد المرات التي نفذ فيها العميل
استجابة التطبيق
- وقت الإصابة: متوسط الوقت اللازم لاسترداد صورة أو صفحة
- الوقت المستغرق حتى البايت الأول: الوقت المستغرق لإرجاع البايت الأول من البيانات أو المعلومات
- وقت الصفحة: الوقت المستغرق لاسترداد جميع المعلومات الموجودة في الصفحة
الفشل
- الاتصالات الفاشلة: عدد الاتصالات الفاشلة التي رفضها العميل (ضعيف Signal)
- الجولات الفاشلة: عدد الجولات التي تم فشلها
- النتائج الفاشلة: عدد المحاولات الفاشلة التي قام بها النظام (الروابط المعطلة أو الصور غير المرئية)
خاتمة
الهدف من اختبار الإجهاد هو فحص النظام في ظل الظروف القاسية. فهو يراقب موارد النظام مثل الذاكرة والمعالج والشبكة وما إلى ذلك، ويتحقق من قدرة النظام على العودة إلى حالته الطبيعية. فهو يتحقق مما إذا كان النظام يعرض رسائل الخطأ المناسبة أثناء الضغط عليه.
مثال على اختبار الإجهاد
- يعلن موقع التجارة الإلكترونية عن تخفيضات المهرجان
- موقع إخباري في وقت بعض الأحداث الكبرى
- موقع نتائج مجلس التعليم
- مواقع التواصل الاجتماعي أو المدونات والتطبيقات وما إلى ذلك

.png)
.png)

