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

اختبار الحمل

ما هو اختبار الأداء؟

اختبار أداء هي عملية اختبار برمجية تستخدم لاختبار السرعة ووقت الاستجابة والاستقرار والموثوقية وقابلية التوسع واستخدام الموارد لتطبيق برمجي تحت عبء عمل معين. الغرض الرئيسي من اختبار الأداء هو تحديد وإزالة اختناقات الأداء في تطبيق البرنامج. إنها مجموعة فرعية من هندسة الأداء وتُعرف أيضًا باسم "اختبار الأداء".

ينصب تركيز اختبار الأداء على فحص البرامج

  • سرعة – تحديد ما إذا كان التطبيق يستجيب بسرعة
  • التدرجية - تحديد الحد الأقصى لتحميل المستخدم الذي يمكن لتطبيق البرنامج التعامل معه.
  • استقرار – تحديد ما إذا كان التطبيق مستقرًا تحت أحمال مختلفة

لماذا اختبار الأداء؟

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

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

اختبار أداء

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

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

وفقًا لـ Dunn & Bradstreet، فإن 59% من شركات Fortune 500 تواجه ما يقدر بـ 1.6 hours من التوقف كل أسبوع. وبالنظر إلى أن متوسط ​​شركة Fortune 500 التي تضم ما لا يقل عن 10,000 موظف تدفع 56 دولارًا في الساعة، فإن جزء العمل من تكاليف التوقف عن العمل لمثل هذه المؤسسة سيكون 896,000 دولارًا أسبوعيًا، وهو ما يترجم إلى أكثر من 46 مليون دولار سنويًا.

فقط توقف لمدة 5 دقائق Google.com (19 أغسطس 13) من المقدر أن يكلف عملاق البحث ما يصل إلى 545,000 دولار.

تشير التقديرات إلى أن الشركات فقدت قيمة مبيعاتها 1100 دولارًا في الثانية بسبب الأخيرة Amazon انقطاع خدمة الويب.

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

أنواع اختبارات الأداء

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

مشاكل الأداء الشائعة

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

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

كيفية القيام باختبار الأداء

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

فيما يلي عملية عامة حول كيفية إجراء اختبار الأداء

عملية اختبار الأداء
عملية اختبار الأداء

الخطوة 1) تحديد بيئة الاختبار الخاصة بك

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

الخطوة 2) تحديد معايير قبول الأداء

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

الخطوة 3) تخطيط وتصميم اختبارات الأداء

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

الخطوة 4) تكوين بيئة الاختبار

قم بإعداد بيئة الاختبار قبل التنفيذ. قم أيضًا بترتيب الأدوات والموارد الأخرى.

الخطوة 5) تنفيذ تصميم الاختبار

قم بإنشاء اختبارات الأداء وفقًا لتصميم الاختبار الخاص بك.

الخطوة 6) تشغيل الاختبارات

تنفيذ ومراقبة الاختبارات.

الخطوة 7) التحليل والضبط وإعادة الاختبار

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

مقاييس اختبار الأداء: مراقبة المعلمات

تتضمن المعلمات الأساسية التي تتم مراقبتها أثناء اختبار الأداء ما يلي:

مقاييس اختبار الأداء

  • استخدام المعالج – مقدار الوقت الذي يقضيه المعالج في تنفيذ غيرidle الخيوط.
  • استخدام الذاكرة – مقدار الذاكرة الفعلية المتاحة للعمليات على جهاز الكمبيوتر.
  • وقت القرص – مقدار الوقت الذي يكون فيه القرص مشغولاً بتنفيذ طلب القراءة أو الكتابة.
  • عرض النطاق - يعرض البتات في الثانية التي تستخدمها واجهة الشبكة.
  • بايتات خاصة – عدد البايتات التي خصصتها العملية والتي لا يمكن مشاركتها بين العمليات الأخرى. يتم استخدامها لقياس تسرب الذاكرة واستخدامها.
  • الذاكرة الملتزمة – مقدار الذاكرة الافتراضية المستخدمة.
  • صفحات الذاكرة/الثانية – عدد الصفحات المكتوبة على القرص أو المقروءة منه لحل أخطاء الصفحات الصلبة. تحدث أخطاء الصفحة الصلبة عندما يتم استدعاء تعليمات برمجية ليست من مجموعة العمل الحالية من مكان آخر واسترجاعها من القرص.
  • أخطاء الصفحة / ثانية - المعدل الإجمالي الذي تتم به معالجة الصفحات الخاطئة بواسطة المعالج. يحدث هذا مرة أخرى عندما تتطلب العملية تعليمات برمجية من خارج مجموعة العمل الخاصة بها.
  • مقاطعات وحدة المعالجة المركزية في الثانية – هل avg. عدد مقاطعات الأجهزة التي يستقبلها المعالج ويعالجها في كل ثانية.
  • طول قائمة انتظار القرص – هل avg. لا. من طلبات القراءة والكتابة الموجودة في قائمة الانتظار للقرص المحدد أثناء فاصل زمني عينة.
  • طول قائمة انتظار إخراج الشبكة – طول قائمة انتظار حزمة الإخراج في الحزم. أي شيء أكثر من اثنين يعني تأخيرًا ويجب إيقاف الاختناقات.
  • إجمالي بايت الشبكة في الثانية – معدل البايتات التي يتم إرسالها واستقبالها على الواجهة بما في ذلك أحرف الإطارات.
  • وقت الاستجابة - الوقت من وقت قيام المستخدم بإدخال طلب حتى استلام الحرف الأول من الاستجابة.
  • الإنتاجية - معدل جهاز كمبيوتر أو شبكة يتلقى الطلبات في الثانية الواحدة.
  • مقدار الاتصال poolinز - عدد طلبات المستخدمين التي يتم تلبيتها بواسطة الاتصالات المجمعة. كلما زاد عدد الطلبات التي تمت تلبيتها بواسطة الاتصالات في التجمع، كلما كان الأداء أفضل.
  • الحد الأقصى للجلسات النشطة – الحد الأقصى لعدد الجلسات التي يمكن تفعيلها في وقت واحد.
  • نسب الإصابة – وهذا له علاقة بعدد SQL البيانات التي يتم التعامل معها بواسطة البيانات المخزنة مؤقتًا بدلاً من عمليات الإدخال/الإخراج الباهظة الثمن operaشؤون. يعد هذا مكانًا جيدًا للبدء في حل مشكلات الاختناق.
  • عدد الزيارات في الثانية - لا. من الزيارات على خادم الويب خلال كل ثانية من اختبار التحميل.
  • قطاع التراجع – كمية البيانات التي يمكن التراجع عنها في أي وقت.
  • أقفال قاعدة البيانات – يجب مراقبة وضبط قفل الجداول وقواعد البيانات بعناية.
  • أعلى الإنتظار – تتم مراقبتها لتحديد أوقات الانتظار التي يمكن تقليلها عند التعامل مع مدى سرعة استرداد البيانات من الذاكرة
  • عدد الخيوط – يمكن قياس صحة التطبيقات بالرقم. من المواضيع قيد التشغيل والنشطة حاليا.
  • جمع القمامة – يتعلق الأمر بإعادة الذاكرة غير المستخدمة إلى النظام. جمع القمامة يجب مراقبتها من أجل الكفاءة.

مثال على حالات اختبار اختبار الأداء

  • حالة الاختبار 01: تأكد من أن وقت الاستجابة لا يزيد عن 4 ثوانٍ عندما يصل 1000 مستخدم إلى موقع الويب في نفس الوقتneoعادة.
  • حالة الاختبار 02: تحقق من أن وقت استجابة التطبيق قيد التحميل يقع ضمن نطاق مقبول عندما يكون اتصال الشبكة بطيئًا
  • حالة الاختبار 03: تحقق من الحد الأقصى لعدد المستخدمين الذين يمكن للتطبيق التعامل معهم قبل أن يتعطل.
  • حالة الاختبار 04: تحقق من وقت تنفيذ قاعدة البيانات عند قراءة/كتابة 500 سجل في نفس الوقتneoعادة.
  • حالة الاختبار 05: تحقق من استخدام وحدة المعالجة المركزية والذاكرة للتطبيق وخادم قاعدة البيانات في ظل ظروف التحميل القصوى
  • حالة الاختبار 06: التحقق من وقت استجابة التطبيق في ظل ظروف التحميل المنخفضة والعادية والمتوسطة والثقيلة.

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

أدوات اختبار الأداء

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

  • BlazeMeter – هي منصة الاختبار الكاملة والمستمرة الوحيدة في السوق. تعمل أداة اختبار الأداء القوية هذه على تشغيل التطبيقات الموثوقة. يمكن للمختبرين الاستفادة من الميزات المتقدمة مثل الخدمات الوهمية وبيانات الاختبار الاصطناعية واختبار واجهة برمجة التطبيقات (API) ومراقبتها. قابلة للتوسع حتى 2 مليون مستخدم.
  • اتش بي لود رانر - هي أدوات اختبار الأداء الأكثر شيوعًا في السوق اليوم. هذه الأداة قادرة على محاكاة مئات الآلاف من المستخدمين، ووضع التطبيقات تحت الأحمال الواقعية لتحديد سلوكها تحت الأحمال المتوقعة. تحميل يتميز بمستخدم افتراضي generator الذي يحاكي تصرفات المستخدمين البشريين الأحياء.
  • Jmeter - إحدى الأدوات الرائدة المستخدمة لاختبار التحميل لخوادم الويب والتطبيقات.

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

يتم إجراء اختبار الأداء دائمًا للأنظمة القائمة على خادم العميل فقط. وهذا يعني أن أي تطبيق لا يعتمد على خادم العميل archiيجب ألا تتطلب التقنية اختبار الأداء.

على سبيل المثال، Microsoft الحاسبة لا تعتمد على خادم العميل ولا تقوم بتشغيل عدة مستخدمين؛ ومن ثم فهو ليس مرشحًا لاختبار الأداء.

تجربة أداء

من المهم فهم الفرق بين اختبار الأداء وهندسة الأداء. تتم مشاركة التفاهم أدناه:

اختبار أداء هو الانضباط المعني الاختبار وإعداد التقارير الأداء الحالي لتطبيق برمجي في ظل معايير مختلفة.

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

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

وفي الختام

In هندسة البرمجيات, يعد اختبار الأداء ضروريًا قبل تسويق أي منتج برمجي. فهو يضمن رضا العملاء ويحمي استثمار المستثمر من فشل المنتج. عادةً ما يتم تعويض تكاليف اختبار الأداء من خلال تحسين رضا العملاء وولائهم والاحتفاظ بهم.