Jubula - خطوة واحدة من الاختبار اليدوي إلى الأتمتة

صورة



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

تم تطوير البرنامج بواسطة BREDEX GmbH وهو مجاني. يشير المطور إلى أن Jubula قادر على اختبار التطبيقات في Swing و SWT / RCP / GEF و JavaFX. لا يحتاج المُختبِر الذي يستخدم Jubula إلى معرفة أيٍّ من لغات البرمجة ، حيث يتم إجراء الاختبار بطريقة الصندوق الأسود ولا يتطلب كود المصدر ، مما يسمح للجميع بأتمتة حالات الاختبار الخاصة بهم بأنفسهم.



يمكن استخدام Jubula كتطبيق مستقل (كما في مشروعنا) أو كمكوِّن إضافي لـ Eclipse ( https://projects.eclipse.org/projects/technology.jubula ).



بعد تثبيت التطبيق ، يصبح كل شيء جاهزًا للاستخدام: يتم تكوين قاعدة بيانات لتخزين المشاريع و AUT-Agent (يوفر اتصال Jubula بالتطبيق قيد الاختبار).



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



صورة



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



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



صورة



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



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



لإنشاء حالة اختبار ، يمكنك ببساطة سحب خطوة من مستعرض حالة الاختبار إلى مساحة العمل حيث تكون مجموعة الاختبار مفتوحة. يمكن دمج عدة خطوات في وحدة نمطية(Refactor - Extract Test Case) ، والتي يمكن استخدامها لاحقًا في حالات اختبار مختلفة. سيؤدي تغيير الوحدة إلى تغيير الخطوات في جميع الاختبارات التي يتم استخدامها فيها ، يجب أن تكون حذرًا في هذا الأمر. إذا كانت الوحدة النمطية مفتوحة في مساحة العمل ، فمن السهل عرض جميع حالات الاختبار حيث يتم استخدامها بالضغط على F7. هناك العديد من مفاتيح الاختصار في Jubula ، والتي يتم تمييزها بشكل ملائم للغاية في سطر منفصل في قسم المساعدة. بالإضافة إلى ذلك ، في " محتويات التعليمات" باستخدام شريط البحث ، يمكنك العثور على معلومات تهم أي وظيفة من وظائف البرنامج (باللغة الإنجليزية).



صورة



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



صورة



يتيح لك Jubula إنشاء خطوات محددة حسب الحاجة . هناك إجراءات executeExternalCommand و invokeExternal (Method) لهذا الغرض. مع البرامج النصية الخاصة بالمساعدة أو ملفات .jar يتم تشغيلها. بدون معرفة JAVA ، لن ينجح إنشاء فرقك الخاصة. في مشروعنا ، كتب مهندس التكوين عدة ملفات كبيرة .jar يصل إليها Jubula عبر .bat ، مكتوبة في executeExternalCommand.



دعنا نفكر في مثال على وحدة تم إنشاؤها في مشروعنا لمقارنة النافذة النشطة بالصورة المخزنة على SVN. أولاً ، يتم حفظ اسم ملف jpg المستقبلي (StoreValue) كمتغير ، في معيار takeScreenshotofActivWindow ، تتم كتابة هذا الاسم والمسار حيث سيتم وضع لقطة الشاشة الجديدة ، ثم في خطوة executeExternalCommand ، يتم تشغيل ملف .bat ، حيث يتم تشغيل الصور التي سنقارن وبعضها معلمات مثل حجم الصورة والحد الأقصى للانحراف المسموح به بالبكسل. من خلال نفس ملف .bat ، يتم تشغيل .jar ، والذي يحتوي على فئات لمقارنة النصوص والصور وملفات pdf و csv. هذا المطبخ الداخلي مطلوب بشكل أساسي فقط من قبل أولئك الذين أنشأوا Jubula لمشروع لأول مرة ، أو أضافوا شيئًا كان ينقصه بشدة. عند إنشاء حالة اختبار ، يأخذ المختبر وحدة جاهزة (منا ، على سبيل المثال ،قارن الصورة) ، يحدد المعلمات ولا يعرف حتى ما هو مكتوب في .bat ، وحتى أكثر من ذلك في .jar.



يمكن لـ Jubula التفاعل مع تطبيقات الطرف الثالث أثناء الاختبار. يقوم تطبيقنا بإنشاء تقارير بتنسيقات PDF و CSV. من خلال التطبيق ، يمكنك فتح تقرير في Adobe Reader ، وسيقوم Jubula بحفظه باستخدام اختصارات لوحة المفاتيح ، وإعطائه اسمًا اختاره المختبِر مسبقًا ، ثم مقارنته بالملف المحفوظ في SVN بالطريقة الموضحة أعلاه من خلال executeExternalCommand.



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



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



يمكنك التأثير على اختيار الخطوة التالية باستخدام If-Then-Else ، وهو مناسب جدًا للإجراءات المتكررة ذات المعلمات المختلفة.



تُعد while-Do أو Do-while Loop مساعدة جيدة إذا كنت بحاجة إلى "التمرير" إلى القيمة المطلوبة [اضغط على "لأسفل" حتى تظهر القيمة "5" أو العكس ، حتى تساوي القيمة "5" ، اضغط على "لأسفل"].



صورة



بطبيعة الحال ، تتمتع Jubula بالقدرة على الجري ليلاً للاستمتاع بالعلامات الخضراء أمام اختباراتك في الصباح.



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



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



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



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



All Articles