Table of Contents
تطور من شعبة التنمية المستدامة إلى شعبة التنمية المستدامة
وقد برزت التنمية السلوكية - الدريفنية كتوسيع طبيعي لتنمية الاختبارات من أجل التصدي لتحد مستمر: عدم المساواة بين التنفيذ التقني وأهداف الأعمال التجارية، وفي حين أن هذه التنمية تبرز في ضمان تصحيح الشفرة على مستوى الوحدة، فإنها كثيرا ما تترك فجوة بين ما تفعله المدونة وما يحتاجه أصحاب المصلحة فعلا.
ويُعدّ هذا البرنامج، في جوهره، منهجية سهلة تشجع التعاون بين المطورين ومهندسي الكفاءات وخبراء المصانع ومالكي المنتجات، ويستخدم أيضاً أسلوباً متبادلاً للغة يُعدّل حسب سيناريوهات تشيركين، بحيث يمكن لجميع الأطراف أن تقرأ وتتفهم ذلك، ويقلل هذا الفهم المشترك من الغموض ويكفل بناء كل سمة بمعايير واضحة وقبولية، لا تُعدّد فيها التغذية المرتدة على أساس صلب من المعايير.
Understanding TDD and BDD
الاختبار - تطور الـ ديريفن يتبع دورة بسيطة ومتخصصة: red] (يكتبون اختباراً للفشل) ]green (يعملون عادة بطاقة الاختبار مع الحد الأدنى من الرموز) و) تصميمات غير مرئية
ويقترض تطوير السلوك - الدريفن نفس دورة المفاعلات الحمراء، ولكنه يطبقها على مستوى أعلى من الاختباء، وبدلاً من اختبار طريقة أو درجة، يختبر سداسي البروم ثنائي البنزين قصة سمية أو قصة مستخدمين، وتُعبَّر المواصفات بلغة عادية باستخدام صيغة Given-When-Then:
- Given] some initial context (preconditions)
- When] an action occurs (trigger)
- Then] ensure certain outcomes (expected behavior)
وتخزن هذه السيناريوهات المتعلقة باللغات الطبيعية في ملفات خاصة ويمكن أن تكون مؤتمتة باستخدام أطر BDD مثل كوشومبر (روبي، جافا، جافا، جاكريبت)، وبيف (بيتون)، أو سبيكفلو (NET)، أو يهف (جافا)، وتحوّل خطوة التشغيل الآلي السيناريوهات إلى اختبارات قابلة للتنفيذ تؤدي إلى التنمية بنفس الطريقة التي تؤدي بها اختبارات وحدة تطوير تكنولوجيا المعلومات والاتصالات.
تنفيذ وثيقة تصميم المشاريع كموسّع لبرنامج تطوير التجارة والتنمية
ولا يعني إدماج مسائل التصحر وتدهور الأراضي والجفاف في تدفق العمل الحالي في إطار التنمية الاقتصادية أن تتخلى عن اختبارات الوحدة، بل يضيف طبقة خارجية من الاختبارات على مستوى القبول التي تحقق من نهاية النظام مقارنة بمتطلبات الأعمال التجارية، ويمكن تقسيم التنفيذ إلى أربع مراحل متكررة.
1 - تحديد سيناريوهات واضحة ومهيأة
الخطوة الأولى هي ترجمة قصص المستخدمين إلى سيناريوهات Gherkin . A BDD scenario should describe one specific behavior in a brief, unambiguous way. For example, a login feature might include:
Scenario: Successful login with valid accreditation
] Given the user is on the login page
] when the user enters a valid username and pass word
then the user is redirected to the dashboard
and a welcome message is displayed
ويصبح كل سيناريو اختبارا آليا، ومن المهم إبقاء السيناريوهات قصيرة ومركزة؛ وينبغي أن تُقسم السلوكيات المعقدة إلى سيناريوهات متعددة، يمثل كل منها قاعدة أو تغييرا متميزا.
2 - التعاون مع أصحاب المصلحة
وعلى عكس ما كتبه المطورون التقليديون، فإن سيناريوهات سداسي البروم ثنائي البنزين قد أنشئت بصورة تعاونية، وأثناء ثلاث أميغاتوس ]، يمكن أن تشمل دورات مطوراً، ومختبراً، ومالك منتج، ويكتب الفريق سيناريوهات تلتقط سلوكيات في العالم الحقيقي، وتكشف هذه الممارسة عن الافتراضات الخفية وتضمن موافقة الفريق على ما يعنيه " المصاحب " قبل أن يُصُ.
3 - سيناريوهات التشغيل الآلي مع أدوات إدارة المباني
وبعد كتابة السيناريوهات والموافقة عليها، يتم وضعها آليا باستخدام إطار BDD.() وكل خطوة من خطوات غركين (Given/When/Then) تُرسم على وظيفة رمزية تُدعى ] .
@Given(“the user is on the login page”)
public void userOnLoginPage() {
driver.get(“https://example.com/login”);
}
وتتفاعل تعاريف الخطوات مع النظام قيد الاختبار في كثير من الأحيان عن طريق جهاز على شبكة الإنترنت لإجراء اختبارات على مستوى الخدمات، أو عن طريق نظام تقييم الأداء يتطلب إجراء اختبارات على مستوى الخدمة، ويدير إطار عمل إدارة الأعمال السيناريوهات بنفس الطريقة التي يقوم بها مهربو خدمات التنمية بإجراء اختبارات للوحدة، مع وضع كل خطوة على النحو الذي تم إقراره أو فشله، ويعطي تشغيل هذه السيناريوهات كجزء من خط الأنابيب تعليقات فورية عما إذا كان آخر مدونة لا يزال يفي السلوك المتفق عليه.
4 - وضع مدونة للمرضى من كلا الملايين
ومع وضع السيناريوهات آلياً، يباشر المطورون عملية تطوير تكنولوجيا المعلومات على مستوى الوحدة، ويكتبون اختبارات الوحدة للمنطق الداخلي ويستخدمون اختبارات قبول الـ BDD كبوابة مرور/خداع نهائية.
- (أ) البدء بتنفيذ سيناريو سداسي كلور البنزين (سيفشل ذلك لأنه لا يوجد تنفيذ).
- :: إجراء اختبار للوحدة لأصغر قطعة من الوظائف المطلوبة (الحمراء من أجل التنمية).
- :: كتابة مدونة تنفيذ لإختبار الوحدة (TDD green).
- راجع الرمز بينما تبقي على الوحدة و اختبارات القبول خضراء
- أكرر حتى ينتهي سيناريو الـ "بي دي"
ويكفل هذا النهج المزدوج المطبق التحقق المستمر من صحة كل من الصلاحية الداخلية (التي تتميز باختبارات الوحدة) والسلوك الخارجي (التي تحققها سيناريوهات الخفض المعتمد للانبعاثات)().
فوائد الجمع بين وثيقة التنمية المستدامة واتفاقية التنمية المستدامة
ويحقق التآزر بين إدارة الأعمال التجارية والتنمية عدة مزايا ملموسة من شأنها تحسين نوعية البرامجيات وكفاءة الأفرقة.
تعزيز الاتصالات والتفاهم المشترك
ويخلق استخدام المصرف للغة متماثلة مصدراً واحداً للحقيقة يمكن للمطورين والوصيين وأصحاب المصلحة في قطاع الأعمال أن يفسروا جميع المتطلبات التي لم تعد عالقة في وثائق ثابتة أو مدفونة في خيوط بريد إلكتروني، بل إنها تعيش في ملفات خاصة خاضعة للمراقبة بواسطة النسخ تتطور مع المدونة، وهذه الشفافية تقلل من خطر وجود سمات بناء لا تضاهي احتياجات المستعملين.
برامجيات عالية الجودة متوافقة مع أهداف الأعمال التجارية
ونظراً لأن سيناريوهات الخفض والتدهور الناجم عن القيمة التجارية الحقيقية، فإن الاختبارات تحقق مباشرة من أن البرمجيات تحقق النتائج المتوقعة، وتقترن مع شبكة الأمان من اختبارات وحدة تطوير التجارة والتنمية، تحقق الأفرقة تغطية شاملة: إذ تختبر الوحدة تراجعاً في المنطق المنخفض المستوى، بينما تلتقط اختبارات التراكم البيولوجي تراجعاً في سلوك المستخدم، وتلحق هذه التغطية المزدوجة عيوب من شأنها أن تفلت من الإنتاج.
الكشف المبكر عن حالات سوء السلوك
إن السيناريوهات الكتابية التي تُعرض على التنفيذ تدفع الفريق إلى التفكير بعمق في قضايا الحواف ومعايير القبول، ويظهر سوء الفهم خلال الدورات الثلاث المتعلقة بالآفات بدلاً من أثناء استعراض الشفرة أو الإفراج بعد ذلك، وهذا النهج الذي يُحدث تحولاً كبيراً في تكلفة إصلاح الأخطاء.
الوثائق الحية التي لا تُعدّ أبداً
ويستخدم سيناريوهات الخفض التدريجي الآلي في شكل وثائق قابلة للتنفيذ، ويمكن لأعضاء الفريق الجدد قراءة ملفات السمات لفهم ما يفعله النظام دون أن يلوي من خلال صفحات الشعر المستعارة القديمة، وبما أن السيناريوهات تجري بكل بنائها، فإنها تستكمل دائما، وإذا انكسر السيناريو، فإن الوثائق تعكس التغيير على الفور.
تحسين الأولويات في مجال الاختبار
وتركز سيناريوهات الخفض والرأسمال على تدفقات الأعمال ذات القيمة العالية، التي تصبح بطبيعة الحال معايير قبول قصص المستخدمين، ويمكن أن تعطي الأفرقة الأولوية لهذه الاختبارات على اختبارات الوحدة المنخفضة المستوى عند تحديد الاختبارات التي ستجرى في خط تكامل مستمر، ويتم التحقق دائما من الرحلات التجارية الحرجة أولا.
التحديات وأفضل الممارسات
ولا يُذكر أن اعتماد وثيقة تصميم المشاريع كمدٍّ للتطوير من أجل التنمية ليس بدون ثغرات، فالوعي بالتحديات المشتركة واعتماد أفضل الممارسات على نحو استباقي يمكن أن يساعد الأفرقة على البقاء على المسار الصحيح.
إبقاء السيناريوهات واضحة ومتماسكة
ومن المسائل المتكررة Scenario bloat] - ملفات خامّة جداً أو تحتوي على وصف خطي ضعيف، وعندما تصبح السيناريوهات غير صحيحة أو غامضة، فإنها تفقد قيمتها كأدوات اتصال.
- استخدام أقسام المعلومات الأساسية لتجنب تكرار خطوات إنشاء مشتركة.
- ويوجز سيناريو النجاح بالجدولين النموذجيين لاختبار نقاط البيانات المتعددة.
- Keep the ]Given] and ]When steps focused on actions, not implementation details.
- إجراء استعراضات منتظمة لملفات المعلومات من قبل الفريق بأكمله.
الحفاظ على سينك بين سبيك والرمز
ومع تطور قاعدة البيانات، يمكن أن تسقط السيناريوهات من تاريخ تغير التعاريف أو تغير عناصر اليورانيوم، وبدون الصيانة الفعلية، تصبح جناح BDD الآلي غير موثوق به، وذلك لمواجهة ذلك:
- معالجة ملفات المميزات كرمز: استعراضها في طلبات سحب، إعادة تصنيعها إلى جانب الرمز، وإدارة لها في CI.
- استخدام نماذج الجسم أو طبقات الجسم الخدمة لعزل تعاريف الخطوة من التغييرات في استخدام الترددات.
- (ب) وضع سياسة تحجب إطلاق سراح سيناريو الفشل في سدّ الانبعاثات الناجمة عن إزالة الغابات وتدهورها إلى أن يتم حل المسألة أو يجري تحديث السيناريو بحيث يعكس تغييراً متعمداً.
الموازنة بين الاختبارات والاختبارات
(ج) الأفرقة الجديدة إلى إدارة المباني التي تُجرى أحياناً عمليات استثمار زائدة في كتابة مئات السيناريوهات، وإهمال اختبارات الوحدة، مما يؤدي إلى بطء إجراءات الاختبار التي تكون متسرعة ومن الصعب التخلص منها، وينبغي أن يتبع التوازن مفهوم ] الاختبارات الهرمية : العديد من الاختبارات السريعة والمعزولة في القاع، وقلة اختبارات التكامل في السيناريو المتوسط، وعدد صغير من سيناريو التدفق النهائي
التدريب الجماعي والمواءمة اللغوية
ويتطلب هذا التحول الثقافي: يجب على المطورين أن يكتبوا تعاريف خطية بلغة يمكن لأصحاب المصلحة غير التقنيين قراءتها، ويجب على أصحاب المنتجات أن يتعلموا التعبير عن متطلبات الشكل الأول/التاريخ، والمقاومة الأولية شائعة، ويساعد الاستثمار في الدورات التدريبية، والجمع، وتقديم النماذج، الفريق على اعتماد هذه الممارسة، ويعزز بانتظام أصحاب المصلحة في خفض السيناريوهات الآلية القيمة ويبقي الجميع منخرطين فيها.
اختيار الأدوات والإطار
اختر إطار عمل للديوكسينات البيرفلورية الذي يدمج جيداً مع خط الأنابيب التقنية و CI، على سبيل المثال:
- Cucumber] (Java, Ruby, JavaScript, Kotlin)
- Behave] (Python)
- SpecFlow] (NET)
- cucumber-js] (Node.js)
وتوفر هذه الأدوات المترشحين، والإبلاغ، والتكامل مع أطر الاختبار الشعبي، وتقيم الدعم المجتمعي، والوثائق، وقدرتها على إعداد تقارير قابلة للقراءة لأصحاب المصلحة.
المسابقة العملية: لوجين فيتور مع BDD وTDD
ولتوضيح عملية الإدماج، النظر في سمة لوجستية يجب أن تقبل وثائق التفويض الصحيحة وترفض الباطلة، ويكتب الفريق سيناريوهين بشأن الديوكسينات:
[[FLT:] Scenario: Successful login
] Given the user is on the login page
] when the user submit valid documents
then the user is redirected to the dashboardScenario: UnsuccesTful login
ويتطلب التشغيل الآلي لهذه السيناريوهات تعاريف خطوة تقود واجهة الشبكة العالمية، وفي الوقت نفسه، وعلى مستوى شعبة التنمية، يكتب المطور اختبارات للوحدة من أجل خدمة التوثيق:
- اختبار أن الخدمة تعيد رمزاً لإسم المستخدم/الكلمات السرية الصحيحة.
- اختبار أن الخدمة تعطي استثناء لوثائق التفويض غير الصحيحة.
- اختبار حالات الحدود مثل الاسم الفارغ للمستعملين، محاولات الحقن التي يقوم بها جيش الرب للمقاومة، إلخ.
وتثبت سيناريوهات الخفض التدريجي للعموم من المجموعة الكاملة (قاعدة بيانات موحدة + خدمة + قاعدة بيانات)، بينما تتأكد اختبارات الوحدة من المنطق الأساسي في عزلة، وتجرى كلتا المجموعتين من الاختبارات في خط الأنابيب؛ وتزداد سيناريوهات التراكم البيولوجي بطئاً ولكنها توفر الثقة في أن السمة تعمل من منظور المستخدم.
إدماج قضايا التصحر وتدهور الأراضي والجفاف في اتفاقية مكافحة التصحر/الإيدز
ولكي يكون التراكم البيولوجي امتداداً فعالاً للتطورات الإنمائية، يجب أن يكون جزءاً من عملية البناء والنشر الآلية، وتشمل الأنماط المشتركة ما يلي:
- (ب) تشغيل سيناريوهات الـ (بي دي) في مرحلة مُكرسة بعد مرور اختبارات الوحدة، وهذا يحول دون بطء اختبارات القبول من إعاقة التغذية المرتدة السريعة.
- Use tags to run only the smoke tests (e.g., ] on the critical happy path) on every commit, and run the full regression suite nightly or before release.
- (ج) إعداد تقارير عن استخدام هذا النظام من خلال إدارة الأعمال المتعلقة بالتصحر وتدهور الأراضي والجفاف وجعلها متاحة للفريق بأكمله، وهذه الشفافية تساعد أصحاب المصلحة على رؤية السيناريوهات التي تمر وتفشل في الوقت الحقيقي.
- Incorporate scenario failures into the deployment gating process: if a critical scenario fails, block promotion to the next environment.
Tools like Cucumber Reports for Jenkins or built-in report born-in report electricitys in SpecFlow/Behave integrate well with most CI servers.
خاتمة
ويؤدي تنفيذ تنمية السلوكيات والطرقات كتمديد لتطوير الاختبارات إلى عملية إنمائية تتسم بالدقة التقنية والتركيز على الأعمال التجارية، ويكفل تطوير التصحح والهيكل النظيف على مستوى الوحدة، في حين ينسق بين الفريق المعني بالتصحر وتدهور الأراضي والجفاف والمواصفات القابلة للتنفيذ التي تثبت صحة سلوك العالم الحقيقي، ويقلل هذا التضافر من اللبس المطلوب ويلحق عيوب في مرحلة مبكرة وينتج الوثائق الحية التي تتطور.
ويتطلب الاعتماد الناجح الالتزام بالتعاون، والاستمرار في وضع السيناريو، واستراتيجية اختبار متوازنة، وعندما يتم ذلك على نحو جيد، ينتج برنامج تنمية الأعمال التجارية + تنمية الأعمال الذي لا يعمل بشكل صحيح فحسب، بل يلبي أيضاً احتياجات المستعملين - وهو ينتقل العملية الهندسية من نشاط تقني بحت إلى شراكة بين الأعمال والتكنولوجيا.