سؤال

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

يرجى أن يقترح شخص ما معايير رسمية/غير رسمية لكيفية الحكم على أداء التطبيق.

هل كانت مفيدة؟

المحلول

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

  • وقت الاستجابة:مدى سرعة تشغيل تطبيقك للطلبات العادية.اختبار بعض حالات استخدام القراءة/الكتابة
  • اختبار الحمل:كيف يتصرف التطبيق الخاص بك في أوقات حركة المرور العالية.سترسل الأداة عدة طلبات (يمكنك تكوين ذلك بشكل صحيح) خلال فترة زمنية.
  • اختبار الإجهاد:هل يمكن لتطبيقك العمل خلال فترة طويلة من الزمن؟سيدفع هذا الاختبار طلبك إلى أقصى الحدود

ابدأ بهذا، إذا كنت مهتمًا، فهناك أنواع أخرى من الاختبارات.

نصائح أخرى

لاختبار الواجهة الأمامية، يعد YSlow أمرًا رائعًا للحصول على إحصائيات حول المدة التي يستغرقها تحميل صفحاتك من منظور المستخدم.وينقسم إلى إحصائيات لكل طلب HTTP محدد، والوقت الذي يستغرقه، وما إلى ذلك.احصل عليه في http://developer.yahoo.com/yslow/

Firebug، بالطبع، ضروري أيضًا.يمكنك إنشاء ملف تعريف لـ JS الخاص بك بشكل صريح أو في الوقت الفعلي عن طريق الضغط على زر ملف التعريف.إجراء التحسينات عند الضرورة ومعرفة المدة التي تستغرقها جميع وظائفك للتشغيل.أدى هذا إلى تغيير الطريقة التي أقيس بها أداء كود JS الخاص بي. http://getfirebug.com/js.html

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

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

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

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

"على وجه التحديد، لا بد لي من تحديد أداء التطبيق..."

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

  1. وقت الاستجابة العامة، "تحت حمولة ....يجب أن يتمتع الموقع بوقت استجابة عام أقل من x، y% من الوقت..."
  2. أوقات استجابة محددة، "تحت حمولة ....يجب أن تستغرق معالجة بطاقة الائتمان أقل من z ثانية، أي % من الوقت..."
  3. عناصر سعة النظام "تحت حمولة ....وحدة المعالجة المركزية|الشبكة|ذاكرة الوصول العشوائي|القرص يجب ألا تتجاوز n% من السعة...."
  4. ملف تعريف التحميل، وهو مزيج من عدد المستخدمين والمعاملات التي ستتم والتي يتم من خلالها جمع المقاييس المحددة والموضوعية لتحديد أداء النظام.

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

الشيء الذي سيساعدك على فهمك هو قراءة بعض معايير الصناعة فيما يتعلق بالأسلوب والشكل والوظيفة.

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

في اختيار الأداة الخاصة بك، تأكد من حصولك على أداة يمكنها ذلك

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

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

حظ سعيد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top