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

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

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

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

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

النظر في الموقف التالي:

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

حل:

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

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

ثينك تايم (مطلوب)

قم بإنشاء كلمات رئيسية جديدة في مسجل الويب EveryStep (ThinkTimes) أو أعد استخدام الكلمات الرئيسية الحالية

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

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

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

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

يتم تجاهل ThinkTimes في عمليات تشغيل اختبار البرنامج النصي الفردي

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

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

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

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

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

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

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

الكلمة الأساسية الجديدة SetBoundary في مسجل الويب EveryStep

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

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

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

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

سيقوم LoadView بحساب وقت الجلسة

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

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

يحدد العملاء وقت تكثيف

يحدد العميل معدل المعاملات المستهدف

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

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

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

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

يقوم LoadView بتشغيل الاختبار وفقا لخطة حمل العمل / التنفيذ التي تم تكوينها

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

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

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

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

مسجل ويب EveryStep

تقديم كلمات رئيسية جديدة ل ThinkTime

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

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

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

تقديم كلمة رئيسية جديدة ل SetBoundary (اسم المؤقت ، B1 ، B2)

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

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

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

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

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

الخيار 1:

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

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

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

حدد وقت التكثيف

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

الخيار 2:

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

حدد نوع الاختبار (الإجهاد ، على أساس الهدف)

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

حدد وقت التكثيف

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

تشغيل الاختبار

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

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

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

تقرير

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

تكوين قسم للمعدل العاطفي، الفعلي مقابل المتوقع

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

ثينك تايمز (النقطة العائمة ، >0)

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

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

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

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

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

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

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

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

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

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

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

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

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

ما هي الكلمة الرئيسية وايت فور؟

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

ما هي الكلمة الرئيسية SetBound؟

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

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

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

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

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

القيود

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

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

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

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

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

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

كيف يبدو نموذج عبء العمل القائم على الهدف؟

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

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

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

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

تى بى

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

مستخدم

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

Search_User 25 10 500 72
Inser_User 25 60 1000 216

وقت التصعيد: 15 دقيقة

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

GST: وقت جلسة الهدف

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

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