Cucumber الإطار: ما هو Cucumber?
⚡ ملخص ذكي
Cucumber هي أداة اختبار تدعم تطوير البرمجيات الموجه بالسلوك، مما يسمح لأي شخص بقراءة الاختبارات بغض النظر عن معرفته التقنية. يشرح هذا المورد كيفية عمل تطوير البرمجيات الموجه بالسلوك من خلال خطوات "المعطيات-عندما-ثم"، ومزاياها. Cucumberوكيف يقارن ذلك بـ Selenium و HP ALM.

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

كيف يعمل BDD في Cucumber أتمتة؟
لنفترض أنك مكلف بإنشاء وحدة تحويل الأموال في تطبيق الخدمات المصرفية عبر الإنترنت.
توجد طرق متعددة لاختباره في Cucumber إطار الاختبار:
- يجب أن يتم تحويل الأموال إذا كان هناك رصيد كافٍ في الحساب المصدر.
- يجب أن تتم عملية تحويل الأموال إذا كانت تفاصيل حساب الوجهة صحيحة.
- يجب أن تتم عملية تحويل الأموال إذا كانت كلمة مرور المعاملة / رمز RSA / مصادقة الأمان الخاصة بالمعاملة التي أدخلها المستخدم صحيحة.
- ينبغي أن تتم عملية تحويل الأموال حتى لو كان يوم عطلة رسمية.
- يجب أن يتم تحويل الأموال في تاريخ لاحق يحدده صاحب الحساب.
استخدم سيناريو الاختبار يصبح الأمر أكثر تفصيلاً وتعقيداً عندما نأخذ في الاعتبار ميزات إضافية مثل تحويل مبلغ X لفترة زمنية قدرها Y أيام/أشهر، وإيقاف التحويل المجدول عندما يصل المبلغ الإجمالي إلى Z، وما إلى ذلك.
يميل المطورون عموماً إلى تطوير الميزات وكتابة كود الاختبار لاحقاً. وكما هو واضح في الحالة المذكورة أعلاه، حالة الاختبار يُعدّ تطوير هذا السيناريو معقدًا، وسيؤجل المطور ذلك. الاختبار إلى حين الإصدار، وعندها سيقومون بإجراء اختبارات سريعة ولكنها غير فعالة.
للتغلب على هذه المشكلة ، Cucumber BDD (التطوير الموجه بالسلوك) تم ابتكارها. إنها تجعل عملية الاختبار بأكملها سهلة للمطور.
In Cucumber BDD، كل ما تكتبه يجب أن يدخل فيه نظرا-متى-ثم خطوات. لنأخذ المثال نفسه أعلاه في BDD:
Given that a fund transfer module in net banking application has been developed And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account Or I shall transfer on a Bank Holiday Or I shall transfer on a future date And destination a/c details are correct And transaction password/RSA code/security authentication for the transaction is correct And press or click send button
Then amount must be transferred And the event will be logged in log file
أليس من السهل كتابته وقراءته وفهمه؟ فهو يغطي جميع حالات الاختبار الممكنة لوحدة تحويل الأموال، ويمكن تعديله بسهولة لاستيعاب المزيد. كما أنه أشبه بكتابة وثائق خاصة بوحدة تحويل الأموال.
مزايا Cucumber تطبيقات الكمبيوتر
- من المفيد إشراك أصحاب المصلحة في الأعمال الذين لا يستطيعون قراءة التعليمات البرمجية بسهولة.
- استخدم Cucumber أداة اختبار يركز على تجربة المستخدم النهائي.
- يُتيح أسلوب كتابة الاختبارات إعادة استخدام التعليمات البرمجية بسهولة أكبر في الاختبارات.
- إعداد وتنفيذ سريع وسهل.
- استخدم Cucumber أداة الاختبار هي أداة فعالة ل تجريب.
Cucumber vs Selenium مقابل ALM
وفي هذا القسم سوف ندرس الفرق بين Cucumber, Selenium، و ALM.
| Cucumber | HP ALM (QTP) | Selenium |
|---|---|---|
| Cucumber البرنامج مجاني. | QTP غالي. | إنه مجاني. |
| Cucumber البرمجيات هي أداة تطوير تعتمد على السلوك. | إنها أداة أتمتة وظيفية. | إنه وظيفي وأدائي (Selenium أداة اختبار الشبكة. |
| الإضافة في Cucumber أداة الاختبار تعمل بشكل أسرع. | تكون الإضافات أبطأ مقارنةً بـ Cucumber و Selenium. | الإضافات أبطأ من Cucumber. |
| Cucumber يدعم هذا الإطار لغات أخرى إلى جانب لغة روبي، مثل Javaسكالا, Groovy، الخ. | QTP يدعم فقط VB Script. | Selenium وتدعم Java، و.نت، والعديد من اللغات الأخرى. |
| كتابة خطوات الأتمتة هي جهد مشترك بين المختبرين والمطورين. | In QTP، يقوم المختبِر فقط بكتابة خطوات الأتمتة. | اعجاب Cucumberكتابة خطوات الأتمتة هي جهد مشترك بين المختبرين والمطورين. |
| استخدم Cucumber أداة الاختبار تدعم بيئة الويب فقط. | يدعم تطبيقات الويب، وتطبيقات سطح المكتب، وأي تطبيق يعمل بنظام العميل والخادم. | يدعم بيئة الويب فقط. |
تحقق أيضا: - UFT vs Selenium: الفرق بين Selenium و HP UFT
