يهدف اختبار الأداء إلى تقييم أداء النظام أو التطبيق تحت أحمال متفاوتة في الحجم.
وتشمل المعايير الرئيسية ما يلي: السرعة (مدى سرعة أداء النظام)، والاستقرار (قدرته على العمل دون تعطل)، وقابلية التوسع (مدى سلاسة تعامل النظام مع الأحمال المتزايدة)، والاستجابة (مدى سرعة استجابة النظام للموجِّهات).
يمثل مفهوم أداء البرمجيات أساس استخدام الحاسوب بالكامل، ويمكن أن يؤدي ضعف الأداء إلى تقويض كل الجهود التي تبذلها المؤسسة لتقديم تجربة مستخدم عالية الجودة. إذا لم يُولِّ المطورون اختبار الأداء العناية الكافية أو لم يجروا اختبارات أداء بشكل منتظم، فقد تظهر اختناقات في الأداء. وهذا قد يؤدي إلى اختناق قدرة النظام على التعامل حتى مع الأحمال المتوقعة خلال الفترات العادية. وتتفاقم المشكلة عندما تتزايد الأحمال في أوقات ذروة غير متوقعة، مما يفرض طلبًا إضافيًا على الموارد.
قد تضع هذه التحديات عمليات الشركة العامة بأكملها في مهب الخطر. فبناء سمعة قوية وموثوقة يتطلب وقتًا طويلًا، لكن يمكن أن تتعرض تلك السمعة لضرر دائم وسريع بمجرد أن يبدأ المستخدمون في التشكيك في موثوقية النظام أو التطبيق. أصبح المستخدمون النهائيون أقل صبرًا وأكثر حساسية تجاه أداء الأنظمة. وبالتالي، عندما يدور الحديث حول مشكلات الأداء، فإن الأمر يتجاوز مجرد الجوانب التقنية — فهناك الكثير على المحك.
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.
لنبدأ بتحديد المنهجية المُستخدمة في معظم سيناريوهات اختبار الأداء. تُحدَّد عملية اختبار الأداء النموذجية من خلال ست خطوات متعددة الأجزاء.
تتضمن الخطوة الأولى في عملية اختبار الأداء تحديد المعايير المفيدة، مثل تحديد أهداف أداء التطبيق.
بعد ذلك، يتم تحديد ما يُشكّل معايير الأداء المقبول (مثل أوقات الاستجابة، والإنتاجية، واستهلاك الموارد، ومعدلات الخطأ).
وتعد هذه المرحلة أيضًا هي المرحلة التي يحدد فيها الموظفون مؤشرات الأداء الرئيسية (KPIs) لدعم متطلبات الأداء وأولويات العمل.
لا ينبغي استخدام جميع أنواع الاختبارات في كل الحالات. ينبغي على المطورين أو المختبرين تحديد ما يُراد تحليله من خلال الاختبار.
ويبدؤون بتحديد أكثر سيناريوهات الاستخدام شيوعًا وتصميم حالات اختبار تُحاكي تفاعلات المستخدمين في الواقع. الخطوة التالية تتمثل في تحديد بيانات الاختبار وأحمال التشغيل التي سيتم استخدامها أثناء عملية الاختبار.
بعد تثبيت هذه المتغيرات، يختار المختبرون أدوات اختبار الأداء، ونصوص الاختبار، وتقنيات الاختبار. تشمل هذه المرحلة أيضًا إعداد آليات التوجيه، وهي عملية تُستخدم فيها بوابات جودة قائمة على التعليمات البرمجية للسماح بالوصول إلى مراحل الإنتاج اللاحقة أو رفضه.
يقيس اختبار الأداء أيضًا النطاق الترددي للتحقق من قدرة معدلات نقل البيانات على التعامل مع حركة البيانات الناتجة عن أحمال التشغيل.
ثمة خطوة أخيرة ينبغي اتخاذها قبل بدء عملية اختبار الأداء رسميًا. يُنشئ المختبرون بيئة اختبار تحاكي بدقة بيئة الإنتاج الفعلية للنظام ثم يتحقّقون من أن تطبيقات البرمجيات قيد الاختبار قد نُشرت ضمن هذه البيئة.
تتضمّن التحضيرات الأخيرة دمج أدوات مراقبة لجمع المقاييس الناتجة عن النظام أثناء الاختبار.
بمجرد تحديد معايير الاختبار، يبدأ تنفيذ اختبار الأداء. يُجري المختبرون أو أدوات أتمتة الاختبار سيناريوهات الاختبار المحددة باستخدام أدوات اختبار الأداء.
يراقب المختبرون أداء النظام في الوقت الفعلي لمتابعة الإنتاجية، وأوقات الاستجابة، واستهلاك الموارد. خلال سيناريوهات الاختبار، يراقب المختبرون النظام لرصد اختناقات الأداء أو أية حالات غير طبيعية تظهر في مقاييس الاختبار.
بعد ذلك، يُقيّم المختبرون بيانات الأداء التي تم جمعها خلال الاختبار. يُمعنون النظر في البيانات المُجمّعة ويبحثون عن جوانب الأداء التي تتطلّب تحسينًا.
ثم يُقارن المختبرون نتائج الاختبار هذه بمعايير الأداء التي تم تحديدها كجزء من الخطوة الأولى في عملية الاختبار. ومن خلال هذه المقارنة، يمكنهم تحديد مواضع الانحراف عن الأداء المتوقع والمواقع التي ربما ظهرت فيها اختناقات.
بعد تحديد مشكلات الأداء من خلال تحليل بيانات الاختبار، يعمل المطوّرون على تحديث التعليمات البرمجية ضمن النظام. يستخدمون تحسينات في التعليمات البرمجية، أو ترقية الموارد، أو تغييرات في الإعدادات لمعالجة مشكلات الأداء التي تم تحديدها.
بعد تنفيذ هذه التعديلات، يُعيد المطوّرون تسلسل اختبار البرمجيات للتحقّق من أنهم طبّقوا التعديلات بنجاح. يُعيد المطورون تكرار هذه الإجراءات إلى أن تتماشى نتائج الأداء مع معايير الأداء المحددة.
نظرًا لأن اختبار الأداء يتعمّق في تحليل مخرجات النظام أو التطبيق، فمن المنطقي أن تكون فرق تطوير البرمجيات هي الفئة الأكثر استخدامًا لأساليب اختبار الأداء. تتضمّن هذه الفئة الأولى من المستخدمين متخصصين يشاركون بنشاط في عملية التطوير: المطورون ومهندسو ضمان الجودة (QA) وفرق عمليات التطوير. كل فئة منهم تستفيد من اختبار الأداء بطريقة مختلفة:
الفئة التالية من المستخدمين ليست من المطوّرين، لكنها لا تزال تعمل بشكل مباشر في إدارة أداء النظام كجزء أساسي من مهامها:
لكن اختبار الأداء لا يقتصر على الإدارة فقط. إذ تعتمد العديد من المؤسسات والشركات، بمختلف أحجامها، على اختبارات الأداء لأغراض متنوعة:
ويُجري المطوّرون أنواعًا مختلفة من اختبارات الأداء لاستخلاص أنواع محدَّدة من بيانات النتائج ودعم إستراتيجية اختبار معيّنة. فيما يلي أبرز أنواع هذه الاختبارات.
يُبيّن اختبار التحميل كيفية أداء النظام عند العمل ضمن الأحمال المتوقَّعة. وهدفه إظهار سلوك النظام عند التعرّض لأحمال تشغيل روتينية الحجم، وفي ظل ظروف عمل طبيعية مع أعداد متوسطة من المستخدمين المتزامنين.
مثال: في موقع للتجارة الإلكترونية، يُحاكي المختبِر دور مستخدم الموقع ويجتاز خطوات التسوّق للمنتجات، ووضعها في السلة، وسداد ثمن المشتريات.
يُظهر اختبار التحميل ما إذا كان النظام يستطيع تحمّل ظروف الأحمال الاعتيادية. يَضع اختبار قابلية التوسّع ذلك النظام تحت ضغط بزيادة حجم البيانات أو أحمال المستخدمين التي يعالجها.ويُبيّن ما إذا كان النظام قادرًا على مواكبة الوتيرة المتصاعدة والاستمرار في الأداء المطلوب.
مثال: في التوسّع الرأسي، قد يعمد المطوّر إلى تعزيز وحدة المعالجة المركزية (CPU) والذاكرة في خادم قاعدة البيانات ليتمكن من استيعاب حجم أكبر من استعلامات البيانات.
يشبه اختبار الإجهاد اختبار الغطس الذي يجريه طاقم غواصة. حيث يُدفَع النظام إلى حدوده التشغيلية المعروفة—ثم إلى أبعد من ذلك—لتحديد مقدار ما يستطيع تحمّله بدقة قبل بلوغ نقطة الانهيار.
مثال: يُعدّ اختبار التبديل التلقائي شكلًا متطرفًا من اختبارات الإجهاد يبدأ بمحاكاة تعطل المكوّنات. وهدفه معرفة المدة التي يستغرقها النظام للتعافي واستئناف التشغيل.
هنا نختبر نوعًا مختلفًا من الضغط—حين يشهد عدد الزيارات للمستخدمين أو حجم نقل البيانات ارتفاعًا حادًا ومفاجئًا في النشاط. ويجب على النظام امتصاص تلك التغيّرات مع مواصلة عملياته المعتادة.
مثال: على الشركات التي تُشغِّل مواقع إلكترونية أن تستعدّ ليس للانقطاع فحسب، بل أيضًا لطفرة المستخدمين الذين يحاولون الوصول إلى الموقع في الوقت نفسه فور عودته إلى العمل. كما يجب عليها تقييم ما إذا كان النظام قادرًا على التعامل مع تلك الزيادة المفاجئة في الطلب.يمكن لاختبار الارتفاع المفاجئ في الحمل تقدير مدى سلاسة سير الأمور على الأرجح.
أحيانًا حين نتحدّث عن الأداء، يكون المقصود حركة المستخدمين. أما اختبار الحجم فيركّز، على النقيض، على كيفية إدارة النظام لكميات كبيرة من البيانات. هل يستطيع النظام معالجة البيانات بالكامل وتوفير التخزين دون تدهور في البيانات؟
مثال: تحتفظ عيادة طبية بأحجام هائلة من معلومات المرضى، ويُلزمها القانون بالقدرة على الوصول إلى تلك السجلات الطبية والبيانات ذات الصلة. يمكن أن يؤدي هذا التدفق المستمر للبيانات إلى إجهاد النظام. يُمكّن اختبارُ الحجم المستخدمين من معرفة ما إذا كان نظامهم بمستوى التحدّي المتمثّل في الاستيعاب المستمر لكمّ أكبر من البيانات.
يمكن اعتباره اختبار أداء على المدى الطويل. المشكلات الرئيسية التي يستهدفها اختبار التحمّل (ويُسمّى أيضًا اختبار النقع) هي تدهور البيانات ومشكلات تسرّب الذاكرة التي تظهر غالبًا على مدى فترات مطوّلة.
مثال: تعمل منصّات التواصل الاجتماعي على مدار الساعة، وقد يفضي الاستخدام المتواصل إلى مشاكل في استقرار المنصّة وتخزين البيانات وحسابات المستخدمين. يقدّم اختبار التحمّل صورة عن التشغيل الحالي ومؤشرات إلى الأداء المستقبلي.
يمكن للمطوّرين والمختبِرين الاختيار من بين أدوات عديدة مخصّصة لاختبارات الأداء. فيما يلي بعض أبرز هذه الأدوات:
كما هو الحال في معظم ما يتعلّق بالحوسبة، يدفع الذكاء الاصطناعي (AI) اليوم باختبار البرمجيات إلى مستويات جديدة من الكفاءة. فهو يجعل عملية اختبارات الأداء أسرع وأكثر دقّة وأسهل في الأتمتة.
وبالتحديد، يستطيع الذكاء الاصطناعي اعتماد دورات اختبار أقصر، مما يقلل زمن إجراء الاختبارات. وبفضل دقّته العالية، يمكنه أيضًا رصد تغيّرات دقيقة في الأداء قد تغيب عن المختبِرين البشريين. إضافة غلى ذلك، ومن خلال التحليلات التنبؤية، يستطيع الذكاء الاصطناعي تقييم اتجاهات التشغيل والبيانات التاريخية والتنبؤ بمكان وزمان حدوث الاختناقات التالية. ويمكنه كذلك الاستفادة من ذلك السلوك التنبؤي للنظام وضبط معلمات الاختبار بناءً عليه.
لكنّ أبرز ما قدّمه الذكاء الاصطناعي لاختبارات الأداء (حتى الآن) هو تمكين الأتمتة ودعم الجهود على نطاق واسع. تتّسم هذه الأتمتة بقدرتها الكاملة على تشغيل عملية اختبارات الأداء—بأكملها.
لا يقتصر دور الذكاء الاصطناعي على أتمتة أسلوب تنفيذ الاختبارات، بل يمكنه أيضًا كتابة نصوص الاختبار المعدّة للتنفيذ. بالإضافة إلى ذلك، يستطيع تفسير نتائج الاختبار على الواجهة الخلفية وتقديم إرشادات لمعالجة حالات المشكلات.
من أبرز الآثار الواعدة والمثيرة للاهتمام للذكاء الاصطناعي في اختبارات الأداء ازديادُ استخدامِ التعاون بين الإنسان والذكاء الاصطناعي. يُقِرّ هذا الترتيب بأن الحدس والمعرفة البشريين لا يزال لهما دورٌ حاسم. وفي الواقع، تظلّ في بعض الحالات أولوية الاتّباع لِلدوافع البشرية هي المبدأ المُوجِّه.
ويقتنع بعض الخبراء بأن اختبارات الأداء في المستقبل ستعتمد على هذا النهج الهجين، إذ يجمع بين العقلية الحاسوبية والقوة المعالِجة من جهة، والحسّ البشري بالسياق والفروق الدقيقة من جهة أخرى.
أتمتة تسليم البرامج لأي تطبيق محليًا أو على السحابة أو الكمبيوتر المركزي.
استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.
أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.