مشاكل الأداء الأمثل في مصفوفة اختبار MBUnit في اختبارات واجهة المستخدم الآلية

StackOverflow https://stackoverflow.com/questions/5353718

سؤال

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

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

يمكننا وضع عبارات if داخل كود الاختبار للتحقق من التوليفات الصحيحة ولكننا لا نرغب في ذلك أيضًا.يلوث كود الاختبار.

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

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

المحلول

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

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

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

مطلوب مزيج من استراتيجيات الاختبار.

نصائح أخرى

قد يكون ui-test-automation-best-ممارسات المقالة مفيدة لك.يحتوي على بعض الأمثلة حول كيفية تحسين أداء أتمتة اختبار واجهة المستخدم عن طريق minimizig عمليات تسجيل الدخول وتغييرات السياق.

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