Cucumber الإطار: ما هو Cucumber?

⚡ ملخص ذكي

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

  • 🥒 التعريف الأساسي: Cucumber هي أداة تطوير تعتمد على السلوك، وتكتب اختبارات بلغة بسيطة يمكن فهمها من قبل أصحاب المصلحة التقنيين وغير التقنيين.
  • 🇧🇷 BDD Foundation: يقوم محللو الأعمال ومالكو المنتجات بوصف سلوك النظام قبل أن يكتب المطورون التعليمات البرمجية، مما يحسن الفهم المشترك.
  • 📝 معطى-عندما-إذن: كل ما Cucumber يتبع السيناريو بنية سهلة القراءة تعتمد على المعطيات والحالات والنتائج، والتي تُستخدم أيضاً كوثائق حية.
  • المزايا الرئيسية: إعداد سريع، وإعادة استخدام الكود، والتركيز على المستخدم النهائي، وسهولة مشاركة أصحاب المصلحة في الأعمال الذين لا يملكون خبرة في البرمجة.
  • 🇧🇷 مقارنة الأدوات: Cucumber هو مجاني ويعتمد على منهجية تطوير البرمجيات القائمة على السلوك (BDD)، بينما برنامج إدارة دورة حياة التطبيقات (ALM) من HP مدفوع الأجر. Selenium يستهدف الاختبار الوظيفي واختبار الأداء.

Cucumber الإطار

ما هي تفاصيل Cucumber?

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

Cucumber الإطار
Cucumber الإطار

كيف يعمل BDD في Cucumber أتمتة؟

لنفترض أنك مكلف بإنشاء وحدة تحويل الأموال في تطبيق الخدمات المصرفية عبر الإنترنت.

توجد طرق متعددة لاختباره في Cucumber إطار الاختبار:

  1. يجب أن يتم تحويل الأموال إذا كان هناك رصيد كافٍ في الحساب المصدر.
  2. يجب أن تتم عملية تحويل الأموال إذا كانت تفاصيل حساب الوجهة صحيحة.
  3. يجب أن تتم عملية تحويل الأموال إذا كانت كلمة مرور المعاملة / رمز RSA / مصادقة الأمان الخاصة بالمعاملة التي أدخلها المستخدم صحيحة.
  4. ينبغي أن تتم عملية تحويل الأموال حتى لو كان يوم عطلة رسمية.
  5. يجب أن يتم تحويل الأموال في تاريخ لاحق يحدده صاحب الحساب.

استخدم سيناريو الاختبار يصبح الأمر أكثر تفصيلاً وتعقيداً عندما نأخذ في الاعتبار ميزات إضافية مثل تحويل مبلغ 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 تطبيقات الكمبيوتر

  1. من المفيد إشراك أصحاب المصلحة في الأعمال الذين لا يستطيعون قراءة التعليمات البرمجية بسهولة.
  2. استخدم Cucumber أداة اختبار يركز على تجربة المستخدم النهائي.
  3. يُتيح أسلوب كتابة الاختبارات إعادة استخدام التعليمات البرمجية بسهولة أكبر في الاختبارات.
  4. إعداد وتنفيذ سريع وسهل.
  5. استخدم 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

الأسئلة الشائعة

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

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

غيركين هي لغة نصية بسيطة Cucumber تُستخدم لكتابة سيناريوهات الاختبار. وهي تتبع بنية "المعطى-عندما-ثم"، مما يجعل الاختبارات قابلة للقراءة لكل من أصحاب المصلحة في الأعمال والمطورين مع الحفاظ على قابليتها للتنفيذ.

Cucumber هي أداة BDD. وهي تركز على سلوك النظام الموصوف من منظور المستخدم، على عكس TDD، الذي يركز على كتابة اختبارات التعليمات البرمجية على مستوى الوحدة قبل تنفيذ كل جزء صغير من الوظائف.

تلخيص هذه التدوينة بـ: