فعل الشيء الصحيح
التنمية الحديثة لا يمكن أن توجد من دون اختبارات الآلي. يمكن كتابة الاختبارات بسرعة كبيرة حتى من قبل الأشخاص العاديين. وبالتالي ، لدينا اختبارات ، كل شيء كما لو كان جيدا. هل يمكننا الوثوق بمثل هذه الاختبارات؟ ما هي جودة أدوات مراقبة الجودة لدينا؟ دعونا نلقي نظرة على اختبارات Specflow التي يمكن كتابتها بلغة الإنسان.
Feature: SpecFlowFeature In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then the result should be 120 on the screen
يتكون هذا الاختبار من ثلاثة أجزاء قياسية تسمى الإعداد والعمل والتحقق. كل شيء يبدو جيدا. ولكن ماذا يحدث عندما يضيف شخص ما خطوة إضافية إلى هذا الاختبار؟
Feature: SpecFlowFeature In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add And I press memorize Then the result should be 120 on the screen
الحفظ هي عملية شائعة في الحاسبة لكتابة الرقم الحالي في الذاكرة. إذا أجرينا هذا الاختبار ، فسيظل اللون الأخضر. هذا ليس اختبارًا جيدًا الآن ، لأنه لا أحد يفحص كيف تؤثر خطوة جديدة في الاختبار على النظام بأكمله.
قد يظهر هذا النوع من الاختبار كنتيجة لكثير من إعادة البناء أو تغييرات كبيرة في الشروط المرجعية. هذا يعني أنه سيكون لدينا جميع الاختبارات باللون الأخضر ، لكنها لا تتحقق من أداء النظام جيدًا. يمكن إصلاح الاختبار المذكور أعلاه بطريقتين: حذف هذه الخطوة المضافة "وأنا اضغط على حفظ" أو إضافة خطوة أخرى في نهاية الاختبار للتحقق من حالة الذاكرة "ثم القيمة المخزنة في الذاكرة هي 120".
SpecFlowMaster البرنامج المساعد
يتيح لك هذا المكون الإضافي لـ Specflow العثور على مثل هذه الاختبارات وخطوط الاختبارات المشبوهة. كيف يعمل؟ لكل سطر من ميزة Specflow ، فإنه ينشئ اختبارًا خاصًا يقوم بإجراء الاختبار نفسه ، ولكن بدون هذا السطر. إذا أدى تنفيذ الاختبار إلى حدوث خطأ ، فهذا هو السلوك المتوقع وكل شيء على ما يرام هنا. إذا نجح هذا الاختبار ، فسيكون هناك خطأ في سطر الاختبار في هذا الاختبار ، ويحدد النظام هذا الخط على أنه مشبوه. أي الاختبار الجديد الذي تم إنشاؤه سيكون أحمر.
يتم أيضًا فحص الحالات الأكثر تعقيدًا لخطوات الخلفية أو السيناريوهات التي تحتوي على مجموعات بيانات متعددة. بالنسبة للخطوات المسبقة ، ينفذ المكوّن الإضافي جميع الاختبارات من الملف ، ولكن بدون خط الاختبار. بالنسبة للاختبارات التي تحتوي على مجموعات البيانات ، ينشئ المكون الإضافي تنفيذ اختبار لجميع مجموعات البيانات.
الملاحظات الفنية- C # ، VB
- SpecFlow 3.0 أو أعلى
- .NET Framework 4.7.1 أو الأحدث ، .NET Core 2.0 أو الأحدث
ما الذي يعتزم القيام به في المستقبل؟- دعم قبل وبعد السمات
- ملحقات مماثلة لجافا و Node.js
مراجع- يمكن العثور على البرنامج المساعد على جيثب
- إرسال أي ملاحظات إلى arskiev@gmail.com