تطبيقات اختبار تحميل أجاكس

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

نظرة عامة على المحتوى

 


 

ما هو اياكس؟

 

لقد تعلم أولئك الذين اضطروا للتعامل مع اختبار تحميل تطبيقات الويب AJAX (Asynchronous JavaScript و XML) أن هذا يمكن أن يكون في كثير من الأحيان تحديًا صعبًا للتطوير والأتمتة. ستوفر هذه المقالة بعض المعلومات الأساسية الإضافية حول تقنية تطوير AJAX ، ومزايا وعيوب AJAX ، ونهج اختبار أداء AJAX الموصى به.

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

من عام 2005 فصاعدًا ، مكنت تقنية جديدة تسمى AJAX المطورين من بناء مواقع ويب حديثة ، مما قلل من الوقت الذي يقضيه المستخدمون أمام شاشة فارغة في انتظار تحميل الصفحة. AJAX هو اختصار لـ وهو أكثر من مجرد تقنية لأنه يتكون من HTML و CSS و JavaScript و XMLHttpRequest ولغة برمجة نصية من جانب الخادم مثل PHP.

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

 

تتكون طلبات AJAX النموذجية من العملية التالية:

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

 


 

ما التحديات التي تأتي مع تطبيقات AJAX؟

 

هناك بعض المزالق الشائعة التي تنطوي عليها تطبيقات الويب الديناميكية المستندة إلى AJAX ، والمعروفة بالفعل في مجتمع المطورين. سنغطي بعض المجالات الأكثر إشكالية في AJAX أدناه.

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

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

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

أخيرًا ، نظرًا لاتصال خادم العميل المستند إلى رد الاتصال ، يمكن أن يكون زمن الانتقال أعلى عدة مرات مقارنة بالتقنيات الأخرى ، مثل WebSockets ، على سبيل المثال. يسحب عملاء الويب تحديثات البيانات ، وهو أيضًا تحدٍ للاختبار الآلي .

 


 

اختبار تحميل أجاكس: تقنيات محاكاة المستخدم

 

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

هناك طريقتان لمحاكاة المستخدم سنناقشهما أدناه.

محاكاة قائمة على البروتوكول للطلبات والردود

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

محاكاة كاملة قائمة على المستعرض لتفاعلات المستخدم الحقيقية

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

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

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

 


 

اختبار تحميل AJAX قيد التشغيل

 

ما هو أفضل نهج لاختبار الحمل من AJAX وكيف يمكنك التحقق من صحة قرارك؟ من الواضح أنها فكرة جيدة أن تبدأ تجربة صغيرة إذا لم تكن متأكدًا من الطريقة التي ستوفر نتائج دقيقة.

بالنسبة لهذا السيناريو ، سنقوم بتغطية تطبيقين لاختبار الحمل لتطبيق نموذج AJAX باستخدام ajaxsearchpro.com . هذا التطبيق التجريبي هو محرك بحث بسيط. في هذا المثال ، لنفترض أن المستخدم يكتب مصطلح بحث في حقل البحث ويتم عرض المحتوى المطابق. بعد تشغيل مفتاح الإدخال أو النقر فوق زر البحث ، سيتم تنفيذ البحث النهائي ، وسيتم عرض نتائج البحث المقابلة على الشاشة. يوجد أدناه مخطط الشلال الذي تم التقاطه باستخدام متصفح Chrome DevTools. كان وقت استجابة طلب البحث عن “السيارة” 2.2 ثانية.

 

متصفح كروم شلال المخطط

 

استخدمنا أدوات المطور داخل متصفح Chrome ، مما ساعدنا على معرفة أنه ينفذ هذا الطلب عند تنفيذ إجراء البحث: ajaxsearchpro.com/؟

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

 

البرنامج النصي لاختبار تحميل أجاكس القائم على البروتوكول

 

خطوات مكتوبة: https://ajaxsearchpro.com/?s=car وقت الاستجابة: 594 مللي ثانية
نهج المحاكاة: مستوى البروتوكول ، كروم عدد الطلبات: 1

 

مخطط الشلال
مخطط شلال أياكس القائم على البروتوكول

 

ملخص تنفيذ البرنامج النصي المستند إلى البروتوكول
تنفيذ البرنامج النصي أجاكس القائم على البروتوكول

 

البرنامج النصي لاختبار تحميل AJAX المستند إلى المستعرض

 

خطوات مكتوبة: https://ajaxsearchpro.com/?s=car وقت الاستجابة: 2.18 ثانية
نهج المحاكاة: مستوى البروتوكول ، كروم عدد الطلبات: 32

 

مخطط الشلال
مخطط شلال آياكس المستند إلى المتصفح

 

ملخص تنفيذ البرنامج النصي المستند إلى البروتوكول
المتصفح القائم على تنفيذ البرنامج النصي أجاكس

 

مقارنة بين طريقتي المحاكاة

 

بسبب ous غير متزامن نمط الاتصال ، لا يمكن أتمتة التطبيقات المستندة إلى AJAX في مستوى البروتوكول. فقط حقيقي توفر المحاكاة القائمة على الصفوف نتائج دقيقة وتولد عبئًا واقعيًا على نظامك الخلفي .

ضع في اعتبارك اختبار تحميل لتطبيقنا التجريبي ajaxsearchpro.com مع 100 مستخدم متزامن و 10 ،000 عملية بحث في الساعة. إذا قررت استخدام المحاكاة القائمة على البروتوكول ، فأنت إرادة تخطئ 10000 × 31 = 310.000 طلب. من الواضح أن هذا سيؤدي إلى نتائج غير دقيقة تمامًا لاختبار الحمل.

 


 

كيف يعالج LoadView Solution اختبار التحميل باستخدام AJAX

 

تم تصميم برنامج LoadView ، وهو نظامنا الأساسي لاختبار الحمل المستند إلى السحابة ، لاختبار جميع تطبيقات الويب 2.0 الحديثة مثل AJAX و Flash و Angular و Knockout و HTML5 و jQuery وغيرها الكثير. سهولة استخدامه رائعة. يمكنك تسجيل السيناريوهات الكاملة المستندة إلى المستعرض ومحاكاة أكثر من 40 جهازًا محمولًا أو قائمًا على المستعرض مثل Internet Explorer و Chrome و iPhone و Samsung و Blackberry وغيرها الكثير.

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

 

خمس خطوات لتشغيل اختبارات الحمل المستندة إلى AJAX باستخدام LoadView

 

1. سجل تطبيق AJAX الخاص بك
يمكنك استخدام EveryStep Web Recorder للتنقل يدويًا عبر تطبيقك المستند إلى AJAX. ستسجل EveryStep جميع الإجراءات وتسمح لك بإضافة مؤقت أو خطوات التحقق. بمجرد النقر فوق التطبيق الخاص بك وإنشاء برنامج نصي ، يمكنك إجراء تشغيل تجريبي لمستخدم واحد أو تحميل الإجراءات المسجلة إلى نظامنا الأساسي وإنشاء جهاز اختبار التحميل الخاص بك.

2. معايرة
غالبًا ما يكون تعيين آلات حقن الحمولة بمثابة تخمين. ستعمل آلات توليد الأحمال غير الصحية على تزوير نتائج اختبارك. ينفذ LoadView تشغيلًا تجريبيًا لمستخدم واحد لجهازك ويحسب الحد الأقصى لعدد المستخدمين لكل آلة حقن حمولة. تتجنب هذه الخطوة تأثير الجهاز المحمّل بشكل زائد سلبًا على أوقات استجابة تطبيقك.

3. خطة التنفيذ
غالبًا ما يختلف حجم المستخدم على مدار يوم عمل عادي. لقد تناولنا هذه الحاجة من خلال ميزة خطة التنفيذ الخاصة بنا. يمنحك المرونة الكاملة لنمذجة سيناريوهات اختبار الحمل الواقعية.

4. توزيع المستخدم الظاهري
يتيح لك برنامج LoadView الاختيار من بين مجموعة كبيرة من ماكينات حقن الأحمال حول العالم. حدد تلك التي تمثل الموقع المعتاد لعملائك.

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

 

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

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

 


 

الأدوات المستخدمة

 

LoadView : منصة اختبار الحمل المستندة إلى السحابة من Dotcom-Monitor

EveryStep Web Recorder : نقطة تستند إلى الويب وانقر فوق أداة البرمجة النصية.

أدوات مطوري Chrome: أدوات المطور المضمنة في متصفح Chrome.

لمعرفة المزيد حول منصة Dotcom-Monitor وحلول المراقبة المقدمة ، قم بزيارة www.dotcom-monitor.com