اختبار قابلية التوسع
اختبار قابلية التوسع هو اختبار تطبيق برمجي لقياس قدرته على التوسع لأعلى أو للخارج من حيث أي من قدراته غير الوظيفية.
يقوم محللو جودة البرمجيات عادةً بتجميع اختبارات الأداء وقابلية التوسع والموثوقية معًا .
تتمثل الأهداف الرئيسية لاختبار قابلية التوسع في تحديد الحد الأقصى لعدد المستخدمين لتطبيق الويب، وضمان عدم تأثر تجربة المستخدم النهائي سلبًا تحت ضغط عالٍ. على سبيل المثال، التأكد من إمكانية الوصول إلى صفحة الويب في الوقت المناسب مع تأخير محدود في الاستجابة. هدف آخر هو التحقق من قدرة الخادم على التعامل مع الضغط، أي هل سيتعطل الخادم عند تعرضه لضغط كبير؟ [ 1 ]
تختلف المعايير التي يتم اختبارها باختلاف التطبيق قيد الاختبار. فإذا كان الاختبار على صفحة ويب، يتم اختبار أكبر عدد ممكن من المستخدمين المتزامنين. [ 2 ] كما تختلف السمات التي يتم اختبارها باختلاف التطبيق قيد الاختبار، وقد تشمل هذه السمات استخدام وحدة المعالجة المركزية ، أو استخدام الشبكة، أو تجربة المستخدم.
سيكشف الاختبار الناجح عن معظم المشكلات التي قد تكون مرتبطة بالشبكة أو قاعدة البيانات أو الأجهزة/البرامج. [ 3 ]
إنشاء اختبار قابلية التوسع
عند إنشاء تطبيق جديد، يصعب التنبؤ بدقة بعدد المستخدمين خلال سنة أو سنتين أو حتى خمس سنوات. ورغم إمكانية وضع تقدير تقريبي، إلا أنه ليس رقمًا نهائيًا. ومن المشاكل المصاحبة لزيادة عدد المستخدمين ظهور نقاط ضعف جديدة. فعلى سبيل المثال، إذا استقبلت 100,000 زائر جديد، فلن تقتصر المشكلة على الوصول إلى التطبيق فحسب، بل قد تواجه أيضًا مشاكل في قاعدة البيانات التي تُخزّن فيها بيانات هؤلاء العملاء الجدد. [ 4 ]
زيادة الأحمال
لهذا السبب، عند إنشاء اختبار قابلية التوسع، من المهم التوسع تدريجياً. ويمكن تقسيم هذه الخطوات إلى أحمال صغيرة ومتوسطة وعالية.
يجب علينا التوسع تدريجياً، حيث تختبر كل مرحلة جانباً مختلفاً. تضمن الأحمال الصغيرة عمل النظام كما ينبغي على المستوى الأساسي. وتختبر الأحمال المتوسطة قدرة النظام على العمل بالمستوى المتوقع. أما الأحمال العالية فتختبر قدرة النظام على التعامل مع الأحمال العالية. [ 5 ]
بيئة الاختبار
ينبغي أن تكون بيئة الاختبار ثابتة طوال فترة الاختبار لضمان الحصول على نتائج دقيقة وموثوقة. إذا نجح الاختبار، فمن المتوقع أن نلاحظ تغيراً متناسباً في الأداء. على سبيل المثال، إذا ضاعفنا عدد المستخدمين على النظام، فمن المتوقع أن نلاحظ انخفاضاً في الأداء بنسبة 50%. [ 6 ]
بدلاً من ذلك، إذا تم قياس إحصائيات النظام مثل استخدام الذاكرة أو وحدة المعالجة المركزية بمرور الوقت، فقد يكون لهذا رسم بياني مختلف غير متناسب حيث لا يتم رسم المستخدمين على أي من المحورين.
نتائج اختبار قابلية التوسع

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

في الشكل 2، نلاحظ زيادة أكثر تناسبًا عند مقارنة عدد المستخدمين بالوقت المستغرق لتنفيذ التقرير. فمع حمل منخفض يبلغ 20 مستخدمًا، يكون متوسط الوقت 5.5 ثانية، ومع زيادة الحمل إلى متوسط (40 مستخدمًا) وحمل عالٍ (60 مستخدمًا)، يرتفع متوسط الوقت إلى 9.5 و18 ثانية على التوالي. [ 6 ]
في بعض الحالات، قد يلزم إجراء تغييرات على برمجيات أو أجهزة الخادم. بعد إجراء التحديثات اللازمة، يجب إعادة تشغيل الاختبارات للتأكد من فعالية هذه التحديثات في معالجة المشكلات التي تم طرحها سابقًا. [ 8 ]
عندما نحصل على نتيجة متناسبة، لا توجد اختناقات عند توسيع نطاق النظام وزيادة الحمل الواقع عليه. [ 9 ]
التكبير الرأسي والأفقي
نتيجةً لاختبارات قابلية التوسع، قد يلزم إجراء ترقيات للبرامج والأجهزة. ويمكن تقسيم هذه الترقيات إلى توسع رأسي أو أفقي.
التوسع الرأسي، المعروف أيضًا بالتوسع لأعلى، هو عملية استبدال مكون بجهاز أكثر قوة أو تحسينًا بشكل عام. على سبيل المثال، استبدال معالج بآخر أسرع. أما التوسع الأفقي، المعروف أيضًا بالتوسع لأسفل، فهو إنشاء خادم آخر، على سبيل المثال، ليعمل بالتوازي مع الخادم الأصلي لتقاسم عبء العمل. [ 10 ]
المزايا والعيوب
لكلتا طريقتي التوسع مزايا وعيوب. فرغم أن التوسع الرأسي قد يكون أسهل، إلا أن إضافة موارد الأجهزة قد تؤدي إلى تناقص العائد . [ 11 ] وهذا يعني أنه في كل مرة نُحدّث فيها المعالج، على سبيل المثال، لا نحصل دائمًا على نفس مستوى الفوائد التي كنا نحصل عليها من التحديث السابق.
ومع ذلك، يمكن أن يكون التوسع الأفقي مكلفًا للغاية، ليس فقط تكلفة الأنظمة بأكملها مثل الخوادم، ولكن يجب علينا أيضًا أن نأخذ في الاعتبار تكاليف صيانتها الدورية. [ 11 ]
مراجع
- ↑ "التخطيط لاختبار التحميل" . docs.oracle.com . تم الاطلاع عليه بتاريخ 23-10-2015 .
- ↑ "اختبار قابلية التوسع" . مدونة الأداء . 14 مارس 2012. تم الاطلاع عليه بتاريخ 25 أكتوبر 2015 .
- ↑ جوشي، براتيك (22 أغسطس 2013). "لماذا نحتاج إلى اختبار الأداء؟" . لغز دائم . تم الاسترجاع في 25 أكتوبر 2015 .
- ↑ "اكتشاف المقاييس الصحيحة لاختبار قابلية التوسع" . www.theserverside.com . تاريخ الاسترجاع: 25 أكتوبر 2015 .
- ↑ 'Cytowski' 'Bernardini', 'Maciej' 'Matteo' (2013). "تحليل قابلية التوسع العملي" (ملف PDF) . شراكة الحوسبة المتقدمة في أوروبا .
- ١ ٢ "ممارسات IBM Cognos المُثبتة: تصميم اختبار ناجح للأداء وقابلية التوسع لـ IBM Cognos BI" . www.ibm.com . ١٧ نوفمبر ٢٠١١. تاريخ الاسترجاع: ٢٥ أكتوبر ٢٠١٥ .
- ↑ "أداء المؤسسة ونتائج الاختبار" (ملف PDF) . سيرينا . 2011.
- ↑ "اختبار قابلية التوسع: التحقق مما إذا كان أداء الموقع قابلاً للتوسع" . support.smartbear.com . تم الاطلاع عليه بتاريخ 28-10-2015 .
- ↑ "مدونة نتفليكس التقنية: قياس قابلية توسع كاساندرا على AWS - أكثر من مليون عملية كتابة في الثانية" . techblog.netflix.com . تم الاطلاع عليه بتاريخ 4 نوفمبر 2015 .
- ↑ بوندي، أندريه (2014). أسس هندسة أداء البرمجيات والأنظمة: العملية، ونمذجة الأداء، والمتطلبات، والاختبار، وقابلية التوسع، والتطبيق. القسم 11.2 . بيرسون للتعليم. ISBN 978-0321833822.
- 1 2 "اختبار قابلية التوسع" (ملف PDF) . تعليم علوم الحاسوب .
روابط خارجية
- اختبار البرمجيات
