أداة اختبار LoadRunner – المكونات والمكونات Architecture
ما هو LoadRunner؟
بي. هي أداة اختبار الأداء التي كانت رائدة من قبل Mercury في عام 1999. وفي وقت لاحق، استحوذت شركة HPE على LoadRunner في عام 2006. وفي عام 2016، استحوذت شركة MicroFocus على LoadRunner.
يدعم LoadRunner أدوات التطوير والتقنيات وبروتوكولات الاتصال المختلفة. في الواقع، هذه هي الأداة الوحيدة في السوق التي تدعم هذا العدد الكبير من بروتوكولات التنفيذ اختبار أداء. يتم استخدام نتائج اختبار الأداء التي ينتجها برنامج LoadRunner كمعيار مقارنة بالأدوات الأخرى
فيديو لود رانر
لماذا لود رانر؟
بي. ليست مجرد أداة رائدة في اختبار الأداء، ولكنها لا تزال رائدة في السوق في نموذج اختبار الأداء. في تقييم حديث، تمتلك شركة LoadRunner حوالي 85% من حصة السوق في صناعة اختبار الأداء.
بشكل عام، تدعم أداة LoadRunner RIA (تطبيقات الإنترنت الغنية)، وWeb 2.0 (HTTP/HTML، وAjax، وFlex، وSilverlight وما إلى ذلك)، والهاتف المحمول، SAP, Oracle، MS SQL الخادم، سيتريكس، آر تي إي، Mail وفوق كل شيء، Windows قابس كهرباء. لا توجد أداة منافسة في السوق يمكنها تقديم مجموعة واسعة من البروتوكولات المخصصة لأداة واحدة.
الأمر الأكثر إقناعًا لاختيار LoadRunner في اختبار البرامج هو مصداقية هذه الأداة. لقد اكتسبت أداة LoadRunner سمعة طيبة منذ فترة طويلة كما ستجد في كثير من الأحيان يقوم العملاء بالتحقق من معايير الأداء الخاصة بك باستخدام LoadRunner. ستجد الراحة إذا كنت تستخدم LoadRunner بالفعل لتلبية احتياجات اختبار الأداء الخاصة بك.
يتكامل برنامج LoadRunner بشكل وثيق مع أدوات HP الأخرى مثل الاختبار الوظيفي الموحد (QTP) وALM (إدارة دورة حياة التطبيق) مما يمكّنك من إجراء عمليات الاختبار الشاملة.
يعمل LoadRunner على مبدأ محاكاة المستخدمين الظاهريين في التطبيق المعني. يُطلق على هؤلاء المستخدمين الظاهريين أيضًا اسم VUsers، ويقومون بتكرار طلبات العميل ويتوقعون استجابة مقابلة لتمرير المعاملة.
لماذا تحتاج إلى اختبار الأداء؟
ما يقدر ب خسارة 4.4 مليار في الإيرادات يتم تسجيله سنويًا بسبب ضعف أداء الويب.
في عصر الويب 2.0 الحالي، ينقر المستخدمون بعيدًا إذا لم يستجب موقع ويب في غضون 8 ثوانٍ. تخيل نفسك تنتظر لمدة 5 ثوانٍ عند البحث عن Google أو تقديم طلب صداقة على Facebook. غالبًا ما تكون عواقب تعطل الأداء أكثر تدميراً مما نتصور. لدينا أمثلة مثل تلك التي ضربت مؤخرًا الخدمات المصرفية عبر الإنترنت لبنك أوف أميركا، Amazon خدمات الويب أو Intuit أو Blackberry.
وفقًا لـ Dunn & Bradstreet، فإن 59% من شركات Fortune 500 تعاني من توقف العمل لمدة تقدر بنحو 1.6 ساعة أسبوعيًا. وإذا أخذنا في الاعتبار أن متوسط شركة Fortune 500 التي تضم 10,000 آلاف موظف على الأقل تدفع 56 دولارًا في الساعة، فإن جزء العمالة من تكاليف توقف العمل لمثل هذه المنظمة سيبلغ 896,000 ألف دولار أسبوعيًا، وهو ما يترجم إلى أكثر من 46 مليون دولار سنويًا.
تشير التقديرات إلى أن توقف Google.com لمدة 5 دقائق فقط (19 أغسطس 13) سيكلف عملاق البحث ما يصل إلى 545,000 دولار.
تشير التقديرات إلى أن الشركات خسرت مبيعات بقيمة 1100 دولار في الثانية بسبب الأحداث الأخيرة Amazon انقطاع خدمة الويب.
عندما يتم نشر نظام برمجي بواسطة مؤسسة، فقد تواجه العديد من السيناريوهات التي قد تؤدي إلى تأخير الأداء. هناك عدد من العوامل التي تسبب تباطؤ الأداء، ومن الأمثلة القليلة ما يلي:
- زيادة عدد السجلات الموجودة في قاعدة البيانات
- زيادة عدد الطلبات المتزامنة المقدمة للنظام
- عدد أكبر من المستخدمين يصلون إلى النظام في وقت واحد مقارنة بالماضي
ما هو لودرنر Archiتكنولوجيا؟
بصفة عامة، فإن بنية HP LoadRunner معقدة، ولكنها سهلة الفهم.
لنفترض أنه تم تكليفك بالتحقق من أداء Amazon.com لـ 5000 مستخدم
في مواقف الحياة الواقعية، لن يكون كل هؤلاء المستخدمين البالغ عددهم 5000 مستخدمًا في الصفحة الرئيسية ولكن في قسم مختلف من مواقع الويب. كيف يمكننا محاكاة بشكل مختلف.
VUGen
VUGen أو المستخدم الظاهري Generator هو IDE (بيئة التطوير المتكاملة) أو محرر ترميز غني. يتم استخدام VUGen لتكرار سلوك النظام تحت التحميل (SUL). يوفر VUGen ميزة "التسجيل" التي تسجل الاتصال من وإلى العميل والخادم في شكل برنامج نصي مشفر - يسمى أيضًا برنامج VUser النصي.
وبالتالي، بالنظر إلى المثال أعلاه، يمكن لـ VUGen التسجيل لمحاكاة العمليات التجارية التالية:
- تصفح صفحة المنتجات Amazonكوم
- الدفع
- معالجة الدفع
- التحقق من صفحة حسابي
مراقب
بمجرد الانتهاء من البرنامج النصي VUser، تعد وحدة التحكم أحد مكونات LoadRunner الرئيسية التي تتحكم في محاكاة التحميل عن طريق الإدارة، على سبيل المثال:
- كم عدد VUsers المطلوب محاكاته مقابل كل عملية تجارية أو مجموعة VUser
- سلوك المستخدمين الافتراضيين (الزيادة، النقصان، الطبيعة المتزامنة أو المتزامنة وما إلى ذلك)
- سيناريو طبيعة الحمل، مثل الحياة الواقعية أو التوجه نحو الهدف أو التحقق من اتفاقية مستوى الخدمة
- ما هي الحاقنات التي يجب استخدامها، وعدد VUsers مقابل كل حاقن
- جمع النتائج بشكل دوري
- خداع IP
- الإبلاغ عن الأخطاء
- الإبلاغ عن المعاملات وما إلى ذلك.
سيؤدي أخذ القياس من وحدة التحكم الخاصة بنا إلى إضافة المعلمة التالية إلى البرنامج النصي VUGen
1) 3500 مستخدم تصفح صفحة المنتجات Amazonكوم
2) 750 مستخدما في الدفع
3) 500 مستخدم تنفيذ معالجة الدفع
4) 250 مستخدم التحقق من صفحة حسابي فقط بعد قيام 500 مستخدم بمعالجة الدفع
من الممكن أن تكون السيناريوهات أكثر تعقيدًا
- قم ببدء 5 VUsers كل ثانيتين حتى يتم تحميل 2 VUsers (تصفح Amazon صفحة المنتج) يتم تحقيقه.
- كرر لمدة 30 دقيقة
- تعليق التكرار لـ 25 مستخدمًا VUsers
- أعد تشغيل 20 VUSers
- قم بإنشاء مستخدمين (في Checkout، ومعالجة الدفع، وصفحة MyAccounts) كل ثانية.
- سيتم إنشاء 2500 مستخدم VUsers في الجهاز A
- سيتم إنشاء 2500 مستخدم VUsers في الجهاز B
آلة الوكلاء / التحميل Generatorق / عن طريق الحقن
تعد HP LoadRunner Controller مسؤولة عن محاكاة الآلاف من VUsers - يستهلك هؤلاء VUsers موارد الأجهزة، على سبيل المثال، المعالج والذاكرة - ومن ثم وضع حد على الجهاز الذي يحاكيهم. علاوة على ذلك، يحاكي جهاز التحكم مستخدمي VUsers من نفس الجهاز (حيث يوجد جهاز التحكم) وبالتالي قد لا تكون النتائج دقيقة. لمعالجة هذه المشكلة، يتم توزيع كافة مستخدمي VUsers عبر أجهزة مختلفة، تسمى حمل Generatorق أو تحميل عن طريق الحقن.
وكممارسة عامة، توجد وحدة التحكم على جهاز مختلف ويتم محاكاة الحمل من أجهزة أخرى. اعتمادًا على بروتوكول البرامج النصية VUser ومواصفات الجهاز، قد تكون هناك حاجة لعدد من حاقنات التحميل للمحاكاة الكاملة. على سبيل المثال، سيتطلب VUsers لبرنامج نصي HTTP 2-4 ميجابايت لكل مستخدم VUser للمحاكاة، وبالتالي ستكون هناك حاجة إلى 4 أجهزة بذاكرة وصول عشوائي سعتها 4 جيجابايت لكل منها لمحاكاة تحميل 10,000 مستخدم VUsers.
أخذ القياس من لدينا Amazon على سبيل المثال، سيكون إخراج هذا المكون
تحليل الأداء
بمجرد تنفيذ سيناريوهات التحميل، فإن دور "تحليل الأداءتأتي مكونات LoadRunner.
أثناء التنفيذ، تقوم وحدة التحكم بإنشاء تفريغ للنتائج في شكل أولي وتحتوي على معلومات مثل إصدار LoadRunner الذي أنشأ تفريغ النتائج هذا وما هي التكوينات.
يتم تسجيل جميع الأخطاء والاستثناءات في أ Microsoft الوصول إلى قاعدة البيانات، اسمه،output.mdb. يقرأ مكون "التحليل" ملف قاعدة البيانات هذا لإجراء أنواع مختلفة من التحليل وإنشاء الرسوم البيانية.
تُظهر هذه الرسوم البيانية اتجاهات مختلفة لفهم الأسباب الكامنة وراء الأخطاء والفشل تحت الحمل؛ وبالتالي يساعد في معرفة ما إذا كان التحسين مطلوبًا في SUL أو Server (على سبيل المثال JBoss، Oracle) أو البنية التحتية.
فيما يلي مثال حيث يمكن أن يؤدي عرض النطاق الترددي إلى إنشاء عنق الزجاجة. لنفترض أن خادم الويب لديه سعة تبلغ 1 جيجابت في الثانية بينما تتجاوز حركة البيانات هذه السعة مما يتسبب في معاناة المستخدمين اللاحقين. لتحديد أن النظام يلبي هذه الاحتياجات، يحتاج مهندس الأداء إلى تحليل سلوك التطبيق مع الحمل غير الطبيعي. يوجد أدناه رسم بياني ينشئه LoadRunner للحصول على النطاق الترددي.
كيفية القيام باختبار الأداء
يمكن تقسيم خارطة طريق اختبار الأداء بشكل عام إلى 5 خطوات:
- التخطيط لاختبار الحمل
- إنشاء البرامج النصية VUGen
- إنشاء السيناريو
- تنفيذ السيناريو
- تحليل النتائج (متبوعًا بتعديل النظام)
الآن بعد أن قمت بتثبيت LoadRunner، دعنا نفهم الخطوات المتضمنة في العملية واحدة تلو الأخرى.
الخطوات المتبعة في عملية اختبار الأداء
الخطوة 1) التخطيط لاختبار الحمل
يختلف التخطيط لاختبار الأداء عن التخطيط أ SIT (اختبار تكامل النظام) or UAT (اختبار قبول المستخدم). يمكن تقسيم التخطيط إلى مراحل صغيرة كما هو موضح أدناه:
قم بتجميع فريقك
عند البدء في اختبار LoadRunner، من الأفضل توثيق الأشخاص الذين سيشاركون في النشاط من كل فريق مشارك أثناء العملية.
مدير المشروع:
قم بترشيح مدير المشروع الذي سيمتلك هذا النشاط ويكون بمثابة الشخص المسؤول عن التصعيد.
خبير وظيفي / محلل أعمال:
توفير تحليل استخدام SUL وتوفير الخبرة في وظائف الأعمال لموقع الويب / SUL
خبير اختبار الأداء:
إنشاء اختبارات الأداء الآلية وتنفيذ سيناريوهات التحميل
Archiتكت:
يوفر مخطط SUL
مطور الويب والشركات الصغيرة والمتوسطة:
- يحافظ على الموقع ويوفر جوانب المراقبة
- تطوير الموقع وإصلاح الأخطاء
مدير النظام:
- يحافظ على الخوادم المعنية طوال مشروع الاختبار
التطبيقات التفصيلية والعمليات التجارية المعنية:
ناجح اختبار الحمل يتطلب أنك تخطط لتنفيذ عملية تجارية معينة. تتكون عملية الأعمال من خطوات محددة بوضوح تتوافق مع المعاملات التجارية المرغوبة - وذلك لتحقيق أهداف اختبار التحميل الخاصة بك.
يمكن إعداد مقياس المتطلبات لإثارة تحميل المستخدم على النظام. وفيما يلي مثال لنظام الحضور في الشركة:
في المثال أعلاه، تشير الأرقام إلى عدد المستخدمين المتصلين بالتطبيق (SUL) في ساعة معينة. يمكننا استخراج الحد الأقصى لعدد المستخدمين المتصلين بعملية تجارية في أي ساعة من اليوم والذي يتم حسابه في الأعمدة الموجودة في أقصى اليمين.
وبالمثل، يمكننا استنتاج العدد الإجمالي للمستخدمين المتصلين بالتطبيق (SUL) في أي ساعة من اليوم. يتم حساب هذا في الصف الأخير.
الحقائق المذكورة أعلاه مجتمعة تعطينا العدد الإجمالي للمستخدمين الذين نحتاج إلى اختبار أداء النظام معهم.
تحديد إجراءات إدارة بيانات الاختبار
تتأثر الإحصائيات والملاحظات المستمدة من اختبار الأداء بشكل كبير بعوامل عديدة كما أطلعنا عليها سابقًا. من الأهمية بمكان إعداد بيانات الاختبار لاختبار الأداء. في بعض الأحيان، تستهلك عملية أعمال معينة مجموعة بيانات وتنتج مجموعة بيانات مختلفة. خذ المثال أدناه:
- يقوم المستخدم "أ" بإنشاء عقد مالي وتقديمه للمراجعة.
- مستخدم آخر "ب" يوافق على 200 عقد في اليوم تم إنشاؤها بواسطة المستخدم "أ"
- مستخدم آخر 'C' يدفع حوالي 150 عقدًا يوميًا معتمدًا من المستخدم 'B'
في هذه الحالة، يحتاج المستخدم "ب" إلى "إنشاء" 200 عقد في النظام. بالإضافة إلى ذلك، يحتاج المستخدم C إلى 150 عقدًا "معتمدًا" من أجل محاكاة حمل يصل إلى 150 مستخدمًا.
وهذا يعني ضمنيًا أنه يجب عليك إنشاء ما لا يقل عن 200+150= 350 عقدًا.
بعد ذلك، قم بالموافقة على 150 عقدًا لتكون بمثابة بيانات اختبار للمستخدم ج - وستكون العقود الـ 200 المتبقية بمثابة بيانات اختبار للمستخدم ب.
شاشات المخطط التفصيلي
توقع كل العوامل التي يمكن أن تؤثر على أداء النظام. على سبيل المثال، سيكون لتقليل الأجهزة تأثير محتمل على أداء SUL (النظام تحت التحميل).
قم بتجميع جميع العوامل وقم بإعداد أجهزة المراقبة حتى تتمكن من قياسها. فيما يلي بعض الأمثلة:
- المعالج (لخادم الويب وخادم التطبيقات وخادم قاعدة البيانات والحقن)
- ذاكرة الوصول العشوائي (لخادم الويب وخادم التطبيقات وخادم قاعدة البيانات والحقن)
- خادم الويب/التطبيقات (على سبيل المثال IIS وJBoss وJaguar Server وTomcat وما إلى ذلك)
- خادم قاعدة البيانات (حجم PGA وSGA في حالة Oracle وMSSQL Server وSPs وما إلى ذلك)
- استخدام عرض النطاق الترددي للشبكة
- بطاقة NIC داخلية وخارجية في حالة التجميع
- موزع الحمل (ويقوم بتوزيع الحمل بالتساوي على جميع عقد المجموعات)
- تدفق البيانات (احسب مقدار البيانات التي تنتقل من وإلى العميل والخادم - ثم احسب ما إذا كانت سعة بطاقة NIC كافية لمحاكاة عدد X من المستخدمين)
الخطوة 2) إنشاء البرامج النصية VUGen
الخطوة التالية بعد التخطيط هي الإنشاء البرامج النصية VUser.
الخطوة 3) إنشاء السيناريو
الخطوة التالية هي إنشاء سيناريو التحميل الخاص بك
الخطوة 4) تنفيذ السيناريو
تنفيذ السيناريو هو المكان الذي تقوم فيه بمحاكاة تحميل المستخدم على الخادم من خلال إعطاء تعليمات لمستخدمين افتراضيين متعددين لأداء المهام في وقت واحد.
يمكنك ضبط مستوى التحميل عن طريق زيادة أو تقليل عدد مستخدمي VUsers الذين يقومون بمهام في نفس الوقت.
قد يؤدي هذا التنفيذ إلى تعرض الخادم للضغط والتصرف بشكل غير طبيعي. هذا هو الغرض الأساسي من اختبار الأداء. يتم بعد ذلك استخدام النتائج المرسومة للتحليل التفصيلي وتحديد السبب الجذري.
الخطوة 5) تحليل النتائج (متبوعًا بتعديل النظام)
أثناء تنفيذ السيناريو، يسجل LoadRunner أداء التطبيق تحت أحمال مختلفة. يتم حفظ الإحصائيات المستمدة من تنفيذ الاختبار ويتم إجراء تحليل تفصيلي. تقوم أداة "تحليل الأداء" بإنشاء رسوم بيانية مختلفة تساعد في تحديد الأسباب الجذرية وراء تأخر أداء النظام، وكذلك فشل النظام.
بعض الرسوم البيانية التي تم الحصول عليها تشمل:
- الوقت المستغرق للوصول إلى المخزن المؤقت الأول
- وقت الاستجابة للمعاملة
- متوسط وقت الاستجابة للمعاملة
- عدد الزيارات في الثانية
- Windows الاصدارات
- إحصائيات الأخطاء
- ملخص المعاملات