اختر صفحة

اختبار الأداء القائم على الهدف مع LoadView

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

ما هي أسباب اختبار الإجهاد؟

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

ما هي أسباب اختبارات الأداء القائمة على الهدف؟

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

ضع في اعتبارك الموقف التالي:

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

المحلول:

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

تلميحات حول تكوين أداة EveryStep

ThinkTime (مطلوب)

أنشئ كلمات رئيسية جديدة في The EveryStep Web Recorder (ThinkTimes) أو أعد استخدام الكلمات الرئيسية الموجودة

تأكد من أن القيم المسموح بها هي نقاط عائمة 0.0 – 999.99

تأكد من أن المستخدمين يمكنهم إضافة ThinkTimes يدويًا إلى البرامج النصية

تذكر أن ThinkTimes هي أوقات انتظار وتتم إضافتها بواسطة EveryStep Web Recorder تلقائيًا أثناء تسجيل إجراءات المستخدم.

يمكن أن يكون هناك N ThinkTimes في نص واحد

يتم تجاهل أوقات ThinkTimes في عمليات اختبار البرنامج النصي الفردي

سيتم استخدام ThinkTimes في المعايرة / الحصول على خط الأساس

ThinkTimes ليست جزءًا من قياسات وقت الاستجابة

يتم تجاهل أوقات ThinkTimes في اختبارات الإجهاد

تزامن المستخدم (اختياري)

كلمة رئيسية جديدة “WaitFor (عدد المستخدمين)” في مسجل الويب EveryStep

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

حدود وقت الاستجابة (اختياري)

كلمة رئيسية جديدة SetBoundary في EveryStep Web Recorder

بناء الجملة: SetBoundary (اسم الوقت ، منضم 1 ، منضم 2)

خط الأساس / المعايرة (مطلوب)

ينفذ LoadView تشغيلًا تجريبيًا لمستخدم واحد

سيتم استخدام ThinkTimes كما هو مكتوب

سوف LoadView بحساب وقت الجلسة

وقت الجلسة = وقت تنفيذ البرنامج النصي + ThinkTime

تكوين حجم العمل / خطة التنفيذ (مطلوب)

يحدد العميل زيادة الوقت

يحدد العميل معدل حركة الهدف

يحدد العميل وقت الجلسة الهدف

يحسب النظام عدد المستخدمين

يقرر العميل ما إذا كان سيحسب أوقات الاستجابة أثناء التكثيف أم لا

تشغيل الاختبار (مطلوب)

يجري LoadView الاختبار وفقًا لخطة عبء العمل / التنفيذ التي تم تكوينها

يجمع LoadView أوقات الاستجابة للنصوص أو المعاملات التي تمت محاكاتها

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

يحسب LoadView أوقات الاستجابة للمعاملات الفعلية وأجهزة ضبط الوقت بدون ThinkTimes.

نصائح للتكامل مع Dotcom-Monitor

مسجل ويب EveryStep

إدخال كلمات رئيسية جديدة في ThinkTime

تجاهل ThinkTime أثناء التشغيل التجريبي لمستخدم واحد

أضف ThinkTime أثناء تسجيل البرنامج النصي

إدخال كلمة رئيسية جديدة WaitFor (رقم المستخدم)

أدخل الكلمة الأساسية SetBoundary (TimerName ، B1 ، B2) الجديدة

يجب إضافة كلمة WaitFor يدويًا إلى البرامج النصية التي تم إنشاؤها

استخدم الكلمة الأساسية SetBoundary

المعايرة / الحصول على خط الأساس

احسب وقت الجلسة أثناء المعايرة

خطة التنفيذ / عبء العمل

الخيار 1:

أضف ميزة تكوين حمل العمل الجديدة

استبدل خطة التنفيذ بميزة حجم العمل

إنشاء مربع حوار تكوين حمل العمل لدعم اختبار التحمل وهدف المعاملة والأنواع الأخرى

حدد وقت الزيادة

حدد المربع لحساب أوقات الاستجابة أثناء التكثيف (نعم / لا)

الخيار 2:

استخدم ميزة تكوين خطة التنفيذ المحسنة

حدد نوع الاختبار (الإجهاد ، القائم على الهدف)

حدد تفاصيل هدف المعاملة

حدد وقت الزيادة

حدد المربع لحساب أوقات الاستجابة أثناء التكثيف (نعم / لا)

اختبار المدى

حساب وقت تنفيذ النص الفعلي / وقت الجلسة

اضبط ThinkTimes ديناميكيًا بناءً على وقت الجلسة الفعلي

رفع التحذير إذا تعذر الوصول إلى معدل النقل المتوقع

تقرير

تكوين قسم لوقت الاستجابة ، الفعلي مقابل العتبات لكل مؤقت

تكوين قسم للإنتاجية الفعلية مقابل المتوقعة

ما هي مدخلات المستخدم؟

ThinkTimes (النقطة العائمة ،> 0)

معاملات الهدف في الساعة (عدد صحيح)

أقصى عدد من المستخدمين (عدد صحيح)

تكثيف الوقت (بالدقائق)

حساب وقت الاستجابة أثناء التكثيف (نعم / لا)

ما هو “خط الأساس”؟

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

كيف يمكنك ضبط اختبار التحميل ديناميكيًا إذا تغيرت سرعة المعاملة على النظام المستهدف؟

احسب وقت الجلسة أثناء المعايرة

استخدم ThinkTimes للوصول إلى وقت جلسة الهدف المطلوب

إعادة حساب وقت الجلسة الفعلي أثناء تنفيذ الاختبار

اضبط ThinkTimes ديناميكيًا اعتمادًا على وقت الجلسة الفعلي

رسالة خطأ تسجيل إذا كان وقت تنفيذ البرنامج النصي> وقت جلسة الهدف

حدد عدد المستخدمين الأقصى في حساب عبء العمل

ما هي كلمة WaitFor؟

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

ما هي الكلمة الأساسية SetBoundary؟

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

ماذا يجب أن تكون أهدافك لاختبار الحمل الخاص بك؟

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

ما نوع التقارير التي يجب تكوينها؟

  • قم بإنشاء تقارير مشابهة لتقاريرك الحالية
  • متوسط ، Min ، Max ، Stddev ، أوقات الاستجابة المئوية
  • المعاملات جيدة ، فشلت المعاملات
  • نسبة الخطأ
  • يجب أن تكون جميع أوقات الاستجابة بدون ThinkTimes

محددات

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

ماذا سيحدث إذا لم نصل إلى الهدف؟

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

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

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

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

كيف تبدو عينة عبء العمل على أساس الهدف؟

البرنامج النصي / الجهاز ST (ثانية)

غير قابل للتحرير

ضريبة السلع والخدمات (بالثانية)

إدخال المستخدم

TPH

إدخال المستخدم

المستعمل

غير قابل للتحرير

Search_User 25 10 500 72
Inser_User 25 60 1000 216

تكثيف الوقت: 15 دقيقة

قياس أوقات الاستجابة أثناء Ramp up: نعم / لا
ST: وقت الجلسة

ضريبة السلع والخدمات: وقت جلسة الهدف

TPH: عدد المعاملات في الساعة

المستخدم: محسوبة بواسطة LoadView (3600 / TPH) * GST = 72