ما هي أفضل أداة اختبار للتطبيقات المستندة إلى Swing؟[مغلق]

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

  •  09-06-2019
  •  | 
  •  

سؤال

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

ما هي أداة اختبار الوحدة المفضلة لديك لاختبار تطبيقات Swing؟لماذا تعجبك؟

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

المحلول

من جانبنا، نستخدم لاختبار SWING GUI مع مهرجان.هذا محول على الروبوت المتأرجح الكلاسيكي، ولكنه يسهل استخدامه بشكل كبير.

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

نصائح أخرى

إذا كان التطبيق المستهدف لديك مكونات مخصصة, ، أود أن أوصي بالتأكيد ماراثون لأتمتة الاختبارات الخاصة بك.

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

لقد كان فقط أداة اختبار تمكنت من أتمتة مكوناتنا المخصصة بنجاح؛حيث الاختبار الوظيفي العقلاني لشركة IBM، وشريك الاختبار Microfocus، واختبار QF، وAbbot & FEST فشل.

لقد تمكنت منذ ذلك الحين من دمج الاختبارات بنجاح مع نظام تثبيت السرعة بحيث يتم تشغيلها عند إكمال كل إصدار من التطبيق.

كلمة تحذير على الرغم من:
1) إنه خشن إلى حد ما حول الحواف في طريقة تعامله مع JTables.لقد تمكنت من التغلب على هذا عن طريق كتابة فئة الوكيل الخاصة بي لهم.
2) لا يدعم تسجيل/إعادة تشغيل إجراءات السحب والإفلات حتى الآن.

خذ بعين الاعتبار ماراثون (http://www.marathontesting.com/Home.html)--الاختبارات مكتوبة بلغة Jython، لذلك من السهل كتابة أي نوع من المسندات بناءً على حالة الكائن.

لقد أتيحت لي الفرصة للعب مع QF-TEST مرة واحدة.إنه تجاري، لكنه يقدم الكثير من الوظائف.ربما لديك نظرة عليه: http://www.qftest.de/en/index.html

يمكنك محاولة الاستخدام خيار و مقلاع لكتابة اختبارات القبول الوظيفية باللغة الإنجليزية البسيطة لتطبيقات Swing GUI.يستخدم Swinger Netbeans جيمي مكتبة تحت غطاء محرك السيارة لقيادة التطبيق.

يتيح لك الخيار كتابة اختبارات مثل هذا:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

تفقد هذا عرض فيديو مقلاع لرؤيتها في العمل.

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

إنها باهظة الثمن، لكنني أعتقد أنها ستؤتي ثمارها في غضون شهرين.

قبل QFTest حاولت:

1) Automatedqa - أداة جيدة، ولكن النوافذ مركزية ولا تفهم التأرجح.مشابهة لـ اختبار سريع برو.

2)UISpec4J - بعد تخصيص 50 ساعة أسبوعيًا لهذا الأمر، واجهت مشكلات تتعلق بالهشاشة وكود Java الغامض الذي أنتجته.كان استخدامه أمرًا شاقًا للغاية - فمحاولة تصحيح/تحديث مئات أسطر جافا التي تؤدي سلسلة من عشرات عمليات واجهة المستخدم الرسومية لم تنجح في ذهني.وانتهى بي الأمر بتجنب كتابة الاختبارات لأنها أكثر تعقيدًا من كتابة التطبيق نفسه!

حاول باوندر : http://pounder.sourceforge.net/

أنا أحب جيمي، المكتبة المكتوبة لاختبار Netbeans.

ليست إجابة، بل تنقيح.

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

في نوع إعداد BDD/TDD/ATDD، تحتاج حقًا إلى نوع من الأدوات التي تسمح لك بكتابة اختبارات البرامج النصية للتعليمات البرمجية التي لم تتم كتابتها بعد، مع تحديد أسماء عناصر واجهة المستخدم وما شابه.

هل هناك أدوات صالحة للاختبار غير الشلالي؟

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